一张图解释清楚大数据技术架构,可谓阿里的核心机密
作者头像
  • 宝强哥
  • 2021-05-20 17:31:13 12

大数据平台架构及核心技术解析

首先,让我们了解一下大数据平台的整体架构。大多数公司的架构设计都大致相同,主要包含以下几个核心层次:数据采集、数据存储与分析、数据共享以及数据应用。

一、数据采集

数据采集的任务是从不同的数据源收集并存储数据,过程中可能需要进行简单的数据清洗。常见的数据源包括:

  • 网站日志:在互联网行业中占据重要地位,通常存储在多台服务器上,每台服务器部署Flume代理,实时收集日志并存入HDFS。

  • 业务数据库:包括多种类型,如MySQL、Oracle、SQL Server等。为了高效地将这些数据库中的数据同步到HDFS,可以使用淘宝开源的DataX工具。此外,Flume也可以配置和开发来实现实时数据同步。

  • FTP/HTTP数据源:一些合作伙伴提供的数据可以通过FTP或HTTP定期获取,DataX同样适用于此类场景。

  • 其他数据源:例如手工录入的数据,只需提供一个接口或小程序即可实现数据采集。

二、数据存储与分析

在大数据环境中,HDFS是最理想的存储解决方案。离线数据分析方面,Hive因其丰富的数据类型、内置函数、高效的ORC文件存储格式以及便捷的SQL支持而成为首选。Hive能够用一句SQL完成原本需要数百行代码才能完成的工作。

当然,Hadoop框架自带的MapReduce接口也可以使用,但Spark凭借其出色的性能和与Hive、Yarn的良好集成,成为了另一种高效的数据分析工具。Spark的应用相对简单,无需单独部署集群。

三、数据共享

数据共享指的是将分析后的结果存储在一个地方,以便不同业务和产品可以方便地获取数据。这通常涉及到从HDFS同步数据到其他数据源的过程,DataX依然是一个不错的选择。实时计算的结果可以直接写入共享区域。

四、数据应用

数据在业务产品、报表、即席查询、OLAP以及其他数据接口中的应用各有特点:

  • 业务产品:如CRM、ERP等系统,直接从数据共享层获取所需数据。

  • 报表:如FineReport,报表中的数据通常已经过统计汇总,存储于数据共享层。

  • 即席查询:面向数据开发人员、运营人员、分析师等,他们需要直接从数据存储层查询数据。SparkSQL因其快速的响应速度而被广泛采用。

  • OLAP:许多OLAP工具难以直接从HDFS获取数据,需将数据同步到关系型数据库中。若数据量巨大,则需要专门开发接口从HDFS或HBase获取数据。

  • 其他数据接口:包括通用接口和定制接口,如从Redis中获取用户属性的接口。

五、实时计算

随着业务对数据实时性的需求增加,实时计算变得越来越重要。例如,实时了解网站流量、广告效果等。传统的数据库和方法难以应对海量数据,因此需要分布式、高吞吐量、低延迟、高可靠性的实时计算框架。虽然Storm较为成熟,但考虑到复杂度和性能,我们选择了Spark Streaming,它具有更低的延迟和更简单的部署方式。当前,我们已经实现了网站流量和广告效果的实时统计,具体过程是通过Flume收集日志并实时传输给Spark Streaming,再将数据存储到Redis,供业务系统实时访问。

六、任务调度与监控

在大数据平台中,各种任务和流程需要定时调度和管理,包括数据采集、数据同步和数据分析等。这些任务之间存在复杂的依赖关系,例如,数据分析必须等待数据采集完成后才能开始。因此,需要一个完善的任务调度与监控系统来协调和监督所有任务的执行情况。

    本文来源:图灵汇
责任编辑: : 宝强哥
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
阿里机密架构可谓清楚核心解释数据技术
    下一篇