jdbc – 如何从Spark SQLContext连接到Netezza数据库

我有一个Spark实例,我正在尝试连接到现有的Netezza数据仓库应用程序来检索一些数据.

使用SparkSQL的SQLContext,根据Spark SQL Programming Guide,这可以通过read方法实现.我已经确定我需要使用–jars标志提供JDBC驱动程序,而不是像文档中那样提供SPARK_CLASSPATH.操作看起来像

// pyspark
df = sqlContext.read.format('jdbc').options( ... ).load()

// spark-shell
val df = sqlContext.read.format("jdbc").options( ... ).load()

我可以找到一些关于使用JDBC连接到Netezza的文档,但不能找到如何正确传递用户名和密码的文档.我需要通过哪些’选项’?

最佳答案 在pyspark

df = sqlContext.read.format('jdbc').options(url='jdbc:netezza://server1:5480/DATABASE', \
    user='KIRK', password='****', dbtable='SCHEMA.MYTABLE', \
    driver='org.netezza.Driver').load()

并在火花壳

val df = sqlContext.read.format("jdbc").options(Map(
             "url" -> "jdbc:netezza://server1:5480/DATABASE", 
             "user" -> "KIRK", 
             "password" -> "****", 
             "dbtable" -> "SCHEMA.MYTABLE", 
             "driver" -> "org.netezza.Driver")).load()

请注意,Netezza喜欢ALL CAPS中的所有内容.我不知道这是否有必要,但它并没有伤害.

点赞