Не удалось выполнить задание sumit python Spark 2.4.6 с --py-files - PullRequest
0 голосов
/ 19 июня 2020

The spark job sr c


from __future__ import print_function

import sys
import pandas as pd
from pyspark.sql import SparkSession

if __name__ == "__main__":

    spark = SparkSession\
        .builder\
        .appName("PythonSort")\
        .getOrCreate()

    spark.sparkContext.setLogLevel('WARN')

    # Enable Arrow-based columnar data transfers
    spark.conf.set("spark.sql.execution.arrow.enabled", "true")

    # Generate a Pandas DataFrame
    pdf = pd.DataFrame(np.random.rand(100, 3))

    # Create a Spark DataFrame from a Pandas DataFrame using Arrow
    df = spark.createDataFrame(pdf)
    df.show()

    spark.stop()
  1. упакуйте pandas zip-файлы, как показано ниже,
pip install -t dependencies -r requirements.txt
cd dependencies
zip -r ../dependencies.zip 

ls dependencies

__pycache__         numpy               pandas-1.0.5.dist-info      python_dateutil-2.8.1.dist-info six-1.15.0.dist-info
bin             numpy-1.18.5.dist-info      pyarrow             pytz                six.py
dateutil            pandas              pyarrow-0.17.1.dist-info    pytz-2020.1.dist-info

Как вы видите здесь, Здесь установлены pandas, numpy, dateutil, pytz

отправить файл python с помощью spark-sumbit
bin/spark-submit --master local --py-files ../dependencies.zip ~/Desktop/sort.py   
Ошибка отчета об искре
Traceback (most recent call last):
  File "/Users/xxx/Desktop/sort.py", line 21, in <module>
    import pandas as pd
  File "/Users/xxx/ttt/dependencies.zip/pandas/__init__.py", line 13
    missing_dependencies.append(f"{dependency}: {e}")

Кажется, что Spark находит pandas в dependencecies.zip, но не может найти запись numpy или другой пакет.

Вопрос в том, что лучше всего включить pandas и его друзей в искровые задания?

...