05-0内存计算-spark.pdfVIP

  • 17
  • 0
  • 约1.1万字
  • 约 62页
  • 2017-05-21 发布于浙江
  • 举报
05-0内存计算-spark

网络大数据管理理论和应用——第五章 Spark 陈薇 网络与信息系统研究所 Tel Email:pekingchenwei@pku.edu.cn 背景 • 虽然MapReduce 已经较有效,但主要是建立非循环 的数据流模型,不能满足用户更大的需求 – Iterative jobs :很多机器学习算法,需要在多个并行操作 之间重用数据集,MapReduce job 中,为容错将数据存 在磁盘中并复制,需要很多I/O操作,性能代价很高 – Interactive analytics :Hadoop经常用于专用的探索性查询 ,用SQL接口,如:Pig ,Hive 。而理想情况下,用户可 能想拷贝一个数据集到内存中,多次进行查询。但是, 实际上Hadoop有很大的延迟,因为要从磁盘读取数据 – Real-time :MapRedeuce 的延迟很大,不能支持实时流处 理 背景 • 解决方法:为这些应用提供特定的模型 – Google Pregel :用于图处理 – Iterative Mapreduce :处理迭代任务 – Storm for Stream :处理实时流数据 • 问题: – 不能覆盖所有的用例 – 这些单个的应用,无法进行组合 • 这些应用都需要的是:有效的数据共享原语。而 这个是MapReduce所缺少的 背景 • 如果不用复制到磁盘的方式,如何处理容错? – 需要在网络中拷贝数据,实现容错 – 比内存读写慢10-100倍 • 是否可以不复制,实现容错? 目录 • 背景 • Spark – 概述 – RDD – 两个共享变量:广播变量、累加器 – 调度机制 – Spark性能实验 • Spark Streaming • 应用实例 – 淘宝使用Spark Spark 目录 • Spark概述 • RDD • 两个共享变量:广播变量、累加器 • 调度机制 • Spark性能实验 背景 • UC Berkeley AMP实验室数据分析栈 Spark • 定义:一个开源、高效的分布式并行计算系统 • 目标:是支持迭代的算法、交互式数据分析 • 思想:内存集群计算——可在内存集群计算中将 数据集缓存在内存中,以缩短访问延迟 • 实现:由Scala语言实现 – 优势:可以直接兼容JVM 、语言风格简洁、支持闭包 – 同时支持Java 、Python API • 适用性 – 适用于批处理应用,数据集上所有数据都有相同的操作 – 不适用于异步细粒度的更新状态,如:web应用的存储 系统或增量式的网页爬虫 Spark • 性能超Hadoop百倍;将中间结果存在内存中,对 于迭代操作效率很高 • 提供比Hadoop更上层的API ,算法实现代码量仅有 其1/10或1/100 • 比Hadoop更通用,不仅仅有Map 、Reduce两种操 作 • 兼容Hadoop存储API ,支持读写所有Hadoop支持 的系统,如HDFS 、Hbase 、Sequ

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档