Не удается прочитать CSV-файл Apache Zeppelin 0.8 - PullRequest
0 голосов
/ 05 июля 2018

Я сейчас использую Apache Zeppelin 0.8. Я попытался загрузить CSV-файл так:

val df = spark.read.option("header", "true").option("inferSchema", "true").csv("/path/to/csv/name.csv")

Я также пробовал это:

val df = spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("/path/to/csv/name.csv")

Однако не удается распечатать следующее:

org.apache.spark.SparkException: задание прервано из-за сбоя этапа: задание 0 на этапе 2.0 не выполнено 1 раз, последний сбой: потерянное задание 0.0 на этапе 2.0 (TID 2, localhost, драйвер исполнителя): java.lang .NoSuchMethodError: org.apache.hadoop.fs.FileSystem $ Statistics.getThreadStatistics () Lorg / apache / hadoop / fs / FileSystem $ Statistics $ StatisticsData;

ПРИМЕЧАНИЕ, ЧТО: Проблема решена IF Я указываю свою собственную сборку для Spark с помощью переменной env SPARK_HOME в zeppelin-env.sh . Однако мне все еще хотелось бы решение этого вопроса, которое не требует от меня этого, поскольку у меня есть несколько других библиотек, которые не работают с этой версией Spark.

1 Ответ

0 голосов
/ 05 июля 2018

Похоже, что эффективный путь к классам в среде выполнения spark имеет конфликтующую версию библиотеки hadoop-fs. Это может быть вызвано тем, что ваша толстая банка принесла несовместимую версию.

Если вы откроете Spark UI на вкладке Среда , вы увидите все файлы jar на пути к классам. Там вы можете попытаться выяснить, какая библиотека вызывает проблемы.

Если вы создаете толстую банку, попробуйте просмотреть ее содержимое, чтобы узнать, содержит ли она также классы Hadoop

jar -tf /path/to/your/jar | grep "org.apache.hadoop.fs.FileSystem"

Если это так, вы должны пометить ваши зависимости Hadoop в mvn / sbt как указано.

...