我之前也问过这个问题,但没有得到任何答案(无法在pyspark shell中使用jdbc连接到postgres).
我已经在我的本地窗口上成功安装了Spark 1.3.0并运行了示例程序以使用pyspark shell进行测试.
现在,我想对存储在Postgresql中的数据运行Mllib的Correlations,但是我无法连接到postgresql.
我已成功通过运行在类路径中添加了所需的jar(测试此jar)
pyspark --jars "C:\path\to\jar\postgresql-9.2-1002.jdbc3.jar"
Run Code Online (Sandbox Code Playgroud)
我可以看到jar已成功添加到环境UI中.
当我在pyspark shell中运行以下代码时 -
from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)
df = sqlContext.load(source="jdbc",url="jdbc:postgresql://[host]/[dbname]", dbtable="[schema.table]")
Run Code Online (Sandbox Code Playgroud)
我得到这个错误 -
>>> df = sqlContext.load(source="jdbc",url="jdbc:postgresql://[host]/[dbname]", dbtable="[schema.table]")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\ACERNEW3\Desktop\Spark\spark-1.3.0-bin-hadoop2.4\python\pyspark\sql\context.py", line 482, in load
df = self._ssql_ctx.load(source, joptions)
File "C:\Users\ACERNEW3\Desktop\Spark\spark-1.3.0-bin-hadoop2.4\python\lib\py4j-0.8.2.1-src.zip\py4j\java_gateway.py", line 538, in __call__
File "C:\Users\ACERNEW3\Desktop\Spark\spark-1.3.0-bin-hadoop2.4\python\lib\py4j-0.8.2.1-src.zip\py4j\protocol.py", line 300, in get_return_value
py4j.protocol.Py4JJavaError: An error occurred while calling o20.load.
: java.sql.SQLException: No suitable driver found …Run Code Online (Sandbox Code Playgroud) 我有一个虚拟机,Spark 1.3但我想升级它Spark 1.5主要是因为某些支持的功能不在1.3中.是否有可能将Spark版本升级1.3到1.5,如果是,那我该怎么做呢?