Apache Spark在内存数据处理领域有很多创新。有了这个框架,你可以上传数据到集群内存,并在交互模式下以非常快的速度处理这些数据(交互模式是Spark另一个重要特性)。2014年 Databricks宣布 Apache Spark能在23分钟内完成100T数据的排序。

这里有一个有趣的问题—— 你可以在集群中以交互方式处理的数据量的上限是什么?如果你的集群中有100T数据呢? 你可能惊讶内存竟然如此之快。直觉告诉你可以内存可以交互式处理100T的输入数据或者至少能处理一半的规模。然而,像往常一样,在分布式系统的世界,我们的直觉是错误的。

  1. 响应时间

对于一个简单的数据处理场景和一个比较复杂的,各自的响应时间是什么?那我们还是在一个交互模式吗?我们应该这样思考,但是很不幸,我们没有。我看到的是,在实际的场景中,一个有8T数据的“where sum(), count()”语句的简单场景的响应时间是20-40秒。对于更复杂更实际的情形(有几个“group by”和几个“join”),响应时间是3-5分钟。这绝不是我说的交互模式!

在日常生活中,我只会在响应时间比较关键的情形下作分析。对我来说,3到10秒之后我就会放弃,好吧也许会到15秒之后我仍然认为这是交互模式。除此之外,我会认为它是批处理模式。和MapReduce之类的磁盘处理相比,几秒钟或是3-5分钟替代了15-60分钟可能看起来比较不可置信。然而,这不是交互式的。

  1. 交互在哪里结束?

交互模式下几秒延迟内我能处理的最大内存数量限制在1TB以内。尽管这样,效率还算不错的。然而,超出了1TB,我发现响应时间被极度延长了。

我猜测是为了提高效率(5-10TB只有几秒钟延迟),我们需要更新硬件(我想尝试一个拥有非常强大的EC2机器,250GB的RAM存储的集群),以及调整软件设置(Apache Spark驱动设置,内存列格式,可能还有YARN设置)。

即使软硬件都更新了,我很清楚,交互模式的限制也不会接近100TB。

  1. 先把数据读入内存

正如你回想起的一样,要记住你每迭代一次数据处理都会花费数秒甚至数分钟。然而,这并不是故事的结局。如果你正用Ad Hoc分析或者是创建机器学习模型,你的初始数据集很大可能都存放在一个HDFS存储集群中。这意味着在内存迭代操作之前,你应该先从耗时较长的磁盘中读入数据。按往常,性能通常依赖于硬件和软件设置。更可能的是,读一个5-8TB的数据集耗时在15-30分钟之间。即使是1TB数据也会消耗5分钟左右。

总结

在接触Apache Spark内存处理之前,特别是数据集超过1TB时,好好计划分析场景并评估响应时间还是很有价值的。

请提供关于你以交互方式处理的数据量的上限的相关经验反馈。
本文转自d1net(转载)

Spark 交互式处理上百 TB 数据相关推荐

  1. TiDB上百T数据拆分实践

    作者:杨家鑫 原文来源: https://tidb.net/blog/57fbca58 TiDB上百T数据拆分实践 背景 提高TiDB可用性,需要把多点已有上百T TiDB集群拆分出2套 挑战 1.现 ...

  2. 干货 | 数万实例数百TB数据量,携程Redis治理演进之路

    作者简介 向晨,携程资深数据库工程师:布莱德,携程技术专家:皓月,携程技术培训生: 一.背景 携程自2013年开始使用Redis,旧时期为Memcached和Redis混用状态.由于Redis在处理性 ...

  3. GlboalMapper20 如何一次性把上百个经纬度投影的影像转为国家2000或者其他投影的影像

    序: 正射影像作为从业者的基本数据,加上无人机航测的普及,现在多数从业者手里有大量的正射影像数据. 而在不同的应用场景下,需要对数据的投影进行转换,比如拿到手的是基于图新地球下载的wgs84的正射影像 ...

  4. 上:Spark VS Flink – 下一代大数据计算引擎之争,谁主沉浮?

    作者简介 王海涛,曾经在微软的 SQL Server和大数据平台组工作多年.带领团队建立了微软对内的 Spark 服务,主打 Spark Streaming.去年加入阿里实时计算部门,参与改进阿里基于 ...

  5. h5如何上传文件二进制流_Hadoop如何将TB级大文件的上传性能优化上百倍?

    这篇文章,我们来看看,Hadoop的HDFS分布式文件系统的文件上传的性能优化. 首先,我们还是通过一张图来回顾一下文件上传的大概的原理. 由上图所示,文件上传的原理,其实说出来也简单. 比如有个TB ...

  6. 单位元转换万元怎么转_金额单位元,改成万元,这样的数据有上百个,怎么办?...

    原标题:金额单位元,改成万元,这样的数据有上百个,怎么办? 工作中有没有碰到过这种情况:马上到下班里了了,老板发一定要一个销售表格,要求把金额单位元,改成万元,这样的数据有上百个,你说这样的任务是接呢 ...

  7. 动辄数百TB级数据的分析平台 海量并发无压力

    本文讲的是动辄数百TB级数据的分析平台 海量并发无压力[IT168 评论]从本质上来讲,大数据平台的目标都是完成对数据的采集.清洗.加工.加载.建模分析,可视化的过程.本文源自诸葛io创始人& ...

  8. 字节跳动在 Spark SQL 上的核心优化实践

    作者 | 郭俊 封图 | BanburyTang 字节跳动数据仓库架构团队负责数据仓库领域架构设计,支持字节跳动几乎所有产品线(包含但不限于抖音.今日头条.西瓜视频.火山视频)数据仓库方向的需求,如 ...

  9. 亿级用户百TB级数据的 AIOps 技术实践之路(增强版)

    作者简介 周荣,华为消费者BG云运维部 AIOps 负责人,GOPS 2018 深圳站金牌讲师,07年加入华为,先后分别负责下一代智能网.中间件平台.运维工具等产品的研发与规划,在分布式系统.大数据分 ...

最新文章

  1. Sublime Text3 使用
  2. final cut pro的磁性链接是真的方便:小白力推
  3. 在C#中使用 CancellationToken 处理异步任务
  4. 设计模式(十五):解释器模式
  5. ReverseFind
  6. SVN遇到Can't convert string from 'UTF-8' to native encoding(转)
  7. 零零散散学算法之再叙字符串匹配
  8. C++_类和对象_封装_访问权限_C++中struct和class的区别---C++语言工作笔记037
  9. Codeforces Round #FF (Div. 2):Problem A - DZY Loves Hash
  10. mysql in select 子句_在MySQL select语句IN子句中按值顺序排序?
  11. Qt4 在x86和arm平台上的一些配置
  12. DevOps前沿技术培训课程大纲
  13. eclipse常用的搜索快捷键
  14. azkaban 报Error Chunking during uploading files to db
  15. 第二次软件综合实验专题作业——结对编程 1759103 李思佳 、 1759107 陶彦婷
  16. 生活中的收支明细该如何记录
  17. 【kafka】解决kafka-tool连接上kafka,brokers和topics不显示问题
  18. 决策树的预剪枝与后剪枝
  19. 薪酬方案设计:公司高管薪酬体系搭建
  20. ArcGis Server安装与使用

热门文章

  1. 计算机及应用学习顺序,自考计算机及应用专业经验谈
  2. redis php高级使用_项目中应用Redis+Php的场景
  3. ins与apache的区别_既然nginx比apache快,为什么nginx没有取代apache?
  4. 正态分布的概率密度函数python_python绘制正态分布及三大抽样分布的概率密度图像...
  5. aixcoder 智能代码补全工具
  6. c语言libjpeg处理图像,解决使用 libjpeg 保存图片时因磁盘写入失败导致程序退出的有关问题...
  7. 前景色和背景色_好色之人福利 — 室内空间背景色
  8. html 属性存储对象,在HTML5 localStorage中存储对象
  9. bbs.php168,PHP168 下载安装教程
  10. windows安装使用SQLlite并在C#调用SQLlite开发