|
|
大数据平台的搭建步骤:' q$ {% A% E5 J( }$ i( k
* \0 t/ o0 H4 N* p: S+ E1、linux系统安装: [5 V5 `. O. k3 p
一般使用开源版的Redhat系统--CentOS作为底层平台。为了提供稳定的硬件基础,在给硬盘做RAID和挂载数据存储节点的时,需要按情况配置。+ J! b5 D4 a+ Y9 P( ^
2、分布式计算平台/组件安装
6 G" h9 z$ H! B国内外的分布式系统的大多使用的是Hadoop系列开源系统。Hadoop的核心是HDFS,一个分布式的文件系统。在其基础上常用的组件有Yarn、Zookeeper、Hive、Hbase、Sqoop、Impala、ElasticSearch、Spark等 a! _% k1 p2 Q/ W
使用开源组件的优点:1)使用者众多,很多bug可以在网上找的答案(这往往是开发中最耗时的地方)。2)开源组件一般免费,学习和维护相对方便。3)开源组件一般会持续更新,提供必要的更新服务『当然还需要手动做更新操作』。4)因为代码开源,若出bug可自由对源码作修改维护。3 _# T* V+ A, t# ?/ Y- `
3、数据导入2 Y5 @' T. ^# ^8 D
数据导入的工具是Sqoop。用它可以将数据从文件或者传统数据库导入到分布式平台『一般主要导入到Hive,也可将数据导入到Hbase』。: u% t0 {9 V8 D7 y6 c- g1 Y( F
4、数据分析4 h3 t: V* q& P( C1 A; z, u
数据分析一般包括两个阶段:数据预处理和数据建模分析。
* d4 B% g$ s' q数据预处理是为后面的建模分析做准备,主要工作时从海量数据中提取可用特征,建立大宽表。这个过程可能会用到Hive SQL,Spark QL和Impala。
; C w: C# B4 E9 }5 w; T数据建模分析是针对预处理提取的特征/数据建模,得到想要的结果。这一块最好用的是Spark。常用的机器学习算法,如朴素贝叶斯、逻辑回归、决策树、神经网络、TFIDF、协同过滤等,都已经在ML lib里面,调用比较方便。
5 t, a, p& t3 E0 ]- J3 C& y5、结果可视化及输出API0 e8 I5 `1 D3 ^& p0 M
可视化一般式对结果或部分原始数据做展示。一般有两种情况,行数据展示,和列查找展示。要基于大数据平台做展示,会需要用到ElasticSearch和Hbase。Hbase提供快速『ms级别』的行查找。 ElasticSearch可以实现列索引,提供快速列查找。 |
|