Apache spark “如何修复”;导入错误:PyArrow>;=必须安装0.8.0;但是,没有找到它。”;?
我使用PySpark 2.4.0,在Apache spark “如何修复”;导入错误:PyArrow>;=必须安装0.8.0;但是,没有找到它。”;?,apache-spark,pyspark,pyspark-sql,Apache Spark,Pyspark,Pyspark Sql,我使用PySpark 2.4.0,在PySpark中执行以下代码时: $ ./bin/pyspark Python 2.7.16 (default, Mar 25 2019, 15:07:04) ... Welcome to ____ __ / __/__ ___ _____/ /__ _\ \/ _ \/ _ `/ __/ '_/ /__ / .__/\_,_/_/ /_/\_\ version 2.4.0 /_
PySpark
中执行以下代码时:
$ ./bin/pyspark
Python 2.7.16 (default, Mar 25 2019, 15:07:04)
...
Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/__ / .__/\_,_/_/ /_/\_\ version 2.4.0
/_/
Using Python version 2.7.16 (default, Mar 25 2019 15:07:04)
SparkSession available as 'spark'.
>>> from pyspark.sql.functions import pandas_udf
>>> from pyspark.sql.functions import pandas_udf, PandasUDFType
>>> from pyspark.sql.types import IntegerType, StringType
>>> slen = pandas_udf(lambda s: s.str.len(), IntegerType())
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/x/spark/python/pyspark/sql/functions.py", line 2922, in pandas_udf
return _create_udf(f=f, returnType=return_type, evalType=eval_type)
File "/Users/x/spark/python/pyspark/sql/udf.py", line 47, in _create_udf
require_minimum_pyarrow_version()
File "/Users/x/spark/python/pyspark/sql/utils.py", line 149, in require_minimum_pyarrow_version
"it was not found." % minimum_pyarrow_version)
ImportError: PyArrow >= 0.8.0 must be installed; however, it was not found.
$。/bin/pyspark
Python 2.7.16(默认值,2019年3月25日,15:07:04)
...
欢迎来到
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/__/.\uuu/\\ uuu//\ u/\\ u2.4.0版
/_/
使用Python版本2.7.16(默认值,2019年3月25日15:07:04)
SparkSession可用作“spark”。
>>>从pyspark.sql.functions导入
>>>从pyspark.sql.functions导入pandasuudf,PandasUDFType
>>>从pyspark.sql.types导入IntegerType、StringType
>>>slen=pandas\u udf(lambda s:s.str.len(),IntegerType())
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
pandas_udf中的文件“/Users/x/spark/python/pyspark/sql/functions.py”,第2922行
return\u create\u udf(f=f,returnType=return\u type,evalType=eval\u type)
文件“/Users/x/spark/python/pyspark/sql/udf.py”,第47行,在
需要\u最小\u pyarrow\u版本()
文件“/Users/x/spark/python/pyspark/sql/utils.py”,第149行,在require\u minimum\u pyarrow\u版本中
“找不到它。”%minimum\u pyarrow\u版本)
导入错误:必须安装PyArrow>=0.8.0;但是,没有找到它。
如何修复?本例中的错误消息具有误导性,
pyarrow
未安装
根据官方文档(导致),您只需执行以下命令之一:
$ conda install -c conda-forge pyarrow
或
在适当的用户和Python版本下运行它也很重要。也就是说,如果在根目录下使用Python3的齐柏林飞艇,可能需要执行它
# pip3 install pyarrow
相反重新安装
pyarrow
才是适合我的:
$ pip uninstall pyarrow -y
$ pip install pyarrow
然后重新启动内核。我也遇到了这个问题,但事实证明这是一个虚拟环境问题 所以我跑:
conda deactivate
conda activate <NAME_OF_VENV>
conda停用
康达激活
然后我就可以正常安装了。我遇到了同样的问题,让
pyarrow
使用Spark 2.3。
以下是已解决的问题:
sudo apt get remove python pandas
pandas(0.24.2)
)
sudo pip安装程序
pyarrow(0.16.0)
):
sudo pip安装pyarrow
spark env.sh
ARROW\u PRE\u 0\u 15\u IPC\u格式=1
pyspark
PyArrow真的安装了吗?我觉得这个错误一定是误导性的。不,不是。我已经这样做了,但还没有起作用。它可能与安装它的文件夹有关吗?如果我做$pip列表,我可以看到pyarrow 0.16.0我已经做了,但还没有工作。它可能与安装它的文件夹有关吗?如果我使用$pip列表,我可以看到pyarrow 0.16.0该部分“重新启动所有工作程序和主程序”听起来像是使用Spark Standalone cluster,您是对的,在安装pyarrow for Spark(
pyarrow
工具和节点)后,它们必须重新启动。
conda deactivate
conda activate <NAME_OF_VENV>