pandas - 对 UserWarning : pyarrow. open_stream 的任何修复均已弃用,请使用 pyarrow.ipc.open_stream?

标签 pandas apache-spark pyspark pyarrow

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

UserWarning: pyarrow.open_stream is deprecated, please use 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)

最佳答案

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

关于pandas - 对 UserWarning : pyarrow. open_stream 的任何修复均已弃用,请使用 pyarrow.ipc.open_stream?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56683286/

相关文章:

Python pandas 将重复时间戳更改为唯一时间戳

scala - Spark历史服务器

python - 无法同时运行多个 SparkContext

python - pandas使用groupby加速多行计算

Python:在 isocalendar 或 strftime 或其他中定义周定义中的起始日

scala - Apache Spark 根据列的不同值计算列值

r - 在Hadoop服务器上分配R处理

python - 如何使用 mapPartitions 在 RDD 的分区上运行 python 用户定义函数?

amazon-web-services - AWS Glue - Avro snappy 压缩读取错误 - HIVE_CANNOT_OPEN_SPLIT : Error opening Hive split

python - 如何使用 eval dataframe 方法在自定义函数中返回 numpy 数组或列表?