【问题标题】:What are the best practices around accessing RDD's in Spark SQL API?在 Spark SQL API 中访问 RDD 的最佳实践是什么?
【发布时间】:2019-01-30 07:58:33
【问题描述】:

在使用 pyspark 的 SQL API 时,我有时会看到人们建议访问底层 RDD 来执行转换。 Spark 在这方面的有意使用是什么?他们说 RDD API 将在 Spark 3.0 中被删除,那么今天编写的所有代码是否应该避免使用底层 RDD,以考虑形式和未来的可比性?

【问题讨论】:

  • 我想知道为什么 RDD 会被删除,因为它有不同的目的。可以报​​价吗?

标签: python apache-spark pyspark apache-spark-sql


【解决方案1】:

Spark sql 和数据框架 API 是高级 API,易于与催化剂优化器一起使用。也就是说,您将在这些 API 中编写的代码将由其催化剂引擎自动优化。

RDD 是一个低级 API,只能用于需要处理高级 API 无法处理的完全非结构化原始数据的情况。

即使你用dataframe和sql写代码,spark也会自动转换成rdds。

建议使用高级 API 编写,因为您可以使用火花催化剂优化器。如果你将使用 rdd 编写,那么它不会被优化,你需要优化你的代码。

虽然我不确定 rdd api 是否会在未来被移除,但目前大部分工作都在进行数据框和 sql 支持

【讨论】:

    猜你喜欢
    • 2016-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-07
    • 1970-01-01
    相关资源
    最近更新 更多