Как указать путь класса драйвера при использовании pyspark в ноутбуке jupyter? [Дубликат]

Основной элемент сообщения электронной почты - это обычный текст. Если вам нужен другой тип, например, HTML или многостраничное сообщение, вам необходимо использовать расширение MIME и указать тип соответствующим образом, используя Content-Type (например, text/html для HTML или multipart/… для multipart сообщение).

Таким образом, с точки зрения безопасности невозможно внедрить что-либо вредное (по крайней мере, не по спецификации). Даже символы, отличные от ASCII, должны обрабатываться правильно, несмотря на отсутствие объявления используемой кодировки символов.

Однако все еще могут быть некоторые недостатки в почтовых клиентах, которые могут быть использованы таким образом. Но я сомневаюсь в этом.

0
задан user6910411 19 April 2018 в 01:38
поделиться

3 ответа

0
ответ дан kluu 5 September 2018 в 15:23
поделиться

Я полагаю, вы также можете добавить это как переменную в свой файл spark-defaults.conf. Итак, что-то вроде:

spark.jars.packages    com.databricks:spark-csv_2.10:1.3.0

Это будет загружать библиотеку spark-csv в PySpark каждый раз при запуске драйвера.

Очевидно, что ответ нуля более гибкий, потому что вы можете добавить эти строки в свое приложение PySpark перед импортом пакета PySpark:

import os
os.environ['PYSPARK_SUBMIT_ARGS'] = '--packages com.databricks:spark-csv_2.10:1.3.0 pyspark-shell'

from pyspark import SparkContext, SparkConf

Таким образом вы импортируете только те пакеты, которые вы на самом деле нужен для вашего скрипта.

8
ответ дан Disco4Ever 15 August 2018 в 16:19
поделиться
  • 1
    Если вы используете ноутбук, это, безусловно, самый портативный вариант: я запускаю версию all-spark-notebook, и это разблокирует разбор CSV для всех трех языков одновременно. – mrArias 21 November 2016 в 15:02
  • 2
    Я пытаюсь импортировать пакет mmlspark. Использование в моем ноутбуке. Но получение ошибки mmlspark не найден импорт os import sys os.environ ["PYSPARK_SUBMIT_ARGS"] = \ & quot; - пакеты Azure: mmlspark: 0.13 \ pyspark-shell & quot; import findpark находитpark.add_packages (["Azure: mmlspark: 0.13"]) находитpark.init () – Naveenan 17 July 2018 в 22:00

Вы можете просто передать его в переменной PYSPARK_SUBMIT_ARGS. Например:

export PACKAGES="com.databricks:spark-csv_2.11:1.3.0"
export PYSPARK_SUBMIT_ARGS="--packages ${PACKAGES} pyspark-shell"

Эти свойства также могут быть установлены динамически в вашем коде до того, как SparkContext / SparkSession и соответствующая JVM были запущены:

packages = "com.databricks:spark-csv_2.11:1.3.0"

os.environ["PYSPARK_SUBMIT_ARGS"] = (
    "--packages {0} pyspark-shell".format(packages)
)
12
ответ дан zero323 15 August 2018 в 16:19
поделиться
  • 1
    Разве это не отменяет все, что уже есть в os.environ["PYSPARK_SUBMIT_ARGS"]? Я думаю, что это нужно упомянуть, потому что я потратил много времени на выяснение того, что произошло – David Arenburg 28 November 2016 в 09:56
  • 2
    Это не работает для Кафки. Я все еще становлюсь ниже ошибки: java.lang.ClassNotFoundException: Failed to find data source: kafka. Код: import os os.environ['PYSPARK_SUBMIT_ARGS'] = '--packages org.apache.spark:spark-sql-kafka-0-10_2.11:2.2.0 pyspark-shell' – Hemant Chandurkar 9 July 2018 в 11:29
Другие вопросы по тегам:

Похожие вопросы: