一.典型高性能计算机软件栈
二.大数据处理平台与应用的特性
MPI要求所有资源都可用才能正常运行,容错困难,MPI在系统同构时才能发挥效率。
大数据平台需要支持廉价的硬件,软件需要支持自动容错和自动负载平衡—即支持扩展性。
1.MapReduce编程模型
a.借用了函数语言的概念
b.用户只需要写串行的Map和Reduce函数
map(in key, in_value) -> (out_key, intermediate_value) list reduce(out_key, intermediate_value list) -> out_value list
c.较容易实现容错,只要重算该任务;容易实现负载平衡,支持异构系统
d.主流大数据平台Apache Hadoop Ecosystem
e.MapReduce中用文件传递数据,由于数据复制、序列化和磁盘I/O使得性能较差
如果能用内存保存数据,比采用硬盘的方案快10-100倍。
2.基于内存的大数据分析平台-Spark
1).Spark对内存的抽象
a.RDD(Resilient Distributed Datasets)
-基于数据集合,而不是单个数据
-由确定性的粗粒度操作产生(map,filter,join等)
-数据一旦产生,就不能修改(immutable)
-如果要修改数据,要通过数据集的变换来产生新的数据集
b.RDD支持高效的容错
数据一旦是确定性的产生,并且产生后不会变化
-就可以通过“重复计算”的方法来恢复数据
-只要记住rdd的生成过程就可以了,这样一次log可以用于很多数据,在不出错的时候几乎没有开销
2).Spark的局限性-数据模型层面
大数据应用:部分数据更新
Spark:只读数据对象
每次细粒度的数据更新,由于Spark基于粗粒度RDD只读的数据对象模型,需要RDD变换,即有大量数据的复制,导致处理效率不高。
3).Spark的局限性-实现层面
a.Spark基于Scala语言,运行在JVM上
b.内存表示冗余,占用内存大
c.内存分配与回收开销大
三.大数据系统的设计理念
四.问题
大数据系统,性能还是扩展性优先?
1.性能的重要性
a.为什么容错是重要的?
很多结点,长运行时间
b.如果性能可以显著提高
更少的结点(可能是1个结点),更短的运行时间
可以使用更大开销的容错技术,例如检查点,因为遇到故障的概率更低
性能优先的大数据平台:性能与容错可以兼得(如果性能可以好很多)
2.许多大数据问题的规模有限
a.人口数
100亿,社交网络的大小约10TB
b.产品数
100万
c.摩尔定律在驱动计算能力、内存大小和I/O带宽以指数速度增长
今天的规模有限的大数据问题,会成为明天的小数据问题。
3.图数据的重要意义
图能够表达丰富的数据和关系
-网络连接
-网页链接
-社交关系
-蛋白质交互
-人与人、人与公司、人与产品
4.图的计算与分析
-PageRank
-最短路径
-连通分支
-极大独立集
-最小代价生成树
-Bayesian Belief Propagation
5.基于图抽象的编程模型
-图的基本元素是结点和边
-最直观的编程抽象可以基于结点和边进行
-结点上计算
-沿着边通信
五.图计算-折衷的大数据分析平台
GraphLab在某些任务上比Spark快10倍。
六.GraphLab的问题
1.内存占用大
所需内存是原始数据的10倍以上,需要过多结点计算,引入了不必要的通信和并行开销
2.访存局部性差
计算性能低,处理小图时8台处理性能还不如单机系统。
七.清华大学研究院的性能优先的大数据系统GridGraph
1.数据模型:可读写数据
2.数据结构:基于二维shuffle的数据结构,局部性好,紧凑
3.编程抽象:基于点和边的集合,同时支持单机和多机
4.执行平台:单机内存->Out of core->分布式系统
5.性能优化:NUMA,调度,自适应数据格式等
先从局部性和调度的角度优化单机性能,再扩展到多机。
6.多机扩展与优化
-Sparse-dense双计算引擎
-基于chunk的图划分机制
-通信和计算的协同调度
来自清华大学的教授分享。
相关推荐
2021贺岁大数据入门spark3.0入门到精通资源简介: 本课程中使用官方在2020年9月8日发布的Spark3.0系列最新稳定版:Spark3.0.1。共课程包含9个章节:Spark环境搭建,SparkCore,SparkStreaming,SparkSQL,...
大数据入门指南 v1.0 是一份涵盖了大数据技术栈的详尽指南,涵盖了 Hadoop、Hive、Spark、Storm、Flink、HBase、Kafka、Zookeeper、Flume、Sqoop 等大数据技术的基础知识和实践经验。本指南从大数据学习路线开始,...
2021贺岁大数据入门spark3.0入门到精通资源简介: 本课程中使用官方在2020年9月8日发布的Spark3.0系列最新稳定版:Spark3.0.1。共课程包含9个章节:Spark环境搭建,SparkCore,SparkStreaming,SparkSQL,...
【大数据入门】 大数据是指那些超出了传统数据处理能力的大量、高速度和多样性的信息资产,它需要采用先进的技术和工具来存储、管理和分析。在这个领域,Hadoop扮演着核心角色,由Doug Cutting创建,是一个开放源码...
大数据入门教程 ,视频,软件,代码,文档齐全,资源仅供学习使用,如果喜欢请购买正版。
- **大数据入门经典**:作为标题,指出了书籍的主要内容和学习范围。这表明书籍将为读者提供一个基础框架,帮助他们理解什么是大数据,以及如何开始学习和运用大数据技术。 ### 描述知识点 - **IBM公司推出大数据...
大数据入门23.pptx
大数据入门指南 2019
在这个由董飞老师提供的大数据入门课程中,我们将深入理解大数据的核心概念、相关技术和实际应用,特别是通过Hadoop和Spark这两个重要的大数据处理框架。 首先,硅谷高科技公司如LinkedIn等在大数据领域持续创新,...
在这个“大数据入门资源.zip”压缩包中,包含了一份名为“大数据入门资源.pdf”的文档,它很可能是为初学者准备的一份详细教程,旨在帮助读者快速理解和进入大数据的世界。 大数据的核心特性通常被概括为"5V":...
本套“大数据入门必学ppt教程”是为初学者精心准备的资源,旨在帮助你快速掌握大数据技术的基础和应用。教程涵盖了多个关键组件,包括Hadoop、MapReduce、YARN、ZooKeeper、Spark以及Kafka等。 首先,让我们从...
大数据入门资料 大数据时代的到来,标志着数据信息大发展的时代,移动互联、社交网络、电子商务等极大拓展了互联网的边界和应用范围,各种数据正在迅速膨胀并变大。作为大数据的入门资料,本文档详细介绍了大数据的...
【大数据入门笔记系列】第五节 SpringBoot集成hadoop开发环境(复杂版的WordCount)前言环境清单创建SpringBoot项目创建包创建yml添加集群主机名映射hadoop配置文件环境变量HADOOP_HOME编写代码添加hadoop依赖jar包...
董飞老师的这门大数据入门课程,旨在为初学者提供一个全面了解和学习大数据的基础平台。课程共47页,涵盖了大数据的核心概念、技术体系、实际应用以及未来发展趋势等多个方面。 首先,课程会讲解大数据的基本概念,...
【大数据入门 大数据时代介绍 共23页.pptx】 大数据,作为一个现代信息技术的重要概念,已经成为21世纪信息社会发展的重要驱动力。随着互联网、移动互联网、物联网、车联网等领域的快速发展,数据量呈现指数级增长...
大数据入门指南
以上内容仅为对Hadoop大数据入门必备知识的简要概述,每个知识点深入讲解都包含大量的细节和技术要点,需要系统学习和实践操作。对于初学者来说,结合Hadoop官方文档、相关书籍以及在线资源进行学习,同时在实际的...
接下来,我们将围绕“Python大数据入门数据集”这一主题展开,详细介绍其中可能包含的重要知识点。 ### Python在大数据中的应用 #### 1. Python基础知识 - **基础语法**:变量类型、流程控制(如if语句、循环)、...