共计 990 个字符,预计需要花费 3 分钟才能阅读完成。
这篇文章主要介绍“tungsten-sort 有哪些优点”,在日常操作中,相信很多人在 tungsten-sort 有哪些优点问题上存在疑惑,丸趣 TV 小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”tungsten-sort 有哪些优点”的疑惑有所帮助!接下来,请跟着丸趣 TV 小编一起来学习吧!
spark 实现了多种 shuffle 方法,通过 spark.shuffle.manager 来确定。暂时总共有三种:hash shuffle、sort shuffle 和 tungsten-sort shuffle,从 1.2.0 开始默认为 sort shuffle。
spark 在 1.4 以后可以通过(spark.shuffle.manager = tungsten-sort)开启 Tungsten-sort shuffle。如果 Tungsten-sort 发现自己无法处理,则会自动使用 Sort Based Shuffle 进行处理。Tungsten-sort 优化点主要有:
直接在 serialized binary data 上操作,不需要反序列化,使用 unsafe 内存 copy 函数直接 copy 数据。
提供 cache-efficient sorter ShuffleExternalSorter 排序压缩记录指针和 partition ids, 使用一个 8bytes 的指针,把排序转化成了一个指针数组的排序。
spilling 的时候不需要反序列化和序列化
spill 的 merge 过程也无需反序列化即可完成,但需要 shuffle.unsafe.fastMergeEnabled 的支持
当且仅当下面条件都满足时,才会使用新的 Shuffle 方式:
Shuffle dependency 不能带有 aggregation 或者输出需要排序
Shuffle 的序列化器需要是 KryoSerializer 或者 Spark SQL s 自定义的一些序列化方式.* Shuffle 文件的数量不能大于 16777216
序列化时,单条记录不能大于 128 MB
## 优点 很多性能的优化
## 缺点
不可以在 mapper 端排序
不稳定
没有提供 off-heap 排序缓存
到此,关于“tungsten-sort 有哪些优点”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注丸趣 TV 网站,丸趣 TV 小编会继续努力为大家带来更多实用的文章!