Scala 火花中红移的连接错误

Scala 火花中红移的连接错误,scala,intellij-idea,amazon-s3,amazon-redshift,Scala,Intellij Idea,Amazon S3,Amazon Redshift,我正在Intellij中使用scala构建一个spark项目。我添加了以下依赖项: spark-redshift_2.10-0.5.1-SNAPSHOT RedshiftJDBC41-1.1.7.1007 httpcore-4.4.3 httpclient-4.5.1 aws-java-sdk-s3-1.10.23-SNAPSHOT aws-java-sdk-core-1.10.23-SNAPSHOT 我收到以下错误: java.lang.NoClassDefFoundError: Coul

我正在Intellij中使用scala构建一个spark项目。我添加了以下依赖项:

spark-redshift_2.10-0.5.1-SNAPSHOT
RedshiftJDBC41-1.1.7.1007
httpcore-4.4.3
httpclient-4.5.1 
aws-java-sdk-s3-1.10.23-SNAPSHOT
aws-java-sdk-core-1.10.23-SNAPSHOT
我收到以下错误:

java.lang.NoClassDefFoundError: Could not initialize class com.amazonaws.services.s3.internal.ServiceUtils
跑步时

val df = sqlContext.read.foramat("com.databricks.spark.redshift")
.option("url", "jdbc:redshift://AWS_SERVER:5439/warehouse?user=USER&password=PWD")
.option("dbtable", "fact_time")
.option("tempdir", "s3n://bucket/path")
.load()

df.show()

我帮助调试了这个问题。该问题最终可能是由缺少可传递依赖项引起的,该依赖项在
com.amazonaws.services.s3.internal.ServiceUtils
类的静态初始化期间导致ClassNotFoundException,从而导致此处报告的错误。修复方法是将那些缺少的依赖项添加到IntelliJ项目。

我正在考虑您的问题。解决方案是将依赖关系放在s3上,在集群启动时复制它们,在集群上安装,然后运行应用程序。