1
尝试从Postgres数据库读PySpark表。我已经建立了下面的代码和验证SparkContext存在:PySpark sqlContext阅读Postgres 9.6空指针异常
import os
os.environ['PYSPARK_SUBMIT_ARGS'] = '--driver-class-path /tmp/jars/postgresql-42.0.0.jar --jars /tmp/jars/postgresql-42.0.0.jar pyspark-shell'
from pyspark import SparkContext, SparkConf
conf = SparkConf()
conf.setMaster("local[*]")
conf.setAppName('pyspark')
sc = SparkContext(conf=conf)
from pyspark.sql import SQLContext
properties = {
"driver": "org.postgresql.Driver"
}
url = 'jdbc:postgresql://tom:@localhost/gqp'
sqlContext = SQLContext(sc)
sqlContext.read \
.format("jdbc") \
.option("url", url) \
.option("driver", properties["driver"]) \
.option("dbtable", "specimen") \
.load()
我收到以下错误:
Py4JJavaError: An error occurred while calling o812.load. : java.lang.NullPointerException
我的数据库的名称是gqp
,表是specimen
,并验证它在运行在localhost
使用Postgres.app macOS应用程序。