经过大数据的收集和整理后,就可以选用适当的大数据分析算法进行处理了,目前大数据主要的处理模式可以分为流处理和批处理两种,其中批处理是先存储后处理,而流处理则是直接处理。
流处理一般使用的大数据技术是基于hadoop的hbase和spark,其处理过程需要解决数据快速的插入和查询操作,并使用相应的算法进行及时的快速处理,这部分内容比较复杂,在当前的大数据应用也不是很广泛,将在后续的内容中介绍,此处仅介绍批处理的方式,也是大数据技术发展得较为完善的内容,也给大数据的商业应用带来了真实的商业价值。
基于hadoop的批处理过程,一般做法是先把清洗好的数据存放到hdfs上,然后根据数据和应用选择或者编写相应的大数据分析算法进行分析。这些大数据分析算法有两种办法获取:最常用的获取途径是直接使用hadoop框架的mahout软件,该软件实现了数据挖掘的分类、聚类和主题推荐等常用的大数据分布式挖掘算法。其中分类算法主要包括朴素贝叶斯算法(new bayes)、随机森林算法、logstic算法(SGD)和隐马尔科夫模型(HMM)等算法; 聚类算法主要包括K-means(通用的大数据聚类算法)、Canopy(经常用来推断k-means类中的k值)、模糊K-means聚类和狄利克雷聚类等算法;主题推荐算法主要包括基于物品的协同过滤算法和ALS-WR并行算法等推荐算法。不同的大数据分布式挖掘算法有不同的适用范围,其具体细节也是大数据分析师必须掌握的,这些内容在人大经济论坛的大数据分析师课程中将以案例的形式进行介绍,也是整个课程内容的重点,而学习这些和使用SPSS统计软件进行数据分析一样容易,不需要太多的编程知识。
还有一种办法是由大数据分析师开发的基于hadoop框架的mapreduce大数据分析算法。由于不同的行业应用,其业务逻辑会存在差异,这就需要编写相应的大数据分析算法来解决,当然这需要一定的编程经验。为了使大数据更为方便地推广,hadoop在设计mapreduce编程模式时,特意为基于mapreduce程序设计过程编写了一套通用的模型,就象印制某种图案的模器那样,只需要往里面填入需要的内容,就可以实现mapreduce大数据算法开发,极大地降低了大数据开发的门槛,也使得hadoop受到广大的大数据分析人员的欢迎,这也是hadoop能在全球范围内迅速扩展的原因之一。
一般来讲,编写mapreduce大数据分析算法都是在数据整理的过程中需要,而得出最终的大数据分析结果,一般使用常用的mahout大数据分析算法来解决就可以了,因此作为一个优秀的大数据分析师,应把学习的重点放在业务逻辑的关注上,其次就是对mahout大数据分析算法的掌握,最后才是基于mapreudce编程思想的大数据分析算法设计,这个是也人大经济论坛大数据分析课程培训的主要思路。
CDA数据研究院
大数据中心