加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 - 核心网 (https://www.hexinwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

大数据平台架构简介

发布时间:2023-01-05 16:04:54 所属栏目:大数据 来源:转载
导读: 本文从大数据的整体架构出发,分层介绍了不同组件的应用场景。可以对大数据的初学者提供一定的参考。以下为集群架构图:

大数据架构图
该架构自下而上分为3层,分别是数据采集层,数据存储

本文从大数据的整体架构出发,分层介绍了不同组件的应用场景。可以对大数据的初学者提供一定的参考。以下为集群架构图:

大数据技术架构_大数据架构技术_大数据可视化 技术架构

大数据架构图

该架构自下而上分为3层,分别是数据采集层,数据存储和处理层,应用层。

下面分层介绍下各层组件的大致用法。

1.数据采集层

数据采集分为了实时采集和批量采集,实时采集主要通过Kafka和Spark Streaming,批量采集则用Datax,Sqoop,Shell和Python脚本完成。

1.1 Datax

目前作为我司主流的批量数据同步工具,主要用于一些逻辑简单的单表数据同步大数据技术架构,如 Oracle->MySQL, Oracle->HDFS,MySQL->MySQL,MySQL->HDFS,HDFS->MySQL等。

这里的HDFS都是直接写入到了Hive表的存储路径。

1.2 Sqoop

部分很老的脚本仍在使用,如MySQL->Hive, Oracle->MySQL等,已经基本弃用。

1.3 Python脚本

部分人在用,用Python脚本做一些MySQL之间和Oracle和MySQL之间的数据同步。

1.4 Shell脚本

主要做一些复杂逻辑的数据同步。

如:同步的数据是多张MySQL表Join获得的,或者同步来的数据要写入到Hive分区表(通常会结合Datax,将批量数据写入临时表,然后查询临时表,处理分区字段写入到分区表内)。

1.5 Kafka+Spark Streaming的实时同步

这部分一般是客户端/服务端的用户行为数据,一部分是用户客户端自己上报(如用户的点击),一部分是Flume采集的服务器日志,发送到Kafka,这类数据一般都是实时的。通过Kafka的MirrorMaker把数据镜像到分析环境的Kafka,我们就可以用Spark Streaming应用程序消费,然后落地到HDFS,Hbase,ES等。

二、数据存储和处理层

这一层主要是数据的存储和处理,常用的组件有Hive,Hbase,Spark, ES等。

2.1 Hive

作为传统的数仓工具,存储着各个渠道同步过来的数据,同时也是业务分析人员常用的分析工具。一般业务数据会通过批量同步工具导入到Hive表,用户行为数据则会通过实时采集存储到HDFS,然后再洗成Hive表。

2.2 Hbase

主要两种用途,第一,作为实时计算的中间数据存储,第二,用于存储一些快照数据。

Hbase可以与Hive集成,可以有效利用HBase数据库的存储特性,如行更新和列索引等来更新Hive表。不过这种集成执行Hive查询效率极低。需要权衡考虑使用。

2.3 Spark

部分离线应用会使用Hive on Spark,把Spark作为Hive的一个计算引擎,将Hive的查询作为Spark的任务提交到Spark集群上进行计算。该方法可以提高Hive查询的性能,同时为已经部署了Hive或者Spark的用户提供了更加灵活的选择。

实时应用则会通过Spark Streaming结合Hbase做一些逻辑计算,然后将实时计算结果传给下游开发人员。

2.4 ES

存储Spark Streaming实时格式化后的数据,主要用于一些客服,运维人员的数据查证。也可以存储APP等的报错数据,用于异常定位。

三、数据应用层

数据应用层主要是各种报表数据支持,分析报告,接口服务,APP数据支持和违规打击等等。

四、最后

这只是一个最常规的大数据架构,一些组件并没有介绍,如负责脚本调度的azkaban,应用协调的zookeeper,集群资源管理的yarn,用于计算的MapReduce,hadoop的图形化截面hue,权限管理的sentry等等。

此外现在比较火的实时数仓也没有涉及(如ClickHouse,Kudu,Flink等等)。

(编辑:拼字网 - 核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!