【问题标题】:Which is better among RDD, Dataframe, Dataset for doing avro columnar operations in spark?在 RDD、Dataframe、Dataset 中哪个更好用于在 spark 中进行 avro 列操作?
【发布时间】:2020-08-26 07:14:51
【问题描述】:

我们有一个用例,需要对 avro 数据集进行一些列转换。我们以前一直运行 MR 作业,现在想探索 spark。我正在阅读一些教程,但不确定我们应该使用 RDD 还是 Dataframe/Dataset。由于 Dataframes 是按列存储的,因此使用 Dataframes 是否是正确的选择,因为我所有的转换本质上都是列式的?还是因为内部一切都基于 RDD,所以没有太大区别?

【问题讨论】:

    标签: dataframe apache-spark apache-spark-sql rdd apache-spark-dataset


    【解决方案1】:

    为了回答您的问题,我在所有三种数据结构之间遇到了comprehensive comparison

    每种特定情况的答案取决于转换的性质,而不是特定的序列化格式。一般来说,使用更高级别的 API 会更方便,但使用低级 API (RDD) 的灵活性和控制力更强。

    【讨论】:

      【解决方案2】:

      从性能的角度来看,您的数据格式不会对您用来描述转换的 API 产生任何影响。

      我建议尽可能使用最高级别的 API(DataFrames),并且仅当您需要的某些操作无法以任何其他方式实现时才切换到 RDD。

      【讨论】:

        猜你喜欢
        • 2018-08-09
        • 2021-11-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-29
        • 2021-11-05
        • 1970-01-01
        相关资源
        最近更新 更多