Читайте локальные файлы в фрейме данных spark в zeppelin, работающем в докере - PullRequest
0 голосов
/ 16 ноября 2018

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

val df = spark.read.csv("/User/myname/documents/data/xyz.csv")

Я получаю следующую ошибку:

org.apache.spark.sql.AnalysisException: Path does not exist: file:/User/myname/documents/data/xyz.csv;
  at org.apache.spark.sql.execution.datasources.DataSource$$anonfun$14.apply(DataSource.scala:382)
  at org.apache.spark.sql.execution.datasources.DataSource$$anonfun$14.apply(DataSource.scala:370)
  at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:241)
  at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:241)
  at scala.collection.immutable.List.foreach(List.scala:381)
  at scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:241)
  at scala.collection.immutable.List.flatMap(List.scala:344)
  at org.apache.spark.sql.execution.datasources.DataSource.resolveRelation(DataSource.scala:370)
  at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:152)
  at org.apache.spark.sql.DataFrameReader.csv(DataFrameReader.scala:415)
  at org.apache.spark.sql.DataFrameReader.csv(DataFrameReader.scala:352)
  ... 47 elided

1 Ответ

0 голосов
/ 16 ноября 2018

Я думаю, что нашел ответ: Я вытащил образ докера (я использовал тот, что ниже, но вы можете изменить его)

docker pull skymindops/zeppelin-dl4j

А потом побежал:

docker run -it --rm -p 7077:7077 -p 8080:8080 --privileged=true -v $PWD/logs:/logs -v $PWD/notebook:/notebook -v $PWD/data:/data \
-e ZEPPELIN_NOTEBOOK_DIR='/notebook' \
-e ZEPPELIN_LOG_DIR='/logs' \
skymindops/zeppelin-dl4j:latest

Теперь чтение файлов из папки данных будет работать:

val df = spark.read.option("header", "true").csv("/data/xyz.csv")

Обратите внимание, что мне не нужны записные книжки на этом изображении.

...