pyspark3操作csv和postgresql+解决"Nosuitabledriver"报错该怎么办

pyspark3操作csv和postgresql+解决"No suitable driver"报错该怎么办,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

网站建设哪家好,找成都创新互联公司!专注于网页设计、网站建设、微信开发、微信小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了庆元免费建站欢迎大家使用!

环境

  • postgresql 9.6

  • Windows 10

  • pyspark 3.0.1

  • python 3.8

操作postgresql的话,需要下载对应的jdbc包:https://jdbc.postgresql.org/download.html

使用

from pyspark import SparkContext, SparkConf
from pyspark.sql.session import SparkSession

# 读取csv
sc = SparkContext()
sqlContext = SparkSession.builder.appName('enen').getOrCreate()
raw_date = sqlContext.read.format('com.databricks.spark.csv').options(header='true', inferschema='true', encoding='utf8').load(r'./abc.csv')
raw_date.show(10)

# 读取postgresql表结构(JDBC)
spark = SparkSession \
    .builder \
    .appName('Python Spark Postgresql') \
    .config("spark.jars", "./postgresql-42.2.18.jar") \
    .config('spark.driver.extraClassPath', './postgresql-42.2.18.jar') \
    .getOrCreate()

df = spark.read \
    .format("jdbc") \
    .option("url", "jdbc:postgresql://localhost:5432/db_name") \
    .option("dbtable", "table_name") \
    .option("user", "postgres") \
    .option("password", "123456789") \
    .load()

df.printSchema()

注意

一定要设置.config('spark.driver.extraClassPath', './postgresql-42.2.18.jar')不然会报错如下:

java.sql.SQLException: No suitable driver
 at java.sql.DriverManager.getDriver(Unknown Source)

关于pyspark3操作csv和postgresql+解决"No suitable driver"报错该怎么办问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


网页标题:pyspark3操作csv和postgresql+解决"Nosuitabledriver"报错该怎么办
文章转载:http://pwwzsj.com/article/pepspo.html