我可以将 Pyspark RDD 用作 Pandas DataFrame 吗? Pyspark/spark 在数据分析中对 Pandas 的限制?

Posted

技术标签:

【中文标题】我可以将 Pyspark RDD 用作 Pandas DataFrame 吗? Pyspark/spark 在数据分析中对 Pandas 的限制?【英文标题】:Can I use Pyspark RDD as Pandas DataFrame? Limitations of Pyspark/spark over Pandas in data analysis? 【发布时间】:2018-08-15 05:20:39 【问题描述】:

Pandas 数据框对于执行数据分析非常有用,但它不能很好地处理大数据。因此,我正在考虑在有大数据时使用 PySpark。所以我的问题是:

1.如何将 Pandas DataFrame 转换为 Pyspark RDD 并返回 pandas data-frame?

dataframe=pd.DataFrame('TimeStamp':[pd.to_datetime('2018-7-7 00:10:00 UTC'),pd.to_datetime('2018-7-8 00:10:00 UTC')],'UserId':[111,222], 'Name' ['a', 'b'])

2.Pyspark/spark 对 Pandas 执行数据分析可能存在哪些限制?

还请建议我可以在这种情况下使用的有用的参考资料、书籍、视频吗?

【问题讨论】:

能否将您的代码粘贴为code,而不是截图? 已删除截图 :) 对于您的第一个答案,我建议您查看此链接:***.com/questions/37513355/… 会帮助您。 谢谢。您能否为 Q 2 建议任何可靠的链接。由于我现在使用 pandas 进行数据分析并且熟悉一些 spark 概念,但我不知道我是否能够使用我的 spark 执行所有这些操作我可以使用熊猫。 我同时使用 pyspark 和 pandas,有时甚至同时使用,这当然取决于您的需要,如果您想在分布式艺术中处理数据,那么 pysaprk 就是您的选择。可能它可能不像使用 Pandas 那样简单,因为 Pyspark 的资源相对比 pandas 小。您可能需要User defined functions 才能完成您的工作,因为并非 Pandas 的所有功能都可用。快速谷歌搜索给了我这个:quora.com/… 【参考方案1】:

熊猫 -> pyspark

spark = SparkSession.builder.master("local[*]").getOrCreate()
sparkDf = spark.createDataFrame(pandas_df)`

Pyspark -> 熊猫

pdf = sparkDf.toPandas()

【讨论】:

你能详细解释一下吗?表示我想知道之前是否有任何步骤: sparkDf = context.createDataFrame(pandas_df) 感谢您的回复。但我收到此错误异常:Java gateway process exited before sent its port number after execution of spark = SparkSession.builder.master("local[*]").getOrCreate()`

以上是关于我可以将 Pyspark RDD 用作 Pandas DataFrame 吗? Pyspark/spark 在数据分析中对 Pandas 的限制?的主要内容,如果未能解决你的问题,请参考以下文章

pyspark:将稀疏局部矩阵转换为 RDD

将 RDD 行拆分到 Pyspark 中的不同列

将 RDD 转换为列联表:Pyspark

pyspark RDD 将一行扩展为多行

Pyspark 将 rdd 转换为具有空值的数据帧

从 Pyspark 中的 RDD 中提取字典