【发布时间】:2017-01-17 16:50:59
【问题描述】:
我正在尝试使用 spark-redshift databricks 包,但无法使 Redshift jdbc 驱动程序正常工作。我已经从here 下载了最新版本并保存到 s3 存储桶中。
这就是我启动spark-shell的方式
MASTER=yarn-client IPYTHON=1 PYSPARK_PYTHON=/usr/bin/python27 /usr/lib/spark/bin/pyspark
--packages com.databricks:spark-avro_2.10:2.0.1,com.databricks:spark-redshift_2.10:1.1.0
--jars 's3://pathto/RedshiftJDBC42-1.2.1.1001.jar'
我正在尝试按照 databricks 自述文件从 Redshift 中读取数据
df = sql_context.read \
.format("com.databricks.spark.redshift") \
.option("url", "jdbc:redshift://redshifthost:5439/database?user=username&password=pass") \
.option("dbtable", "my_table") \
.option("tempdir", "s3n://path/for/temp/data") \
.load()
但我得到一个配置错误:
Py4JJavaError: An error occurred while calling o46.load.
: java.lang.ClassNotFoundException: Could not load an Amazon Redshift JDBC driver; see the README for instructions on downloading and configuring the official Amazon driver.
jar 文件似乎已被读取,因此不确定如何以不同方式指定它。
【问题讨论】:
标签: python apache-spark jdbc jar amazon-redshift