【问题标题】:How to convert a spark dataframe into a databrick koalas dataframe?如何将 spark 数据框转换为 databricks koalas 数据框?
【发布时间】:2019-11-04 12:09:54
【问题描述】:

我知道您可以使用

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

df.toPandas()

但是,这需要很长时间,所以我发现了一个在 databricks 中的 koala 包,它可以让我在没有 pandas 数据帧的情况下将数据用作 pandas 数据帧(例如,能够使用 scikit learn)。我已经有了 spark 数据框,但我找不到将它变成考拉数据框的方法。

【问题讨论】:

    标签: python-3.x dataframe databricks


    【解决方案1】:

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

    koalas_df = ks.DataFrame(your_pyspark_df)

    在这里,我将考拉作为 ks 导入。

    【讨论】:

    • 如何将 Koalas 数据帧转换为 Spark 数据帧?
    • 从考拉 DF 转换为火花 DF:your_pyspark_df = koalas_df.to_spark()
    【解决方案2】:

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

    • Spark 数据帧分布在不同的节点中,当您运行 toPandas()
    • 它将分布式数据帧拉回驱动节点(这就是需要很长时间的原因)

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

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

    【讨论】:

    • 使用 koalas_df.to_spark() 将 Koalas 数据帧转换为 Spark 数据帧时会发生什么??
    • 它只是模仿 Pandas 的风格,所以熟悉 Python pandas 的人更容易上手 Spark Dataframe 处理。在底层,它们仍然是不可变的 Spark Dataframe 的转换......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-05
    • 1970-01-01
    • 2021-08-13
    • 1970-01-01
    • 2016-02-17
    • 2017-06-11
    相关资源
    最近更新 更多