首页 > 解决方案 > UserWarning:pyarrow.open_stream 已弃用,请使用 pyarrow.ipc.open_stream 警告

问题描述

我正在spark 2.4.2本地运行pysparkNLP 中的 ML 项目。Pipeline 中的部分预处理步骤涉及使用pandas_udf通过pyarrow. 每次我使用预处理的火花数据框进行操作时,都会出现以下警告:

UserWarning: pyarrow.open_stream 已弃用,请使用 pyarrow.ipc.open_stream warnings.warn("pyarrow.open_stream 已弃用,请使用"

我尝试更新pyarrow但未能避免警告。我的 pyarrow 版本是 0.14。我想知道这个警告的含义以及是否有人找到了解决方案?非常感谢您提前。

火花会话详细信息:

conf = SparkConf(). \
setAppName('map'). \
setMaster('local[*]'). \
set('spark.yarn.appMasterEnv.PYSPARK_PYTHON', '~/anaconda3/bin/python'). \
set('spark.yarn.appMasterEnv.PYSPARK_DRIVER_PYTHON', '~/anaconda3/bin/python'). \
set('executor.memory', '8g'). \
set('spark.executor.memoryOverhead', '16g'). \
set('spark.sql.codegen', 'true'). \
set('spark.yarn.executor.memory', '16g'). \
set('yarn.scheduler.minimum-allocation-mb', '500m'). \
set('spark.dynamicAllocation.maxExecutors', '3'). \
set('spark.driver.maxResultSize', '0'). \
set("spark.sql.execution.arrow.enabled", "true"). \
set("spark.debug.maxToStringFields", '100')

spark = SparkSession.builder. \
    appName("map"). \
    config(conf=conf). \
    getOrCreate()

标签: apache-sparkpysparkuser-defined-functionspyarrow

解决方案


此警告来自您的 版本pyspark,它使用了已弃用的pyarrow.

但是一切正常,所以您可以暂时忽略警告,或者更新您的 pyspark 版本(在最新版本中,他们修复了已弃用的 pyarrow 函数的使用)


推荐阅读