Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jdbc 如何从Spark SQLContext连接到Netezza数据库_Jdbc_Apache Spark_Apache Spark Sql_Netezza - Fatal编程技术网

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

Jdbc 如何从Spark SQLContext连接到Netezza数据库,jdbc,apache-spark,apache-spark-sql,netezza,Jdbc,Apache Spark,Apache Spark Sql,Netezza,我有一个Spark实例,我正在尝试连接到现有的Netezza数据仓库应用程序来检索一些数据 使用SparkSQL的SQLContext,并根据,这可以通过read方法实现。我已经确定需要使用-jars标志来提供JDBC驱动程序,而不是像文档中那样使用SPARK_类路径。手术看起来像 // pyspark df = sqlContext.read.format('jdbc').options( ... ).load() // spark-shell val df = sqlContext.rea

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

使用SparkSQL的SQLContext,并根据,这可以通过read方法实现。我已经确定需要使用-jars标志来提供JDBC驱动程序,而不是像文档中那样使用SPARK_类路径。手术看起来像

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

// spark-shell
val df = sqlContext.read.format("jdbc").options( ... ).load()
我可以找到一些关于使用JDBC连接到Netezza的文档,但没有找到如何正确传递用户名和密码。我需要在这里传递哪些“选项”?

在pyspark中

在火花壳中


请注意,Netezza喜欢所有大写字母。我不知道这是否有必要,但这并没有什么坏处。

ALL CAPS评论中的一条注释:几乎在所有Netezza系统中都是如此。但是,有一个配置设置允许系统视图使用所有小写值。所以,如果大写不起作用,也可以尝试小写。嗨,我可以传递一个查询来代替加载整个表吗?@sriharikalicharanTummala是的,你可以。如果您包含子查询和别名,例如x,它将适用于您-例如,从id=1的表中选择*xI从Spark写入netezza时遇到问题,有时甚至不到50行:
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()