数据采集模块:负责从各节点上实时采集数据,建议选用Flume-NG来实现。
数据接入模块:由于采集数据的速度和数据处理的速度不一定同步,因此添加一个消息中间件来作为缓冲,建议选用Kafka来实现。
流式计算模块:对采集到的数据进行实时分析,建议选用Storm来实现。
数据输出模块:对分析后的结果持久化,可以使用HDFS、MySQL等。
离线分布式计算引擎:Hadoop MapReduce、Spark
实时计算引擎:Storm、Spark Streaming
分布式存储:HDFS、HBase
大数据开发需要掌握哪些技术?
阶段一:Linux&Hadoop生态体系基础知识、原理
Linux体系、Python编程语言核心用法、Hadoop离线计算原理、分布式数据库Hbase、数据仓库Hive、Flume分布式日志采集、zookeeper全局分布式锁、kafka分布式发布-订阅消息系统、spark分布式计算框架。
阶段二:分布式计算框架和Spark&Strom/flink生态体系
1、分布式计算框架优化与实战
Scala编程语言核心用法、Spark(sql、shell)大数据处理、Spark—Streaming大数据处理、Spark—Mlib机器学习)大数据处理、Spark—Streaming大数据处理、Spark—Mlib机器学习、hive数仓实战、hbase实战。
2、Storm/flink技术架构体系
Storm/flink原理、基础、调优 消息队列kafka、Redis工具、zookeeper详解
阶段三、数据挖掘与机器学习
结巴+隐马尔科夫、维特比算法+userCF、spark实现userCF+itemCF+LR+商品预测、决策树+随机森林+GBDT、支持向量机SVM、神经网络与深度学习、word2vec + lstm、als算法、kmeans + spark应用 + 交叉特征、贝叶斯 + 新闻分类 + saprk应用。