如何从 Spark SQLContext 连接到 Netezza 数据库
How can I connect to a Netezza database from a Spark SQLContext
我有一个 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 的文档,但找不到如何正确传递用户名和密码的文档。这里需要传递的'options'是什么?
在pyspark
df = sqlContext.read.format('jdbc').options(url='jdbc:netezza://server1:5480/DATABASE', \
user='KIRK', password='****', dbtable='SCHEMA.MYTABLE', \
driver='org.netezza.Driver').load()
并在 spark-shell
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 喜欢全部大写的内容。我不知道这是否有必要,但没有坏处。
我有一个 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 的文档,但找不到如何正确传递用户名和密码的文档。这里需要传递的'options'是什么?
在pyspark
df = sqlContext.read.format('jdbc').options(url='jdbc:netezza://server1:5480/DATABASE', \
user='KIRK', password='****', dbtable='SCHEMA.MYTABLE', \
driver='org.netezza.Driver').load()
并在 spark-shell
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 喜欢全部大写的内容。我不知道这是否有必要,但没有坏处。