= 0.8.0 doit être installé; cependant, il n'a pas été trouvé."? - Retrouvez les réponses et les commentaires concernant cette question" />
J'utilise PySpark 2.4.0 et lorsque j'ai exécuté le code suivant dans 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.
Comment y remédier?
4 Réponses :
Le message d'erreur dans ce cas est trompeur, pyarrow
n'a pas été installé.
De la documentation officielle Spark SQL Guide (qui a conduit à Installation de PyArrow ), vous devez simplement exécuter l'une des commandes suivantes:
# pip3 install pyarrow
ou
$ pip install pyarrow
Il est également important de l'exécuter avec l'utilisateur et la version Python appropriés. Par exemple, si l'on utilise Zeppelin sous root avec Python3, il peut être nécessaire de l'exécuter
$ conda install -c conda-forge pyarrow
à la place
Je l'ai fait mais je ne travaille pas encore. Cela pourrait-il être lié au dossier dans lequel il est installé? Si je fais $ pip list, je peux voir pyarrow 0.16.0
Réinstaller pyarrow
est ce qui fonctionne pour moi:
$ pip uninstall pyarrow -y $ pip install pyarrow
puis redémarrez le noyau.
Je l'ai fait mais je ne travaille pas encore. Cela pourrait-il être lié au dossier dans lequel il est installé? Si je fais $ pip list, je peux voir pyarrow 0.16.0
J'ai également eu ce problème, mais il s'est avéré que c'était un problème d'environnement virtuel.
alors j'ai lancé:
conda deactivate conda activate <NAME_OF_VENV>
et ensuite je pourrais installer normalement. p>
J'ai le même problème pour faire fonctionner pyarrow
avec Spark 2.3.
Ce qui suit a résolu le mien:
désinstaller les pandas depuis le mien à venir pour le paquet deb9
sudo apt-get supprimer python-pandas
installer des pandas ( pandas (0.24.2)
)
sudo pip install pandas
installer pyarrow ( pyarrow (0.16.0)
):
sudo pip install pyarrow
ajoutez ce qui suit à spark-env.sh
ARROW_PRE_0_15_IPC_FORMAT=1
redémarrer tous les nœuds de calcul et maîtres
exécuter pyspark
Cette partie "redémarrer tous les nœuds de calcul et tous les maîtres" semble que vous utilisez le cluster Spark Standalone et vous avez raison, ils doivent être redémarrés après l'installation de pyarrow pour Spark (outil pyspark
et le nœuds).
PyArrow est-il vraiment installé? J'ai le sentiment que l'erreur doit être trompeuse.
Non, ce n'était pas le cas.