Azure Spark Storage Spark - PullRequest
       4

Azure Spark Storage Spark

0 голосов
/ 27 февраля 2020

Я пытаюсь подключить Spark к azure хранилищу BLOB-объектов ( wasbs ). Я добавляю следующие jar-файлы в had oop classpath

com.microsoft.azure_azure-storage-7.0.0.jar
org.apache.hadoop_hadoop-annotations-3.1.2.jar
org.apache.hadoop_hadoop-auth-3.1.2.jar
org.apache.hadoop_hadoop-azure-3.1.2.jar
org.apache.hadoop_hadoop-common-3.1.2.jar
org.eclipse.jetty_jetty-http-9.3.24.v20180605.jar
org.eclipse.jetty_jetty-io-9.3.24.v20180605.jar
org.eclipse.jetty_jetty-security-9.3.24.v20180605.jar
org.eclipse.jetty_jetty-server-9.3.24.v20180605.jar
org.eclipse.jetty_jetty-servlet-9.3.24.v20180605.jar
org.eclipse.jetty_jetty-webapp-9.3.24.v20180605.jar
org.eclipse.jetty_jetty-xml-9.3.24.v20180605.jar

и пытаюсь использовать spark-submit, используя:

spark-submit --class mainClass --jars jars/org.apache.hadoop_hadoop-azure-3.1.2.jar,jars/com.microsoft.azure_azure-storage-7.0.0.jar,jars/org.apache.hadoop_hadoop-common-3.1.2.jar myjar.jar

и получаю следующее исключение:

Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/jetty/util/ajax/JSON$Convertor

Если я удаляю имел oop -общин из spark-submit --jars я получаю:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/fs/StreamCapabilities

и если я добавляю --jars jars / * чтобы включить все файлы jar вместе с утилитами jetty, которые я получаю

java.lang.ClassNotFoundException: my.package.MainClass

я видел похожие посты, которые указывают на несколько версий Jetty, но я не могу найти другие версии нигде.

1 Ответ

0 голосов
/ 27 февраля 2020

Для первого исключения вам не хватает причала утилит

https://mvnrepository.com/artifact/org.eclipse.jetty/jetty-util/9.3.24.v20180605

И вы должны подтвердить hadoop classpath возвращает то, что вы хотите

Для остальных исключений вы должны убедиться, что можете запустить hadoop fs - ls wasb://path на каждом потенциальном исполнителе Spark

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...