小编Son*_*ank的帖子

Apache Spark:JDBC连接无法正常工作

我之前也问过这个问题,但没有得到任何答案(无法在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)

postgresql jdbc apache-spark apache-spark-sql

10
推荐指数
2
解决办法
1万
查看次数

无法使用pyspark shell中的jdbc连接到postgres

我在本地窗口上使用独立群集,并尝试使用以下代码从我们的服务器加载数据 -

from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)
df = sqlContext.load(source="jdbc", url="jdbc:postgresql://host/dbname", dbtable="schema.tablename")
Run Code Online (Sandbox Code Playgroud)

我已将SPARK_CLASSPATH设置为 -

os.environ['SPARK_CLASSPATH'] = "C:\Users\ACERNEW3\Desktop\Spark\spark-1.3.0-bin-hadoop2.4\postgresql-9.2-1002.jdbc3.jar"
Run Code Online (Sandbox Code Playgroud)

在执行sqlContext.load时,它会引发错误,提到"找不到适合jdbc:postgresql的驱动程序".我试过搜索网页,但无法找到解决方案.

postgresql jdbc apache-spark apache-spark-sql pyspark

7
推荐指数
2
解决办法
4255
查看次数