【发布时间】:2019-02-16 10:36:09
【问题描述】:
我有一个正在运行的 Amazon EMR 集群。如果我这样做了
ls -l /usr/share/aws/redshift/jdbc/
它给了我
RedshiftJDBC41-1.2.7.1003.jar
RedshiftJDBC42-1.2.7.1003.jar
现在,我想用这个 jar 连接到我的 Redshift database 在我的 spark-shell 中。这就是我所做的 -
import org.apache.spark.sql._
val sqlContext = new SQLContext(sc)
val df : DataFrame = sqlContext.read
.option("url","jdbc:redshift://host:PORT/DB-name?user=user&password=password")
.option("dbtable","tablename")
.load()
我得到了这个错误 -
org.apache.spark.sql.AnalysisException: Unable to infer schema for Parquet. It must be specified manually.;
我不确定在读取数据时是否指定了正确的format。我还读到spark-redshift driver 可用,但我不想将spark-submit 与extra JARS 一起运行。
如何从 Spark-shell 连接到 redshift 数据?这是在 Spark 中配置连接的正确 JAR 吗?
【问题讨论】:
标签: apache-spark amazon-redshift