【问题标题】:Any fix for UserWarning: pyarrow.open_stream is deprecated, please use pyarrow.ipc.open_stream?UserWarning 的任何修复:pyarrow.open_stream 已弃用,请使用 pyarrow.ipc.open_stream?
【发布时间】:2019-11-03 02:46:06
【问题描述】:

在使用 pyarrow 函数将 spark df 转换为 pandas df 时,我收到以下警告:

用户警告:pyarrow.open_stream 已弃用,请使用 pyarrow.ipc.open_stream

我正在使用 python 3.7 版本和 Pyspark 2.4.3 pyspark df 大小为 170000 行和 40 列 在使用 Pyarrow 函数将其转换为 pandas 时,尽管获得了完整的数据,但我仅得到 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)

【问题讨论】:

  • 你有什么解决办法吗?

标签: pandas apache-spark pyspark pyarrow


【解决方案1】:

最后我找到了上述查询的解决方案。这是一个数据类型问题。在我的一个专栏中,我在 spark 中处理时生成概率,输出为 4.333333 Incase 概率为 4.3,并且后四舍五入也不起作用,因为在转换自身时它没有存储上列的所有行。由于 spark 使用 Java 处理它,因此 java 允许处理的浮点和字符串变量的预定义长度。 上面的列是相同的。因此,它以错误形式存储 df 和一些行。当我尝试在熊猫中转换时删除此列时,它会迅速转换所有行。

【讨论】:

    猜你喜欢
    • 2019-11-23
    • 1970-01-01
    • 2023-02-19
    • 1970-01-01
    • 1970-01-01
    • 2020-02-02
    • 2014-04-13
    相关资源
    最近更新 更多