загрузить библиотеку Databricks csv в pyspark

Я пытаюсь загрузить библиотеку csv для блоков данных (см. https://github.com/databricks/spark-csv) на моем искровом кластере, который я создал с помощью Google Dataproc. И все это с помощью PySpark.

Я запускаю PySpark и ввожу:

spark-submit --packages com.databricks:spark-csv_2.11:1.2.0 --verbose

Но я получаю такой ответ:

Using properties file: /usr/lib/spark/conf/spark-defaults.conf
Adding default property: spark.executor.extraJavaOptions=-Xbootclasspath/p:/usr/local/share/google/alpn/alpn-boot-8.1.3.v20150130.jar
Adding default property: spark.history.fs.logDirectory=file:///var/log/spark/events
Adding default property: spark.eventLog.enabled=true
Adding default property: spark.driver.maxResultSize=937m
Adding default property: spark.shuffle.service.enabled=true
Adding default property: spark.yarn.historyServer.address=fb-cluster-1-m:18080
Adding default property: spark.driver.memory=1874m
Adding default property: spark.dynamicAllocation.maxExecutors=100000
Adding default property: spark.scheduler.minRegisteredResourcesRatio=0.0
Adding default property: spark.yarn.am.memory=2176m
Adding default property: spark.driver.extraJavaOptions=-Xbootclasspath/p:/usr/local/share/google/alpn/alpn-boot-8.1.3.v20150130.jar
Adding default property: spark.master=yarn-client
Adding default property: spark.executor.memory=2176m
Adding default property: spark.eventLog.dir=file:///var/log/spark/events
Adding default property: spark.dynamicAllocation.enabled=true
Adding default property: spark.executor.cores=1
Adding default property: spark.yarn.executor.memoryOverhead=384
Adding default property: spark.dynamicAllocation.minExecutors=1
Adding default property: spark.dynamicAllocation.initialExecutors=100000
Adding default property: spark.akka.frameSize=512
Error: Must specify a primary resource (JAR or Python or R file)
Run with --help for usage help or --verbose for debug output

Это противоречит документу https://github.com/databricks/spark-csv в сочетании с сообщением. lebigot на https://github.com/databricks/spark-csv/issues/59

Кто-нибудь может мне помочь?


person sweeeeeet    schedule 27.10.2015    source источник
comment
Вы запускаете оболочку pyspark и вводите команду spark-submit? Можете ли вы попробовать pyspark --packages com.databricks:spark-csv_2.11:1.2.0, если вы еще этого не сделали? Я могу запустить это локально.   -  person Rohan Aletty    schedule 27.10.2015
comment
да, я запускаю оболочку pyspark и ввожу команду spark-submit. Я попробовал вашу команду, и она работает, спасибо. Но установлен ли пакет навсегда? Или просто временно скачал?   -  person sweeeeeet    schedule 27.10.2015
comment
Привет @sweeeeeet, я добавил ответ с немного дополнительной информацией. Надеюсь, это поможет!   -  person Rohan Aletty    schedule 27.10.2015


Ответы (1)


Похоже, вы пытались запустить команду spark-submit в оболочке pyspark. Важно отметить, что команда spark-submit используется для настройки и запуска связанных приложений в кластере, тогда как команды spark-shell или pyspark используются для создания среды оболочки с предварительно созданным экземпляром SparkContext, чтобы вы могли запускать команды spark в контексте оболочки. Использование командной строки оболочки довольно похоже на spark-submit, поэтому в вашем случае вам придется запустить свою оболочку, как показано ниже, если вы хотите включить пакет spark-csv:

pyspark --packages com.databricks:spark-csv_2.11:1.2.0 

Чтобы ответить на другие вопросы в вашем комментарии, входные данные, предоставленные флагу --packages, представляют собой список координат Maven, которые сопоставляются с jar-файлами, которые нужно искать и добавлять в путь к классам драйвера/исполнителя (ов) до начала задания. Искомые репозитории будут вашим локальным репозиторием Maven и центральным Maven по умолчанию (а также любыми другими репозиториями, определенными под флагом --repositories). Если у вас раньше не было пакета в вашем локальном репозитории Maven, он будет загружен из центра Maven, а затем получен из локального всякий раз, когда вы снова используете банку.

person Rohan Aletty    schedule 27.10.2015
comment
В Dataproc 1.1 (Spark 2.0), когда я запускаю pyspark -- packages com.databricks:spark-csv_2.10:1.0.3 на главном узле, он возвращает сообщение об ошибке pyspark does not support any application options - person mobcdi; 27.08.2016