Читайте локальные файлы в фрейме данных spark в zeppelin, работающем в докере

Я пытаюсь написать код 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 ответ

Решение

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

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")

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

Другие вопросы по тегам