使用新 pyspark.pandas 的正确方法?

Posted

技术标签:

【中文标题】使用新 pyspark.pandas 的正确方法?【英文标题】:The right way to use the new pyspark.pandas? 【发布时间】:2021-10-26 21:17:17 【问题描述】:

Databricks https://databricks.com/blog/2021/10/04/pandas-api-on-upcoming-apache-spark-3-2.html 最近发布的这篇博文说,在 pyspark.pandas 下运行 pandas 程序所需的唯一更改是将 from pandas import read_csv 更改为 from pyspark.pandas import read_csv

但这似乎不对。那么所有其他(非read_csv)对熊猫的引用呢?将import pandas as pd 更改为import pyspark.pandas as pd 不是正确的方法吗?那么现有程序中的所有其他 pandas 引用都将指向 pyspark 版本的 pandas。

【问题讨论】:

【参考方案1】:

你没看错。然而,他们建议的规范方式是from pyspark import pandas as ps

【讨论】:

谢谢。我可以测试一下。所以这意味着要遍历我的整个程序并将所有 pd 更改为 ps?不完全是一行更改。 该行不起作用。它导致错误... ImportError: cannot import name 'pandas' from 'pyspark.pandas' (/databricks/spark/python/pyspark/pandas/__init__.py) 对不起,我的错。编辑了答案! 以上工作。但是对于我的代码,我决定使用 pspd(PySpark pandas)而不是 ps 更清楚。这将 PySpark.pandas 与 PySpark 本身区分开来。

以上是关于使用新 pyspark.pandas 的正确方法?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Snowflake SQL 查询创建 PySpark pandas-on-Spark DataFrame?

在 pyspark.pandas 中添加/减去日期时间

使用 pyspark/pandas 使用列名的模式匹配对具有不同列名的多个列值求和

PySpark pandas_udfs java.lang.IllegalArgumentException错误

将 pyspark pandas_udf 与 AWS EMR 一起使用时出现“没有名为‘pandas’的模块”错误

pyspark pandas 对象作为数据框 - TypeError