如何将 scala spark.sql.dataFrame 转换为 Pandas 数据框

Posted

技术标签:

【中文标题】如何将 scala spark.sql.dataFrame 转换为 Pandas 数据框【英文标题】:How to convert scala spark.sql.dataFrame to Pandas data frame 【发布时间】:2019-08-05 06:19:04 【问题描述】:

我想将 scala 数据帧转换为 pandas 数据帧

    val collection = spark.read.sqlDB(config)
    collection.show()

    #Should be like df=collection

【问题讨论】:

如果你使用pyspark会更容易:***.com/questions/50958721/… 【参考方案1】:

您正在寻求一种使用 Scala 中的 Python 库的方法。这对我来说有点奇怪。你确定你必须这样做吗?也许你知道,但是 Scala DataFrames 有一个很好的 API,它可能会为你提供你需要的 pandas 的功能。

如果您仍需要使用 pandas,我建议您将所需的数据写入文件(例如 csv)。然后,您可以使用 Python 应用程序将该文件加载到 pandas 数据框并从那里开始工作。

尝试从 Scala 创建 pandas 对象可能过于复杂(我不确定目前是否可行)。

【讨论】:

【参考方案2】:

我想如果你想在SPARK 代码中使用基于pandas 的API,那么你可以安装Koalas-Python 库。因此,无论您想直接从pandas API 使用什么功能,您都可以将它们嵌入到SPARK 代码中。

安装 kolas

pip install koalas

【讨论】:

我认为这里的collection 变量是dataframetoPandas() def 会在那里。如果您应用 toPandas() 函数,它将返回基于 pandas 的数据框。此链接将提供有关安装kolas 以及如何使用它的更多信息。 medium.com/future-vision/… 与我的问题无关。

以上是关于如何将 scala spark.sql.dataFrame 转换为 Pandas 数据框的主要内容,如果未能解决你的问题,请参考以下文章

我将如何在 Scala 中表达链式赋值?

如何将 Int 转换为有序 (Scala)

如何将 scala.List 转换为 java.util.List?

如何将 Scala 中的包设为私有?

如何设置 sbt/scala/play 多模块项目,该项目将与 Intellij scala 插件一起正常工作

您将如何在 Scala 中实现缓存方面