大数据平台的搭建(hadoop平台搭建教程)
大数据分析主要由两种应用场景组成,一种是对实时性要求较高的业务,比如商家端交易数据的实时展示。另一种则是离线业务场景,其特点是对于数据产出没有很高的实时性要求,一般数据产出时间为T -1日(T日产出T-1日的数据)。
这两种数据分析平台在底层的实现有着很大的差异,下面我来介绍如何搭建这两种大数据分析平台:
实时数据分析平台(Kafka + Flink + Druid)
实时数据分析的最原始数据来自于线上,线上用户使用公司的软件或者网站时,其不同的操作行为都会产生相应的用户数据。这些数据一般会存储在关系型数据库中,比如Mysql。通过监听其操作日志(二进制日志)的变更记录,可以实时将其输入到Kafka消息中间件暂缓下来,便于后面数据的实时分析。

Kafka是一种消息中间件,消息中间件可以缓存线上实时产生的业务数据,当有其他任务消费Kafka数据时,可以实时的从Kafka中进行数据拉取。实时大数据分析平台,第一步就是需要将线上业务数据实时存储下来,将数据缓存到Kafka后,就可以使用Flink进行数据的加工处理了。

Apache Flink是一种实时计算引擎,一般在Kafka消息中间件的线上数据到达后,由于K数据还是是偏于原始业务数据,我们还需要对其进行业务逻辑加工。使用Flink实时消费Kafka中的数据,实时处理,最终得到业务想要分析的明细数据,在进行数据分析。目前在国内互联网公司中,阿里巴巴对于Flink的使用应该是最广的。
Flink 处理完的明细数据,可以再次输出到Kafka消息中间件中,供其他大数据组件分析使用。目前应用较广的大数据OLAP(实时在线分析服务)组件是Druid,Druid可以用于实时分析,也可以进行离线分析,它需要通过预聚合指标数据。它使用的实时数据需要从Kafka导入到Druid后,才能进行分析使用。
离线数据分析平台(Flume+Hadoop + Hive 或者Flume+Hadoop + Spark)

离线数据分析平台,第一步需要将业务数据从数据库中导入到Hadoop HDFS分布式文件系统进行存储,可以创建Flume任务将数据导入到HDFS。第二步,你可以使用Hadoop MapReduce分布式计算框架或者Spark计算框架来对数据进行处理,得到我们需要分析的业务指标。
Hive或者Spark SQL更多的是给数据开发同学使用,数据开发同学使用SQL来开发分布式计算任务,由于SQL语言的广泛使用性,大部分同学都能很快上手使用,对于数据开发同学,降低其开发成本。
总结
总体来说,实时大数据分析平台可以使用 Kafka+Flink+Druid 架构来进行搭建,离线大数据平台可以采用 Flume+Hadoop + Hive 或者 Flume+Hadoop + Spark 架构来进行搭建,当然,还有很多其他大数据组件能够使用,选择适合自己公司业务场景大数据组件,才是最好的。
我是Lake,专注大数据技术、互联网科技见解分享,如果我的问答对你有帮助的话,希望你能够点赞转发或者关注我,你的一个小小的鼓励,就是我持续分享的动力,非感谢。
企业要搭建大数据分析平台,也就一个BI商业智能的事。现在BI商业智能发展越来越成熟,一些累积大量BI大数据分析项目经验的厂商甚至都总结出一系列的标准化数据解决方案,预设数据分析模型,无缝对接金蝶、用友等主流ERP。用户企业仅需做必要个性化设计,针对业务来源系统修改部分ETL脚本,就能快速、轻松地搭建起大数据分析平台。
奥威软件的数据分析解决方案已覆盖包括零售连锁、制造业等在内的多个行业,具有周期短、风险低的优点,而金蝶、用友标准解决方案甚至能实现零开发。
| 留言与评论(共有 0 条评论) |
