【问题标题】:Spark writing performance csv vs snappy-orcSpark 写入性能 csv 与 snappy-orc
【发布时间】:2022-01-04 07:01:15
【问题描述】:

如果我需要在磁盘上写入数据帧,哪种格式会执行更好的 csv 或 'orc with snappy' ?

一方面 csv 格式将避免压缩任务开销,但另一方面 snappy 将减少总字节大小写入任务。请在这里也纠正我的假设?

请注意,我的问题是关于写入性能而不是存储角度。

【问题讨论】:

    标签: apache-spark orc


    【解决方案1】:

    压缩是为了节省空间,而不是性能,因此您使用 Snappy 的事实并不是一个真正相关的细节,因为您可以使用 LZ4 或 ZSTD 代替。

    ORC 是一种面向列的数据格式,其分析性能优于 CSV,并且在某些条件下,其性能将优于 Spark 的默认 Parquet 格式。

    【讨论】:

    • 感谢您的回复。我的问题是只比较“写作表现”。我了解兽人在其他方面的优势。
    • 那些优于镶木地板的条件是什么?
    • @theblue 列式访问和统计数据收集对于 orc 来说可能会更快,但如果只是计算记录或扫描所有列,预计会差不多,是吗?
    • @Rex 我不确定你的意思。写入文件的性能取决于您的硬件和网络速度,而不是文件类型
    • @OneCricketeer 我站在你这边,文件类型可能不是一个因素。但是文件大小对压缩 bcz 的影响如何,因为缓冲区写入会减少。例如 - 要写入一个 10 MB 大小的 csv 文件 - 如果压缩大小为 2 MB,那么由于字节数组大小和较少的网络使用,写入速度会不会更快?好像我在写 csv diect 那么我必须写 10 MB ?同时评估需要调整压缩所需的计算,同时决定获胜者。
    猜你喜欢
    • 2016-08-20
    • 2015-11-29
    • 2016-10-25
    • 2016-07-12
    • 2020-01-20
    • 2018-10-31
    • 2016-07-25
    • 2018-08-29
    • 2019-01-17
    相关资源
    最近更新 更多