如何将 spark 数据帧转换为 databrick koalas 数据帧?

How to convert a spark dataframe into a databrick koalas dataframe?

我知道您可以使用

将 spark 数据帧 df 转换为 pandas 数据帧

df.toPandas()

然而,这需要很长时间,所以我在数据块中发现了一个考拉包,它可以让我将数据用作 pandas 数据框(例如,能够使用 scikit 学习)没有 pandas 数据框。我已经有了 spark 数据框,但我找不到将其变成 Koalas 数据框的方法。

要直接从 pyspark 数据框(我假设这就是您正在使用的数据框)到 koalas 数据框,您可以使用:

koalas_df = ks.DataFrame(your_pyspark_df)

这里我将考拉导入为 ks。

嗯。首先,你要明白 toPandas() 耗时这么长的原因:

  • Spark 数据帧分布在不同的节点中,当您 运行 toPandas()
  • 会把分布式dataframe拉回driver节点(所以耗时长)

  • 然后您可以在单个(Driver)节点中使用 pandas 或 Scikit-learn 进行更快的分析和建模,因为这就像您在自己的 PC 上建模

  • Koalas 是 spark 中的 pandas API 当你将它转换为 koalas dataframe 时:它仍然是分布式的,所以它不会在不同节点之间打乱数据,所以你可以使用 pandas' 分布式数据帧转换的类似语法