Apache spark UserWarning:pyarrow.open\u流已被弃用,请使用pyarrow.ipc.open\u流警告
我正在通过Apache spark UserWarning:pyarrow.open\u流已被弃用,请使用pyarrow.ipc.open\u流警告,apache-spark,pyspark,user-defined-functions,pyarrow,Apache Spark,Pyspark,User Defined Functions,Pyarrow,我正在通过pyspark本地运行spark 2.4.2,用于NLP中的一个ML项目。管道中的部分预处理步骤涉及使用通过pyarrow优化的pandas\u udf函数。每次使用预处理的spark数据帧操作时,都会出现以下警告: 用户警告:pyarrow.open\u流已被弃用,请使用pyarrow.ipc.open\u流 warnings.warn(“pyarrow.open\u流已弃用,请使用” 我尝试更新pyarrow,但未能避免警告。我的pyarrow版本为0.14。我想知道此警告的含义,
pyspark
本地运行spark 2.4.2
,用于NLP中的一个ML项目。管道中的部分预处理步骤涉及使用通过pyarrow
优化的pandas\u udf
函数。每次使用预处理的spark数据帧操作时,都会出现以下警告:
用户警告:pyarrow.open\u流已被弃用,请使用pyarrow.ipc.open\u流
warnings.warn(“pyarrow.open\u流已弃用,请使用”
我尝试更新pyarrow
,但未能避免警告。我的pyarrow版本为0.14。我想知道此警告的含义,以及是否有人找到了解决方案?非常感谢
Spark会话详细信息:
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()
我在
pycharm
中也遇到了同样的问题,当使用jupyter lab
时,它似乎工作正常此警告来自您版本的pyspark
,它使用了一个弃用的pyarrow
函数
但一切正常,因此您可以暂时忽略警告,或者更新pyspark版本(在最新版本中,他们修复了不推荐使用的pyarrow函数的用法)我最终修复了pycharm中的警告,将pyarrow从0.14降级到0.11。因此,在您环境中的项目解释器下,在终端中运行:
pip卸载pyarrow
和pip安装pyarrow==0.11
警告不会出现,因此此解决方案对那些愿意在pycharmIf中使用pyarrow的人很有帮助。如果您在Databricks中收到此警告,您可能需要升级到6.2: