大数据开发,并不仅仅只是一两个组件的简单堆砌,而是需要按照实际的数据量、数据种类以及实际业务的需要进行大量的调优和二次开发,构成一个有机的整体,这样才能保证大数据平台的正常高效的运行。
一. 以下是一个大数据平台的基本组成图:
1. 硬件环境:
1) X86架构廉价服务器集群:hadoop技术栈是架构在这种服务器上的,所以价格低,横向可扩展性强。
2) GPU服务器集群:如果需要用到机器学习算法,可能使用GPU服务器集群。
2. ETL:对各种类型的数据采集与清洗,跟据不同的数据类型选择不同的组件或者数据采集方法,比如用Python编写采集或清洗数据。
3. 数据存储:将采集清洗或处理好的数据存储在大数据存储器中。
4. 数据计算:
1) 实时计算:对亿条流数据实时进行计算。比如志管理、消息队列等。
2) 离线计算:对海量数据进行计算,特点是:数据量巨大,维度多。
5. 数据分析:对处理好的数据进行交互式分析,主要是用SQL语言进行数据的分析。
6. 资源管理:对资源进行调度和管理,其中包括:内存、CPU、存储等资源。
7. 数据管理:对数据进行安全、质量、权限等的管理以及工作流的管理和元数据治理。
8. 运维监控:对hadoop集群、生态圈组件进行运维、管理和监控。
二.大数据开发应具备的基本技能:
- 精通java、python、scala开发
- 精通linux使用
- 精通SQL开发
- 具有开源代码的阅读能力
- 熟悉各种组件的使用