目标
- 构建大批量数据的存储集群
- 实现大批量数据的分布式快速查询
- 提供基于大数据的模型离线或者在线分析抽取
实现方案
基于hadoop的大数据平台搭建地址
hadoop的安装目前已经极为简易化,以上地址的安装过程比较古老。
由于hadoop本身的计算机制决定了实时分析不是擅长的长项,对于数据仓库的应用,基于hive基础的Impala 从速度和数据质量方面还是能够比较让人满意的。而Greenplum也可以尝试下。
如果有着在线分析抽取模型的需求,Spark则是一个通用的解决方案,但是在数据质量上可能会有些问题。
以上几种系统hadoop用户大数据存储以及离线模型挖掘(搭配mahout算法库),impala可以基于hadoop提供较为实时的数据统计分析。同时搭建一套Spark集群用于即时模型抽取以及高响应需求的大数据分析。
注意问题
效益产出
大数据集群对于硬件消耗量极大,hadoop集群的硬盘损耗,spark系统的大容量内存需求,都是极为消耗资金。
如果大数据集群的投入无法产出对应的企业效益,不必刻意追求所谓技术的先进性。
计算资源分配与规划
此外,大数据集群如果搭建单一集群不做好虚拟化,很容易发生计算资源争抢,造成相对性的计算机资源不足。而多集群的情况下,固定计算资源的划分也有可能造成计算能力的非充分利用。所以,最好引入虚拟化技术,虽然有着相应的损耗,但是容易进行合适的计算分配反而能够更高的利用计算能力。
开发测试过程管理
搭建大数据集群后开发、测试的过程会相对变的复杂。
第一,大数据平台需要大的数据量,小批量数据往往能够完成功能开发需求,但是保证不了开发的应用质量,在面对超出开发时数量的数据时可能出现操作超时、内存溢出、硬盘IO占用不释放,超长网络传输连接等一系列问题。
第二,达到开发质量保证程度需要相当量的开发条件投入,当然,如果不怕影响生产环境的话也可以直接接入生产环境开发测试,不过这属于胆大妄为。
第三,测试人员对于数据质量的检查可能会无法达到百分之百,由于数据量巨大,有时候编写对应的测试方案甚至都能成为一种高深的技术。