使用T-Digest在Apache Spark中快速概览数据
"SketchingDataWithTDigestinApacheSpark.pdf" 在2017年的SPARK SUMMIT大会上,Erik Erlandson,一位来自Red Hat公司的软件工程师,分享了他的主题演讲——《使用T-Digest在Apache Spark中绘制数据》。他探讨了选择数据抽样(Sketching)的原因以及T-Digest Sketching的核心概念。 **为什么要进行数据抽样(Sketching)?** 数据抽样在大数据处理中起着关键作用,主要因为它提供了快速、占用存储空间小且保留关键特征的优势。当我们处理海量或流式数据时,无法直接对所有数据进行计算,此时就需要数据抽样的方法来近似地代表整体数据分布。Sketching允许我们在有限的资源下获取数据集的统计特性,如均值、方差等,而不会显著增加计算负担。 **T-Digest是什么?** T-Digest是一种用于高效计算极端精确分位数的算法,由Ted Dunning和Omar Ertl共同提出。其源代码已开源,可在GitHub上找到,支持Java、Python、R、JavaScript、C++和Scala等多种编程语言的实现。T-Digest的关键在于它能以紧凑的形式动态地构建一个"运行中的"概览(Sketch),即使面对大型数据集或流数据也能实时更新。 **T-Digest Sketching的工作原理** T-Digest Sketching通过构建累积分布函数(CDF)的近似值来工作。每个观测值(x)与对应的权重(w)被表示为(x, w)对,然后将这些对聚集到一系列的“聚类”中,每个聚类具有一个中心点(location)和质量(mass)。当新数据到来时,会找到最近的聚类进行更新,调整其位置和质量,从而保持对CDF的近似。这种机制使得T-Digest能够在数据量变化时保持准确性,同时保持数据结构的紧凑性。 **T-Digest的收益** T-Digest的使用在分布式计算环境中,特别是Apache Spark这样的大数据处理框架中,可以显著提升查询效率和响应速度。例如,当需要查询某一服务的延迟分布,或者模拟延迟行为时,T-Digest可以提供快速的分位数计算,帮助确定90%的延迟是否在1秒以内。此外,T-Digest还支持对大规模数据流的实时分析,使得在线服务能够迅速获取关于其性能的洞察。 总结来说,T-Digest Sketching是一种强大的工具,尤其在需要快速近似计算复杂统计特性的大数据场景中。它结合了数据抽样的优势,提供了对大规模数据集分布的准确且高效的洞察,对于优化云计算环境中的数据分析和决策具有重要意义。
![](https://csdnimg.cn/release/download_crawler_static/11633712/bg6.jpg)
剩余25页未读,继续阅读
![whl](https://img-home.csdnimg.cn/images/20210720083646.png)
![whl](https://img-home.csdnimg.cn/images/20210720083646.png)
![whl](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![whl](https://img-home.csdnimg.cn/images/20210720083646.png)
![whl](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![whl](https://img-home.csdnimg.cn/images/20210720083646.png)
![whl](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 373
- 资源: 2万+
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- Vue实现iOS原生Picker组件:详细解析与实现思路
- Arduino蓝牙小车:参数调试与功能控制
- 百度Java面试精华:200页精选资源涵盖核心知识点
- Swift使用CoreData填坑指南:CoreData在Swift 3.0的变化
- 微距离无线充电器创新设计及其实验探索
- MTK Android平台开发全攻略:44步详解流程
- RecyclerView全面解析:替代ListView的新选择
- Android开发:自动适配中英文键盘解决方案
- Android调用WebService接口教程
- Android开发:BitmapUtil图片处理全解析与实例
- Android多线程断点续传实现详解
- PCA算法在人脸识别会议签到系统中的应用
- EventBus 3.0:Android事件总线详解与实战应用
- Android FileUtil:全面解析文件操作实用技巧与实例
- RecyclerView添加头部和尾部实战教程
- Android实现微博滑动固定顶部栏实战与优化
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)