【发布时间】:2015-10-03 19:47:33
【问题描述】:
我正在尝试使用 scala 2.10 从 redshift 读取数据到 spark 1.5
我已经构建了 spark-redshift 包并将亚马逊 JDBC 连接器添加到项目中,但我不断收到此错误:
Exception in thread "main" java.lang.NoClassDefFoundError: com/amazonaws/auth/AWSCredentials
我已通过以下方式进行身份验证:
val hadoopConf = sc.hadoopConfiguration
hadoopConf.set("fs.s3n.impl","org.apache.hadoop.fs.s3native.NativeS3FileSystem")
hadoopConf.set("fs.s3n.awsAccessKeyId", "ACCESSKEY")
hadoopConf.set("fs.s3n.awsSecretAccessKey","SECRETACCESSKEY")
val df: DataFrame = sqlContext.read.format("com.databricks.spark.redshift")
.option("url","jdbc:redshift://AWS_SERVER:5439/warehouseuser=USER&password=PWD")
.option("dbtable", "fact_time")
.option("tempdir", "s3n://bucket/path")
.load()
df.show()
【问题讨论】:
-
您忘记在您的 spark 应用程序中发送您的 AWS 依赖项 jar
-
谢谢,我添加了以下依赖项:aws-java-sdk-core-1.10.22、aws-java-sdk-s3-1.10.22、aws-java-sdk-sts-1.10 .22.现在我收到这个错误:java.lang.NoClassDefFoundError: org/apache/http/protocol/HttpContext
标签: scala apache-spark amazon-redshift