【问题标题】:UserWarning: pyarrow.open_stream is deprecated, please use pyarrow.ipc.open_stream warningsUserWarning: pyarrow.open_stream 已弃用,请使用 pyarrow.ipc.open_stream 警告
【发布时间】:2019-11-23 11:55:15
【问题描述】:

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

用户警告:pyarrow.open_stream 已弃用,请使用 pyarrow.ipc.open_stream warnings.warn("pyarrow.open_stream 已弃用,请使用"

我尝试更新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()

【问题讨论】:

  • 我终于通过将 pyarrow 从 0.14 降级到 0.11 修复了 pycharm 中的警告。因此,在您的环境中的项目解释器下,在终端中运行:pip uninstall pyarrowpip install pyarrow==0.11 从终端(或 jupyter)运行时不会出现警告,因此此解决方案对那些愿意在 pycharm 中使用 pyarrow 的人有所帮助
  • 如果您在 Databricks 中收到此警告,您可能需要升级到 6.2:issues.apache.org/jira/browse/SPARK-29875

标签: apache-spark pyspark user-defined-functions pyarrow


【解决方案1】:

我在pycharm 中遇到了同样的问题,使用jupyter lab 时它似乎工作正常

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2019-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-06
      • 2015-03-23
      • 2019-07-09
      • 1970-01-01
      • 2021-12-19
      相关资源
      最近更新 更多