关于使用pyarrow函数将火花df转换为熊猫df,我收到以下警告:
UserWarning:不推荐pyarrow.open_stream,请使用pyarrow.ipc.open_stream
我正在使用python3.7版本和Pyspark 2.4.3版本,在使用Pyarrow函数将其转换为熊猫时,pyspark的大小是170000行和40列,尽管获得了完整的数据,但我只得到了61585行和40列作为输出。
train_set.count()
170000
spark.conf.set("spark.sql.execution.arrow.enabled", "True")
result_pdf = train_set.select("*").toPandas()
> C:\anaconda\lib\site-packages\pyarrow\__init__.py:152: UserWarning:
> pyarrow.open_stream is deprecated, please use pyarrow.ipc.open_stream
> warnings.warn("pyarrow.open_stream is deprecated, please use "
result_pdf.shape
(61585, 40)
预期:
result_pdf.shape
(170000,40)
实际:
result_pdf.shape
(61585,40)
发布于 2019-06-29 07:18:21
最后,我为上面的查询找到了一个解决方案。这是一个数据类型问题。在我的一列中,我正在生成概率,而在spark中进行处理时,输出的Incase概率为4.333333,Incase概率为4.3,而将其舍入也不起作用,因为在转换自身时,它没有为上面的列存储所有行。因为spark使用Java处理它,所以java允许处理的浮动和字符串变量的长度是预定义的。上面的那一列也是一样的。因此,它使用错误形式的一些行来存储df。当我试图转换成熊猫的时候,移除这个专栏,它迅速地转换了所有的行。
https://stackoverflow.com/questions/56683286
复制相似问题