Apache spark 无法使用火花接头读取GreenPlum的数据
请有人能帮我摆脱这个问题 我正在尝试使用Greenplum Spark连接器阅读Greenplum。我使用了我从下载的jar greenplum-spark_2.11-1.5.0.jar 我正在尝试从spark shell和进口罐中获取greenplum,如下所示 C:\spark shell--jars C:\jars\greenplum-spark_2.11-1.6.2.jarApache spark 无法使用火花接头读取GreenPlum的数据,apache-spark,pyspark,greenplum,Apache Spark,Pyspark,Greenplum,请有人能帮我摆脱这个问题 我正在尝试使用Greenplum Spark连接器阅读Greenplum。我使用了我从下载的jar greenplum-spark_2.11-1.5.0.jar 我正在尝试从spark shell和进口罐中获取greenplum,如下所示 C:\spark shell--jars C:\jars\greenplum-spark_2.11-1.6.2.jar scala>val gscReadOptionMap = Map( "url" -> "j
scala>val gscReadOptionMap = Map(
"url" -> "jdbc:postgresql://server-ip:5432/db_name",
"user" -> "user_id",
"password" -> "pwd",
"dbschema" -> "schema_name",
"dbtable" -> "table_name",
"driver" -> "org.postgresql.Driver"
)
scala>val gpdf = spark.read.format("greenplum").options(gscReadOptionMap).load()
(或)
正在恢复以下错误:
java.lang.IllegalArgumentException:“”在“架构\u名称”“表\u名称”表中不存在
在io.pivotal.greenplum.spark.GreenplumRelationProvider.createRelation(GreenplumRelationProvider.scala:50)
位于org.apache.spark.sql.execution.datasources.DataSource.resolveRelation(DataSource.scala:318)
位于org.apache.spark.sql.DataFrameReader.loadV1Source(DataFrameReader.scala:223)
位于org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:211)
位于org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:167)
... 49省略了
gscReadOptionMap
中的partitionColumn
选项。例如:
val gscOptionMap = Map(
"url" -> "jdbc:postgresql://gsc-dev/tutorial",
"user" -> "gpadmin",
"password" -> "changeme",
"dbschema" -> "faa",
"dbtable" -> "otp_c",
"partitionColumn" -> "airlineid"
)
有关更多详细信息,请查看。谢谢@frankh的回复。但是否必须给出“partitionColumn”?根据您的建议,我尝试了“partitionColumn”->“col”,但得到了以下错误:
分区不支持“col”的数据类型;支持的数据类型有bigint、bigserial、integer和serial
,但实际上列是数字类型。这里有什么帮助吗?partitionColumn
是必需的选项。我建议您对分区列使用不同的列,numeric/decimal
类型不受支持。分区列仅支持类型为bigint
、bigserial
、integer
和serial
的列。
val gscOptionMap = Map(
"url" -> "jdbc:postgresql://gsc-dev/tutorial",
"user" -> "gpadmin",
"password" -> "changeme",
"dbschema" -> "faa",
"dbtable" -> "otp_c",
"partitionColumn" -> "airlineid"
)