Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >数据科学通识第九讲:大数据平台

数据科学通识第九讲:大数据平台

原创
作者头像
数据酷客
修改于 2020-05-20 01:48:14
修改于 2020-05-20 01:48:14
1K0
举报

大数据平台概述

随着互联网技术的发展和智能传感设备的普及,我们来到了一个数据爆炸的时代。全球的数据以每年50%的速度在增长,也就是说两年就增长了一倍。根据互联网数据中心(IDC)的预测,到2025年,全球数据总量将达到175ZB,与2010年相比,数据量增长了近170倍。

面对如此庞大且随时还在不断增长的海量数据,如何对数据进行有效的存储、管理和分析,是目前大数据所面临的关键性挑战。

提升计算机处理能力的两种方式

针对日益增加的数据存储与分析的需要,有两种方式来提升计算机的处理能力:一种称作垂直扩展,另一种称作水平扩展。垂直扩展是指采用更快的CPU或者更大的内存、外存来提升计算机的性能。

水平扩展也称作分布式计算,它是指通过添加更多的计算机一起协同工作,进而提升计算机的总体能力,这样的一组计算机通常是被看作一个整体。新添加的计算机通常应该与当前的计算机具有相似或相同的配置,这样它们才能够更好地协同工作。

从扩展方式来看,垂直扩展通过购买和使用更高配置的计算机配件或者通过更换计算机来实现,而水平扩展是指在已有的计算机群体中再添加计算机;从扩展成本来看,当垂直扩展到一定的阶段时,我们购置更好的配件或是更换更好计算机的成本就会变得十分昂贵,而水平扩展扩展到一定阶段,通过添加计算机来提升整体性能的成本相对较低。

从性价比来看,垂直扩展还存在着其它弊端。例如,由于超级计算机中配置的顶级处理器对应了较高要求的冷却系统,整体成本是非常高的。惠普在2013年开展了一项调查研究发现,在专用计算机上租用处理器的每小时成本,大约是水平扩展系统的2~3倍。我们可以从下面的曲线上看出,在交点之后,垂直扩展与水平扩展相比,成本呈指数级增长。

分布式计算

分布式计算,即水平扩展,是指一组相互独立的联网计算机,仅仅通过消息传递的方式来使各自的硬件和软件相互协作,进而实现一个共同的计算或处理目标。一组计算机被称作一个计算机集群,其中每一台计算机都有各自的处理器、各自的内存,都是独立可运行的计算机。

关于分布式计算的研究,最早可以追溯到网络刚刚发明的时候。在上世纪70年代末和80年代初,分布式计算就成为了计算机科学的一个新的分支。

DEC系统研究中心在1988年启动了第一个基于因特网的分布式计算项目,这个项目通过给志愿者发送电子邮件,邀请志愿者在空闲的时间运行一些程序,然后将结果返回给DEC系统研究中心并获得新任务。简单来说就是很多志愿者利用计算机的空闲时间,来帮助DEC系统研究中心做一些任务。截至1990年,一共有100位志愿者参与了这个项目。

到了1999年,一个真正可以正常运行工作的分布式计算项目——SETI@Home 出现了。这个项目通过分析波多黎各的Arecibo射电望远镜收集的无线电信号,来寻找外星智能生物生存的证据。这个项目于1999年5月开始启动,面向全球招募志愿者,将SETI@Home的程序运行在这些志愿者的计算机上。这个项目得到了全球许多志愿者的支持,截至2005年,已经有超过543万的志愿者参与到了这个项目中。

分布式计算类型

早期的网格计算是分布式计算的类型之一。网格计算主要解决如何将一个需要非常巨大计算能力才能解决的问题分成许多小的部分,然后把这些部分再分配给许多计算机进行处理,最后再把这些计算结果综合起来,得到最终的处理结果。这样网上的各种各样的计算资源、存储资源和输出设备,在统一的网格资源管理系统的管理下,就可以提供给位于多个地点的不同用户来分布式地共享和使用。

另一个分布式计算的类型是云计算。云计算实际上是通过网络构成一个“网云”,进而将巨大的数据计算处理程序分解成无数个小程序,然后通过多台服务器组成的系统来处理和分析这些小程序,得到结果再返回给用户。云计算发展到今天,实际上就是我们熟知的各类云服务。

分布式计算特点

无论是网格计算还是云计算,它都具有以下几个特点:

  • 资源共享,用户或程序可以使用系统中任何位置的任何硬件、软件或数据
  • 开放性,分布式系统具有良好的扩展与提升能力
  • 并发性,在系统中多个活动可以同时进行
  • 良好的可扩展性,用户可以方便地在系统中添加更多的资源,系统也可以方便地支持更多的用户

容错性也是分布式计算所独有的一个特性。对于分布式系统来说,某一台计算机或某一个局部网络发生故障,不会影响整个系统的正常运行。

实现方式

大数据平台是具体实现分布式计算的方式之一。通过大数据平台,用户能够更方便地在计算机集群中部署和使用分布式存储与分布式计算能力。例如,HadoopSparkStorm都是非常好的大数据平台。

基于批处理的大数据平台

批处理技术适用于对时间要求不高的大规模数据处理场景。批处理技术是对一段时间内存储的数据块进行统一地集中处理。比如,某个金融公司一周内所有的交易记录可以被看作是一个数据块,某个城市一天内汇总的所有的交通数据也可以被看作是一个数据块。简单来说,数据攒了一周、一天或是固定一段时间后再来进行处理,这样的批处理框架包括,Apache Hadoop,Apache Spark等。

Hadoop是Apache软件基金会旗下的一个开源分布式计算平台,为用户提供了系统底层细节透明的分布式基础架构。它是用Java编写的开源的、可伸缩的、有着良好容错性的一个大数据处理框架,并且它可以部署在廉价的计算机集群中。也就是说,我们用几台普通的台式机就可以组成一个小型的Hadoop集群。

Hadoop为在多个机器上处理数据提供了一个有效的框架,它可以在多台机器上运行,来提供数据的并行处理。如下图所示,我们可以把一台机器设置为主节点,把其它的机器设置为从节点,这样的多台计算机就构成一个小型的Hadoop集群。

Apache Spark是由美国加州伯克利大学的AMP实验室开发的,是专为大规模数据处理而设计的快速通用的计算引擎。用户使用Spark,可以构建大型的、低延迟的数据分析应用程序。

Spark的特点,简单来说就是如闪电般快速。这是因为它在调度上采用了先进的DAG(Directed Acyclic Graph)调度程序,查询上则利用了查询优化器和物理执行引擎等技术。

与Hadoop相比,对100TB的数据进行排序,Hadoop需要2100台机器运行72分钟,而Spark使用207台机器,只需运行23分钟就做完了。再看逻辑回归算法的表现,在Hadoop上,运行需要110秒,而在Spark上只需要0.9秒。由这些数据,我们就可以更直观地看出Spark快如闪电的特点。

基于流处理的大数据平台

流处理技术指能够在每条新数据到达时,实时地对数据进行处理。与批处理技术不同,在流处理的过程中到达的每一条新数据都不会存储,而是直接进行处理并输出结果,因此这样的技术特别适用于对实时数据处理要求很高的大数据应用场景。常见的流处理工具包括Apache Storm框架,Spark Streaming组件,Apache Flink框架等。

流处理技术的其中一种被称为微批量处理技术。对于需要支持窗口操作的流处理技术框架,我们也可以存储很短时间内的数据,作为批量数据(微批量数据)来进行处理,我们也可以把这里的“微批量”理解为一个很小的数据块。与流处理技术相比,微批量处理技术会带来一定时间的延迟。

将流处理技术与批处理技术二者相比较:在数据量上,流处理技术处理的是最近记录的数据,而批处理处理的是所有或大部分的数据;在处理延迟上,批处理通常有着以分钟或者小时为单位的延迟,而流处理技术的延迟通常是以毫秒或者秒为单位的;二者的常用处理框架也不相同。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【PySpark大数据分析概述】01 大数据分析概述
PySpark作为Apache Spark的Python API,融合Python易用性与Spark分布式计算能力,专为大规模数据处理设计。支持批处理、流计算、机器学习 (MLlib) 和图计算 (GraphX),通过内存计算与弹性数据集 (RDD) 优化性能,提供DataFrame API和SQL接口简化结构化数据处理。可跨Hadoop/云平台部署,适用于ETL、日志分析、实时推荐等场景,具备TB级数据横向扩展能力,并与Pandas等Python工具无缝集成,兼顾高效分析与易用性。 【GitCode】专栏资源保存在我的GitCode仓库:https://gitcode.com/Morse_Chen/PyTorch_deep_learning。
Francek Chen
2025/03/29
1210
【PySpark大数据分析概述】01 大数据分析概述
从Hadoop到Spark、Flink,大数据处理框架十年激荡发展史
当前这个数据时代,各领域各业务场景时时刻刻都有大量的数据产生,如何理解大数据,对这些数据进行有效的处理成为很多企业和研究机构所面临的问题。本文将从大数据的基础特性开始,进而解释分而治之的处理思想,最后介绍一些流行的大数据技术和组件,读者能够通过本文了解大数据的概念、处理方法和流行技术。
PP鲁
2019/12/25
4.1K0
【独家】一文读懂大数据计算框架与平台
1. 前言 计算机的基本工作就是处理数据,包括磁盘文件中的数据,通过网络传输的数据流或数据包,数据库中的结构化数据等。随着互联网、物联网等技术得到越来越广泛的应用,数据规模不断增加,TB、PB量级成为常态,对数据的处理已无法由单台计算机完成,而只能由多台机器共同承担计算任务。而在分布式环境中进行大数据处理,除了与存储系统打交道外,还涉及计算任务的分工,计算负荷的分配,计算机之间的数据迁移等工作,并且要考虑计算机或网络发生故障时的数据安全,情况要复杂得多。 举一个简单的例子,假设我们要从销售记录中统计各种
数据派THU
2018/01/29
5.7K0
大数据Hadoop生态圈各个组件介绍(详情)
-coordination and management(协调与管理) -query(查询) -data piping(数据管道) -core hadoop(核心hadoop) -machine learning(机器学习) -nosql database(nosql数据库)
全栈程序员站长
2022/08/31
5.1K0
大数据Hadoop生态圈各个组件介绍(详情)
大数据的定义与概念
来源 | https://www.leiue.com/big-data-definitions-and-concepts
我脱下短袖
2019/12/23
1K0
Hadoop大数据计算服务平台你了解多少?武汉波若大数据如何实现海量数据存储计算?
Hadoop数据存储计算平台,运用Apache Hadoop关键技术对其进行产品研发,Hadoop是一个开发设计和运作解决规模性数据的软件系统,是Apache的一个用java代码语言构建开源软件框架结构,构建在大批量计算机组成的服务器集群中对结构化/非结构化数据对其进行分布式计算。hadoop框架结构中最关键设计构思就是:HDFS (海量信息的数据存储)、MapReduce(数据的计算方法)。
数道云大数据
2019/07/17
9920
大数据计算模式:批处理&流处理
大数据要实现业务落地的前提,是企业需要搭建起自身的大数据平台,去实现对数据价值的挖掘和应用。根据实际的业务场景需求,不同类型的数据,需要不同的计算处理模式。今天我们就来聊聊批处理和流处理两种大数据计算模式。
成都加米谷大数据
2020/10/15
4.6K0
大数据计算模式:批处理&流处理
【数据科学】成为一个数据科学家的九个步骤
数据科学和数据分析发展迅速,给该领域带来了众多工作机,但是可用人才匮乏。这给那些想找新工作的人提供了希望。 但是如何才能成为一个数据科学家呢? 首先,每个企业对数据科学家的定义都不同,并没有统一的概
陆勤_数据人网
2018/02/27
7680
【数据科学】成为一个数据科学家的九个步骤
大数据Hadoop生态圈介绍
Hadoop是目前应用最为广泛的分布式大数据处理框架,其具备可靠、高效、可伸缩等特点。
全栈程序员站长
2022/08/25
1K0
大数据Hadoop生态圈介绍
后Hadoop时代的大数据架构
提到大数据分析平台,不得不说Hadoop系统,Hadoop到现在也超过10年的历史了,很多东西发生了变化,版本也从0.x进化到目前的2.6版本。我把2012年后定义成后Hadoop平台时代,这不是说不用Hadoop,而是像NoSQL (Not Only SQL)那样,有其他的选型补充。 背景篇 Hadoop: 开源的数据分析平台,解决了大数据(大到一台计算机无法进行存储,一台计算机无法在要求的时间内进行处理)的可靠存储和处理。适合处理非结构化数据,包括HDFS,MapReduce基本组件。 HDFS:提供
腾讯大数据
2018/01/26
1.8K0
【云+社区年度征文】2021秋招,我从Java开发劈腿了大数据
今年秋招之前,我曾以为我以后会是一名Java开发,但是在真正的秋招过程中,我出轨了大数据(呵呵,男人!),既然将它作为第一份职业,那就要好好来了解下它,要对现有的大数据的生态有个直观的理解,所以在此基础上列出自己的学习计划和自己的职业规划。在这里,要特别感谢韩顺平老师B站2020大数据公开课,受益匪浅,视频链接在参考文献中,感兴趣的小伙伴可以看看。
Simon郎
2020/12/03
3590
大数据平台的比较和选择:Hadoop、Spark和Flink的优缺点与适用场景
在大数据处理领域,选择合适的大数据平台是确保数据处理效率和性能的关键。Hadoop、Spark和Flink是三个备受关注的大数据处理框架,本文将深入比较它们的优缺点,并为读者提供在不同场景下的选择建议。
Echo_Wish
2024/02/01
4K0
大数据平台技术栈
Flume是一个分布式的高可用的数据收集、聚集和移动的工具。通常用于从其他系统搜集数据,如web服务器产生的日志,通过Flume将日志写入到Hadoop的HDFS中。
物流IT圈
2019/07/16
2.2K0
大数据平台技术栈
大数据平台架构及主流技术栈
互联网和移动互联网技术开启了大规模生产、分享和应用数据的大数据时代。面对如此庞大规模的数据,如何存储?如何计算?各大互联网巨头都进行了探索。Google的三篇论文 GFS(2003),MapReduce(2004),Bigtable(2006)为大数据技术奠定了理论基础。随后,基于这三篇论文的开源实现Hadoop被各个互联网公司广泛使用。在此过程中,无数互联网工程师基于自己的实践,不断完善和丰富Hadoop技术生态。经过十几年的发展,如今的大数据技术生态已相对成熟,围绕大数据应用搭建的平台架构和技术选型也逐渐趋向统一。
全栈程序员站长
2022/09/02
4.2K0
大数据平台框架、组件以及处理流程详解
数据产品和数据密不可分作为数据产品经理理解数据从产生、存储到应用的整个流程,以及大数据建设需要采用的技术框架Hadoop是必备的知识清单,以此在搭建数据产品时能够从全局的视角理解从数据到产品化的价值。本篇文章从三个维度:
全栈程序员站长
2022/08/31
3.1K0
大数据平台框架、组件以及处理流程详解
【聚焦】后Hadoop时代的大数据架构
提到大数据分析平台,不得不说Hadoop系统,Hadoop到现在也超过10年的历史了,很多东西发生了变化,版本也从0.x进化到目前的2.6版本。我把2012年后定义成后Hadoop平台时代,这不是说不用Hadoop,而是像NoSQL (Not Only SQL)那样,有其他的选型补充。我在知乎上也写过Hadoop的一些入门文章 如何学习Hadoop - 董飞的回答,为了给大家有个铺垫,简单讲一些相关开源组件。 背景篇 Hadoop: 开源的数据分析平台,解决了大数据(大到一台计算机无法进行存储,一台计算机无
小莹莹
2018/04/23
9430
【聚焦】后Hadoop时代的大数据架构
基于 Hadoop大数据分析应用场景与实战
本文介绍了基于Hadoop大数据分析的应用场景和实践,包括京东的京麦团队在Hadoop平台上的业务场景和优化方案。Hadoop是使用Java编写,允许分布在集群,使用简单的编程模型的计算机大型数据集处理的Apache的开源框架。通过使用Hadoop,企业可以在控制成本的同时,提高处理大数据的速度。
李鹏
2017/09/27
3.1K0
基于 Hadoop大数据分析应用场景与实战
大数据分析的Python实战指南:数据处理、可视化与机器学习【上进小菜猪大数据】
引言: 大数据分析是当今互联网时代的核心技术之一。通过有效地处理和分析大量的数据,企业可以从中获得有价值的洞察,以做出更明智的决策。本文将介绍使用Python进行大数据分析的实战技术,包括数据清洗、数据探索、数据可视化和机器学习模型训练等方面。
上进小菜猪
2023/10/16
2.4K0
大数据分析的Python实战指南:数据处理、可视化与机器学习【上进小菜猪大数据】
从0到1搭建大数据平台之计算存储系统
前面已经给大家讲了《从0到1搭建大数据平台之数据采集系统》、《从0到1搭建大数据平台之调度系统》,今天给大家讲一下大数据平台计算存储系统。大数据计算平台目前主要都是围绕着hadoop生态发展的,运用HDFS作为数据存储,计算框架分为批处理、流处理。
数据社
2020/08/04
1.2K0
从0到1搭建大数据平台之计算存储系统
传统大数据平台如何进行云原生化改造
作者 | 宋文欣   以 Hadoop 为中心的大数据生态系统从 2006 年开源以来,一直是大部分公司构建大数据平台的选择,但这种传统选择随着人们的深入使用,出现的问题也越来越多,比如:数据开发迭代速度不够快、集群资源利用效率过低、新的开发工具集成非常复杂等。这些问题已经成为困扰企业数字化转型加速迭代和升级的主要障碍。 而传统大数据平台通常是以 Hadoop 为中心的大数据生态技术。一个 Hadoop 集群包含 HDFS 分布式文件系统和以 Yarn 为调度系统的 MapReduce 计算框架。围绕 H
深度学习与Python
2023/03/29
1.1K0
传统大数据平台如何进行云原生化改造
推荐阅读
相关推荐
【PySpark大数据分析概述】01 大数据分析概述
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档