【赵渝强老师】大数据技术的理论基础

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时数仓Hologres,5000CU*H 100GB 3个月
实时计算 Flink 版,5000CU*H 3个月
简介: 本文介绍了大数据平台的核心思想,包括Google的三篇重要论文:Google文件系统(GFS)、MapReduce分布式计算模型和BigTable大表。这些论文奠定了大数据生态圈的技术基础,进而发展出了Hadoop、Spark和Flink等生态系统。文章详细解释了GFS的架构、MapReduce的计算过程以及BigTable的思想和HBase的实现。

b112.png 大数据平台所要解决的问题是数据的存储和数据的计算,其核心思想采用的是分布式集群的思想。另一方面,分布式集群的思想在Google的技术系统中得到了很好的应用。因此Google将其核心技术的思想以论文的形式公开发表出来,这就是“Google的三驾马车”,即:Google的文件系统、MapReduce分布式计算模型和BigTable大表。这三篇论文奠定了大数据生态圈体系中的技术核心,从而有了基于Java的实现框架——Hadoop生态圈体系。进一步发展起来了后续的Spark生态圈体系和Flink生态圈体系。

   

因此,在学习大数据生态圈体系的具体内容之前,有必要对Google的这三篇论文有一个比较清楚的了解,这对于后续进一步掌握大数据平台的生态圈体系非常重要。本小节将为详细介绍这三篇论文的核心思想及其实现原理。

 

视频讲解如下:


一、Google的文件系统

   

Google文件系统GFS,即:Google File System是一个典型的分布式文件系统,也是一个分布式存储的具体实现方式。在日常的工作和生活中所使用的的网盘也是一个典型的分布式文件系统。下图展示了GFS的基本架构。


   

将数据存入一个分布式文件系统中,需要解决两方面的问题:如何存储海量的数据和如何保证数据的安全。如果有了解决的方案,就能够实现一个分布式文件系统来存储大数据,并且保证数据的安全。而解决的方案便是采用分布式集群的方式,即采用多个节点组成一个分布式环境来解决这两个问题,下面分别进行讨论实现的细节,从而引出Hadoop中的分布式文件系统HDFS(Hadoop Distributed File System)的基本架构和实现原理。


二、MapReduce分布式计算模型

   

大数据的存储可以采用分布式文件系统来存储,那么如何解决大数据的计算问题呢?跟大数据存储的思想一样,由于数据量庞大,无法采用单机环境来完成计算任务。既然单机环境无法完成任务,那么就可以采用多台服务器一起执行任务,从而组成一个分布式计算的集群完成大数据的计算任务。基于这样的思想,Google提出了MapReduce分布式计算模型的方式处理大数据。


提示:MapReduce是一种计算模型,它跟具体的编程语言没有关系。

   

Hadoop体系中实现了MapReduce的计算模型。由于Hadoop是采用Java实现的框架,因此开发的MapReduce程序也将是一个Java程序。众所周知,MongoDB也支持MapReduce的计算模式,而MongoDB中的编程语言是JavaScript,所以在MongoDB中开发MapReduce程序需要书写JavaScript代码。

   

MapReduce的核心思想其实就只有6个字,即:先拆分、再合并。通过这样的方式,不管得到的向量矩阵有多大都可以进行计算。拆分的过程叫做Map;而合并的过程叫做Reduce。如下图所示:


   

上图中的示例假设有一个庞大的矩阵要进行计算。由于无法在一台计算机上完成,因此将矩阵进行拆分,首先将其拆分为4个小矩阵,只要拆分到足够小让一台计算机能够完成计算即可。每台计算机计算其中的一个小矩阵得到部分的结果。这个过程就叫做Map,如图中的实线方框的部分。将Map输出的结果在进行聚合操作的二次计算,从而得到大矩阵的结果,这个过程叫做Reduce,如图中的虚线方框的部分。

   

下图展示了在Hadoop中执行MapReduce任务的输出日志信息。

提示:通过输出的日志可以看出任务被拆分成了两个阶段,即:Map阶段和Reduce阶段。当Map执行完成后,接着执行Reduce。


三、BigTable大表

   

BigTable大表的思想是Google的“第三驾马车”。正因为有了这样的思想就有了Hadoop生态圈体系中的NoSQL数据库HBase。

提示:NoSQL数据库泛指所有的非关系型数据库。NoSQL数据库有很多种,比如:Hadoop体系中的HBase;基于内存的Redis和基于文档的MongoDB。而NoSQL数据库从某种程度上说也是属于大数据体系中的组成部分。

   

那么什么是BigTable大表呢?简单来说就是把所有的数据存入一张表中,这样做的目的就是为了提高查询的性能。但是这也将违背关系型数据库范式的要求。在关系型数据库中需要遵循范式的要求来减少数据的冗余。减少数据冗余的好处是节约了存储的空间,但是会影响性能。例如:在关系型数据库中执行多表查询会产生笛卡尔积。因此,关系型数据库的出发点是通过牺牲性能,达到节约存储空间的目的。这样设计是有实际意义的,因为在早些年的时候,存储的介质是比较昂贵的,需要考虑成本的问题。而大表的思想正好与其相反,它是把所有的数据存入一张表中。大表的思想是通过牺牲存储空间来达到提高查询性能的目的。

   

HBase就是BigTable大表思想的一个具体实现,并且它是一个列式存储的NoSQL数据库适合执行数据的分析和处理。简单来说就是适合执行查询操作。下图展示了HBase的表结构。


   

HBase的表由列族组成,图中的“emp”和“dept”都是列族,列族中包含列。创建表的时候必须创建列族,不需要创建列。当执行插入语句插入数据到列族中的时候,需要指定rowkey和具体的列。如果列不存在,HBase会自动创建相应的列,再把数据插入到对应的单元格上。


提示:rowkey相当于关系型数据库的主键。但是与主键不同的是,rowkey与关系型数据库类似不允许为空,但是可以重复的。如果rowkey重复了,表示相同的rowkey是同一条记录。

   

例如,如果要得到上图所示的表结构和数据,可以在HBase中执行下面的语句。

#创建employee表,包含两个列族:emp和dept
create 'employee','emp','dept'
#插入数据
put 'employee','7839','emp:ename','KING'
put 'employee','7839','emp:job','PRESIDENT'
put 'employee','7839','emp:hiredate','17-11月-81'
put 'employee','7839','emp:sal','5000'
put 'employee','7839','dept:deptno','10'
put 'employee','7839','dept:dname','ACCOUNTING'
put 'employee','7839','dept:loc','NEW YORK'



相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
3天前
|
存储 人工智能 弹性计算
阿里云弹性计算_加速计算专场精华概览 | 2024云栖大会回顾
2024年9月19-21日,2024云栖大会在杭州云栖小镇举行,阿里云智能集团资深技术专家、异构计算产品技术负责人王超等多位产品、技术专家,共同带来了题为《AI Infra的前沿技术与应用实践》的专场session。本次专场重点介绍了阿里云AI Infra 产品架构与技术能力,及用户如何使用阿里云灵骏产品进行AI大模型开发、训练和应用。围绕当下大模型训练和推理的技术难点,专家们分享了如何在阿里云上实现稳定、高效、经济的大模型训练,并通过多个客户案例展示了云上大模型训练的显著优势。
|
7天前
|
存储 人工智能 调度
阿里云吴结生:高性能计算持续创新,响应数据+AI时代的多元化负载需求
在数字化转型的大潮中,每家公司都在积极探索如何利用数据驱动业务增长,而AI技术的快速发展更是加速了这一进程。
|
4天前
|
人工智能 运维 双11
2024阿里云双十一云资源购买指南(纯客观,无广)
2024年双十一,阿里云推出多项重磅优惠,特别针对新迁入云的企业和初创公司提供丰厚补贴。其中,36元一年的轻量应用服务器、1.95元/小时的16核60GB A10卡以及1元购域名等产品尤为值得关注。这些产品不仅价格亲民,还提供了丰富的功能和服务,非常适合个人开发者、学生及中小企业快速上手和部署应用。
|
12天前
|
人工智能 弹性计算 文字识别
基于阿里云文档智能和RAG快速构建企业"第二大脑"
在数字化转型的背景下,企业面临海量文档管理的挑战。传统的文档管理方式效率低下,难以满足业务需求。阿里云推出的文档智能(Document Mind)与检索增强生成(RAG)技术,通过自动化解析和智能检索,极大地提升了文档管理的效率和信息利用的价值。本文介绍了如何利用阿里云的解决方案,快速构建企业专属的“第二大脑”,助力企业在竞争中占据优势。
|
14天前
|
自然语言处理 数据可视化 前端开发
从数据提取到管理:合合信息的智能文档处理全方位解析【合合信息智能文档处理百宝箱】
合合信息的智能文档处理“百宝箱”涵盖文档解析、向量化模型、测评工具等,解决了复杂文档解析、大模型问答幻觉、文档解析效果评估、知识库搭建、多语言文档翻译等问题。通过可视化解析工具 TextIn ParseX、向量化模型 acge-embedding 和文档解析测评工具 markdown_tester,百宝箱提升了文档处理的效率和精确度,适用于多种文档格式和语言环境,助力企业实现高效的信息管理和业务支持。
3935 2
从数据提取到管理:合合信息的智能文档处理全方位解析【合合信息智能文档处理百宝箱】
|
3天前
|
算法 安全 网络安全
阿里云SSL证书双11精选,WoSign SSL国产证书优惠
2024阿里云11.11金秋云创季活动火热进行中,活动月期间(2024年11月01日至11月30日)通过折扣、叠加优惠券等多种方式,阿里云WoSign SSL证书实现优惠价格新低,DV SSL证书220元/年起,助力中小企业轻松实现HTTPS加密,保障数据传输安全。
497 3
阿里云SSL证书双11精选,WoSign SSL国产证书优惠
|
10天前
|
安全 数据建模 网络安全
2024阿里云双11,WoSign SSL证书优惠券使用攻略
2024阿里云“11.11金秋云创季”活动主会场,阿里云用户通过完成个人或企业实名认证,可以领取不同额度的满减优惠券,叠加折扣优惠。用户购买WoSign SSL证书,如何叠加才能更加优惠呢?
985 3
|
7天前
|
机器学习/深度学习 存储 人工智能
白话文讲解大模型| Attention is all you need
本文档旨在详细阐述当前主流的大模型技术架构如Transformer架构。我们将从技术概述、架构介绍到具体模型实现等多个角度进行讲解。通过本文档,我们期望为读者提供一个全面的理解,帮助大家掌握大模型的工作原理,增强与客户沟通的技术基础。本文档适合对大模型感兴趣的人员阅读。
394 15
白话文讲解大模型| Attention is all you need
|
7天前
|
算法 数据建模 网络安全
阿里云SSL证书2024双11优惠,WoSign DV证书220元/年起
2024阿里云11.11金秋云创季火热进行中,活动月期间(2024年11月01日至11月30日),阿里云SSL证书限时优惠,部分证书产品新老同享75折起;通过优惠折扣、叠加满减优惠券等多种方式,阿里云WoSign SSL证书将实现优惠价格新低,DV SSL证书220元/年起。
559 5
|
3天前
|
安全 网络安全
您有一份网络安全攻略待领取!!!
深入了解如何保护自己的云上资产,领取超酷的安全海报和定制鼠标垫,随时随地提醒你保持警惕!
692 1
您有一份网络安全攻略待领取!!!