在PySpark中的分区中连接DataFrame

时间:2017-12-26 18:55:34

标签: apache-spark pyspark spark-dataframe

我有两个数据帧,其行数很大(数百万到数千万)。我想在他们之间加入。

在我目前正在使用的BI系统中,您可以通过首先对特定键进行分区,然后对该键进行连接来快速完成此操作。

这是我需要在Spark中遵循的模式,还是无关紧要?乍一看似乎很多时间浪费了分区之间的数据,因为它没有被正确地预分区。

如果有必要,那我该怎么做?

1 个答案:

答案 0 :(得分:1)

  

如果有必要,那我该怎么做?

How to define partitioning of DataFrame?

然而,只有在两个条件下才有意义:

  • 有多个联接使用相同的应用程序。分区会自行混洗,因此如果它是单个连接,则没有附加值。
  • 这是一个长期存在的应用程序,其中将重用洗牌数据。 Spark无法利用以外部格式存储的数据的分区。