一文详解被阿里腾讯视作核心机密的大数据平台架构

如果我们能够将整体分解成多个部分,从宏观和整体的角度在企业内部设计和实施一个统一的大数据平台,并引入单个集群、单个存储、统一的服务和统一的安全体系结构,我们就可以帮助企业很好地解决许多问题。

谈到大数据分析平台,我们不得不说Hadoop系统。Hadoop已经有10多年的历史,许多事情都发生了变化,版本从0.x进化到了当前的2.6版本。我将2012年后的时代定义为后Hadoop平台时代。这个NoSQL(不仅不需要Hadoop的SQL,还有其他选项,比如NOSQL。

大数据分析平台

一文详解被阿里腾讯视作核心机密的大数据平台架构

Hadoop :开源数据分析平台解决了大数据的可靠存储和问题(大到一台计算机无法存储,一台计算机无法在所需时间内处理)。适用于处理非结构化数据,包括HDFS、MapReduce基本组件。

一文详解被阿里腾讯视作核心机密的大数据平台架构 一文详解被阿里腾讯视作核心机密的大数据平台架构@

HDFS:跨服务器提供灵活的数据存储系统。

MapReduce:技术为感知数据位置提供了标准化的处理流程:读取数据、映射数据、用某个键值重新排列数据,然后对数据进行缩减以获得最终输出。

亚马逊弹性地图缩减(EMR):在由亚马逊弹性计算云(EC2)和简单存储服务(S3)组成的网络规模基础设施上运行的托管解决方案。如果您需要一次性或不寻常的大数据处理,电子病历可能会为您省钱。然而,电子病历是高度优化的,以处理S3的数据,并将有很高的延迟。Hadoop还包括一系列技术的扩展系统,包括Sqoop、水槽、蜂箱、猪、马胡特、数据图、色调等。

我不会在这里列出所有的。有很多。那些感兴趣的人可以和我私下讨论。

大数据平台架构

大数据计算通过将可执行代码分发到大规模服务器集群来处理大规模数据来进行分布式计算,所谓的移动计算比移动数据更具成本效益。然而,这种计算方法肯定不会很快。即使是对小规模数据集的简单计算,也可能需要几分钟的映射减少、更快的火花点燃以及至少几秒钟的时间。

网站需要毫秒级的响应来处理用户的请求,也就是说,要在1秒内完成计算,大数据计算一定不能满足这样的响应要求。然而,网站应用需要使用大数据来实现统计分析、数据挖掘、关联推荐、用户肖像等一系列功能。

因此,网站需要建立一个大数据平台来整合网站应用程序和大数据系统之间的差异,将应用程序生成的数据导入大数据系统,并导出到应用程序中进行处理和计算后使用。下图显示了一个典型的网站大数据平台架构:

大数据平台可以分为三个部分:

1.数据采集

将应用程序生成的数据和日志同步到大数据系统中。由于数据源不同,这里的数据同步系统实际上是多个相关系统的组合。Sqoop通常用于数据库同步,水槽可以选择用于日志同步,收集的数据经过格式化和转换,然后通过卡夫卡(Kafka)传输。

不同数据源生成的数据质量可能差异大。数据库中的数据可以直接导入大数据系统,而日志和爬网程序生成的数据需要大量清理和转换才能有效使用。因此,数据同步系统实际上承担了传统数据仓库ETL的工作。

2.数据处理

这是大数据存储和计算的核心。数据同步系统导入的数据存储在HDFS。MapReduce、Hive、Spark等计算任务读取HDFS的数据进行计算,然后将计算结果写入HDFS。通过

MapReduce、Hive、Spark等进行计算处理。称为离线计算,HDFS存储的数据称为离线数据。相比之下,用户要求实时计算的数据称为在线数据。这些数据由用户实时生成,实时在线计算,结果数据实时返回给用户。此计算过程中涉及的数据主要是用户请求生成的数据,并且一次需要这些数据。数据规模非常小,可以处理内存中的一个线程上下文。

在线数据与用户交互完成后,数据同步系统将数据导入大数据系统。这些数据是离线数据。对数据的计算通常针对所有数据(在某个方面),例如对所有订单的商品的关联挖掘。此时,数据规模非常大,需要较长的运行时间。这种类型的计算是离线计算。

除了离线计算之外,还有一些数据规模相对较大、处理时间相对较短的场景。例如,淘宝需要计算每秒生成的订单数量,以便监控和推广。这种场景被称为大数据流计算(big data streaming computing),通常是通过流大数据引擎(如暴风和星火蒸汽)来完成的,可以在几秒甚至几毫秒内完成。“3.数据输出与展示”大数据计算产生的数据仍被写入HDFS。应用程序不可能将数据读入HDFS,因此HDFS的数据必须导出到数据库。同步导出数据相对容易,计算生成的数据相对标准,经过少量处理后,可以用Sqoop等系统导出到数据库中。

此时,应用程序可以直接访问数据库中的数据,并实时显示给用户,如显示给用户的相关推荐商品。淘宝卖家如量子魔方产品,数据都是通过大数据计算产生的。

除了为用户提供访问数据之外,大数据还需要为运营和决策层提供各种统计报告。这些数据也被写入数据库,并由相应的后台系统访问。许多操作和管理人员每天一上班就登录后台数据系统,查看前一天的数据报告,看业务是否正常。如果数据是正常的,甚至是上升的,那就容易多了。如果数据下降,焦虑和忙碌的一天将立即开始。

以上三个部分集成到一个任务调度管理系统中。不同的数据何时开始同步,如何合理安排各种MapReduce和Spark任务,最合理地利用资源,等待时间不会太长。临时重要任务可以尽快执行。所有这些都需要由任务调度管理系统来完成。有时,作业提交、进度跟踪、数据查看和其他对分析师和工程师开放的功能也集成到系统中。

对于每个公司的大数据团队来说,这个系统是开发和维护的核心。大数据平台上的其他系统通常有成熟的开源软件可供选择。作业调度管理涉及许多个性化需求,通常需要团队自己开发。

看这里,你知道整个大数据平台架构吗?如果没有,我特别为你挑选了一些知名互联网公司的例子。这幅画有点模糊,理解。

极牛网精选文章《一文详解被阿里腾讯视作核心机密的大数据平台架构》文中所述为作者独立观点,不代表极牛网立场。如若转载请注明出处:https://geeknb.com/3676.html

(37)
打赏 微信公众号 微信公众号 微信小程序 微信小程序
主编的头像主编认证作者
上一篇 2019年10月16日 下午10:45
下一篇 2019年10月17日 上午9:19

相关推荐

发表回复

登录后才能评论
扫码关注
扫码关注
分享本页
返回顶部