Загрузка данных из красного смещения с использованием spark ad scala в EMR - PullRequest
0 голосов
/ 22 февраля 2020

Я пытаюсь подключить красное смещение, используя spark с scala в zeppelin из кластера EMR, я использовал библиотеку spark-redshift, но она не работает. Я пробовал много решений, и я не знаю, почему это дает ошибку


   val df  = spark.read .format("com.databricks.spark.redshift")
   .option("url", "jdbc:redshift://xx:xx/xxxx?user=xxx&password=xxx")
   .option("tempdir", path)
   .option("query", sql_query) .load() ```


``` java.lang.ClassNotFoundException: Failed to find data source:
com.databricks.spark.redshift. Please find packages at http://spark.apache.org/third-party-projects.html
 at org.apache.spark.sql.execution.datasources.DataSource$.lookupDataSource(DataSource.scala:657)
 at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:194)
 at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:167)
 ... 51 elided
Caused by: java.lang.ClassNotFoundException: com.databricks.spark.redshift.DefaultSource
 at scala.reflect.internal.util.AbstractFileClassLoader.findClass(AbstractFileClassLoader.scala:62)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
 at org.apache.spark.sql.execution.datasources.DataSource$$anonfun$20$$anonfun$apply$12.apply(DataSource.scala:634)
 at org.apache.spark.sql.execution.datasources.DataSource$$anonfun$20$$anonfun$apply$12.apply(DataSource.scala:634)
 at scala.util.Try$.apply(Try.scala:192)
 at org.apache.spark.sql.execution.datasources.DataSource$$anonfun$20.apply(DataSource.scala:634)
 at org.apache.spark.sql.execution.datasources.DataSource$$anonfun$20.apply(DataSource.scala:634)
 at scala.util.Try.orElse(Try.scala:84)
 at org.apache.spark.sql.execution.datasources.DataSource$.lookupDataSource(DataSource.scala:634)
 ... 53 more ```

Should I import something before ? or may be do some configuration


1 Ответ

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

Чтобы запустить указанные c модули в EMR, вы должны добавить эти модули в свой кластер. (Они не появляются автоматически)

Ваша ошибка говорит о том, что он не может найти модули. взгляните на https://aws.amazon.com/blogs/big-data/powering-amazon-redshift-analytics-with-apache-spark-and-amazon-machine-learning/

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