= 0.8.0 doit être installé; cependant, il n'a pas été trouvé."? - Retrouvez les réponses et les commentaires concernant cette question" />
3
votes

Comment réparer "ImportError: PyArrow> = 0.8.0 doit être installé; cependant, il n'a pas été trouvé."?

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?


2 commentaires

PyArrow est-il vraiment installé? J'ai le sentiment que l'erreur doit être trompeuse.


Non, ce n'était pas le cas.


4 Réponses :


4
votes

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


1 commentaires

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



0
votes

Réinstaller pyarrow est ce qui fonctionne pour moi:

$ pip uninstall pyarrow -y
$ pip install pyarrow

puis redémarrez le noyau.


1 commentaires

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



1
votes

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>


0 commentaires

0
votes

J'ai le même problème pour faire fonctionner pyarrow avec Spark 2.3. Ce qui suit a résolu le mien:

  1. désinstaller les pandas depuis le mien à venir pour le paquet deb9

    sudo apt-get supprimer python-pandas

  2. installer des pandas ( pandas (0.24.2) )

    sudo pip install pandas

  3. installer pyarrow ( pyarrow (0.16.0) ):

    sudo pip install pyarrow

  4. ajoutez ce qui suit à spark-env.sh

    ARROW_PRE_0_15_IPC_FORMAT=1

  5. redémarrer tous les nœuds de calcul et maîtres

  6. exécuter pyspark


1 commentaires

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).