代码之家  ›  专栏  ›  技术社区  ›  cozyss

何时在Spark2.0中使用rdd?

  •  3
  • cozyss  · 技术社区  · 9 年前

    2 回复  |  直到 9 年前
        1
  •  4
  •   Alper t. Turker    9 年前

    看来我们不再需要RDD了

    RDD API更通用,事实上SQL API是在RDD API的基础上构建的,带有一系列扩展。

    既然RDD很贵,我们似乎应该避免它。

    org.apache.spark.ml ).

    有人能解释一下什么时候是在Spark2中使用RDD的好时机吗?

    它是基于意见的,但如果您需要端到端类型安全或大量使用没有内置编码器的类型,RDD API是一个自然选择。

    Partitioners ).

        2
  •  1
  •   jkschin    7 年前

    TLDR:只有在需要对数据的物理分布进行细粒度控制时,才应该使用RDD。

    这可能与Spark 2.0无关,可能与Spark 2.2及其后版本有关。我在 Spark: The Definitive Guide 我发现本书的这一部分有助于决定是否使用RDD:

    在现代Spark中基本上没有这样的例子,你应该 非常原始的未经处理的非结构化数据(第44页)。

    如果您决定绝对需要使用RDD,可以参考本书中“何时使用RDD”一节的第212页。摘录转载:

    非常非常具体的原因。他们的水平要低得多 结构化API中提供的优化。对于广大 在大多数用例中,数据帧将更高效、更稳定, 比RDD更具表现力。

    需要对数据的物理分布进行细粒度控制

    推荐文章