pyspark.pandas 是重写 pandas 数据框架的最佳解决方案(从劳动力的角度来看)吗?

问题描述 投票:0回答:0

我们遇到的问题是我们在 pandas 中有很多历史 python 代码,这意味着所有内容都在内存中处理(基于 pandas dataframe)。

我们正在使用更多数据,不可能只在内存中处理,我们必须将历史代码从 pandas 重写为分布式数据框。我们正在考虑替代 python 解决方案,例如 Dask、PySpark (pyspark.pandas)、Polars 等

可以看到pyspark.pandas的用法(重写代码相对容易,最终输出接近原始pandas代码):

import pyspark.pandas as ps

# Create pandas DataFrame
technologies   = ({
    'Courses':["Spark","PySpark","Hadoop","Python","Pandas","Hadoop","Spark","Python","NA"],
    'Fee' :[22000,25000,23000,24000,26000,25000,25000,22000,1500],
    'Duration':['30days','50days','55days','40days','60days','35days','30days','50days','40days'],
    'Discount':[1000,2300,1000,1200,2500,None,1400,1600,0]
          })
df = ps.DataFrame(technologies)
print(df)

# Use groupby() to compute the sum
df2 = df.groupby(['Courses']).sum()
print(df2)

您对替换 pandas 的建议是什么,pyspark.pandas 是否是最适合您的解决方案(如果我们的首要任务是最大限度地减少开发工作)?在使用 pyspark.pandas 时,您是否遇到过任何不兼容问题?

感谢分享您的经验。

BTW:看到很多样例here,官方文档见pyspark.pandas

python pandas dask python-polars pyspark-pandas
© www.soinside.com 2019 - 2024. All rights reserved.