我应该在 PySpark 中选择 RDD 还是 DataFrame 之一?
Posted
技术标签:
【中文标题】我应该在 PySpark 中选择 RDD 还是 DataFrame 之一?【英文标题】:Should I choose one of RDD or DataFrame in PySpark? 【发布时间】:2020-09-22 06:27:52 【问题描述】:在 PySpark(或 Spark)中,我们可以同时使用 RDD 和 DataFrame 结构。我应该选择其中之一吗?
我觉得有些工作对 RDD 来说很容易,而另一些工作对 DataFrame 来说很容易。什么是典型的编程约定?我想我使用了太多的.rdd
和.toDF()
。
【问题讨论】:
这取决于要求或您尝试完成任务的方式。 RDD 和 DF 都在内存中。 Dataframes 使 SQL 查询更容易执行,RDD 可用于其他任务。这取决于您处理的是结构化数据还是非结构化数据。 【参考方案1】:一般建议坚持使用 Dataframe,因为 Spark 可能会使用更紧凑的数据表示形式,并且在处理数据时还会执行大量代码优化,而对于 RDD,这些优化不会执行。在某些情况下,您可能需要返回 RDD,但这不应该经常发生。
附:我建议浏览 Learning Spark, 2ed 即freely available from Databricks - 它也涵盖了这些主题。
【讨论】:
以上是关于我应该在 PySpark 中选择 RDD 还是 DataFrame 之一?的主要内容,如果未能解决你的问题,请参考以下文章