Подтвердить что ты не робот

Чтение csv файлов в zeppelin с использованием spark-csv

Я хочу читать csv файлы в Zeppelin и хотел бы использовать databricks ' spark-csv package: https://github.com/databricks/spark-csv

В искровой оболочке я могу использовать spark-csv с

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

Но как я могу указать Zeppelin на использование этого пакета?

Спасибо заранее!

4b9b3361

Ответ 1

Вам нужно добавить репозиторий Spark Packages в Zeppelin, прежде чем вы сможете использовать% dep на пакетах искры.

%dep
z.reset()
z.addRepo("Spark Packages Repo").url("http://dl.bintray.com/spark-packages/maven")
z.load("com.databricks:spark-csv_2.10:1.2.0")

В качестве альтернативы, если это то, что вы хотите использовать во всех ноутбуках, вы можете добавить опцию --пакеты в параметр команды исправить-отправить в конфигурации интерпретаторов в Zeppelin, а затем перезапустить интерпретатор. Это должно начать контекст с уже загруженным пакетом по методу искровой оболочки.

Ответ 2

  • Перейдите на вкладку "Интерпретатор", нажмите "Информация репозитория", добавьте репо и установите URL-адрес в http://dl.bintray.com/spark-packages/maven
  • Прокрутите список до абзаца искрового интерпретатора и нажмите "Редактировать", немного прокрутите поле "Артефакт" и добавьте "com.databricks: spark-csv_2.10: 1.2.0" или более новую версию. Затем перезапустите интерпретатор, когда его спросят.
  • В записной книжке используйте что-то вроде:

    import org.apache.spark.sql.SQLContext
    
    val sqlContext = new SQLContext(sc)
    val df = sqlContext.read
        .format("com.databricks.spark.csv")
        .option("header", "true") // Use first line of all files as header
        .option("inferSchema", "true") // Automatically infer data types
        .load("my_data.txt")
    

Update:

В списке рассылки пользователей Zeppelin теперь (ноябрь 2016) заявила Moon Soo Lee (создатель Apache Zeppelin), которую пользователи предпочитают сохранять% dep, поскольку она позволяет:

  • требования к самостоятельной документации библиотеки в ноутбуке;
  • за загрузку библиотеки (и возможный для каждого пользователя).

Тенденция теперь состоит в том, чтобы удерживать% dep, поэтому она не должна считаться обесцененной в это время.

Ответ 3

НАЧАТЬ-РЕДАКТИРОВАТЬ

% dep не рекомендуется в Zeppelin 0.6.0. Пожалуйста, см. Пол-Арманд Верхаген.

Прочтите далее в этом ответе, если вы используете zeppelin старше 0.6.0

END-РЕДАКТИРОВАТЬ

Вы можете загрузить пакет spark-csv с помощью% dep interpreter.

как

%dep
z.reset()

// Add spark-csv package
z.load("com.databricks:spark-csv_2.10:1.2.0")

См. раздел Загрузка зависимостей в https://zeppelin.incubator.apache.org/docs/interpreter/spark.html

Если вы уже инициализировали Spark Context, быстрое решение состоит в том, чтобы перезапустить zeppelin и выполнить параграф zeppelin с вышеуказанным кодом, а затем выполнить ваш искровой код, чтобы прочитать файл CSV

Ответ 4

если вы определяете в conf/zeppelin-env.sh

export SPARK_HOME=<PATH_TO_SPARK_DIST>

Затем Zeppelin заглянет в $SPARK_HOME/conf/spark-defaults.conf, и вы можете определить там банки:

spark.jars.packages                com.databricks:spark-csv_2.10:1.4.0,org.postgresql:postgresql:9.3-1102-jdbc41

затем посмотрите

http:// zepplin_url: 4040/environment/для следующего:

spark.jars файл:/root/.ivy2/jars/com.databricks_spark-csv_2.10-1.4.0.jar.file:/root/.ivy2/jars/org.postgresql_postgresql -9.3-1102-jdbc41.jar

spark.jars.packages com.databricks: spark-csv_2.10: 1.4.0, org.postgresql: postgresql: 9.3-1102-jdbc41

Подробнее: https://zeppelin.incubator.apache.org/docs/0.5.6-incubating/interpreter/spark.html

Ответ 5

Другое решение:

В conf/zeppelin-env.sh(находится в /etc/zeppelin для меня) добавьте строку:

export SPARK_SUBMIT_OPTIONS="--packages com.databricks:spark-csv_2.10:1.2.0"

Затем запустите службу.