我尝试使用SparkSQL(v.1.3.0)访问PostgreSQL数据库。在这个数据库中,我有一个表。
CREATE TABLE test (
id bigint,
values double precision[]
);
访问表格时,我使用
val sparkConf = new SparkConf().setAppName("TestRead").setMaster("local[2]")
val sc = new SparkContext(sparkConf)
val sqlContext = new SQLContext(sc)
val jdbcDF = sqlContext.load("jdbc", Map(
"url" -> "jdbc:postgresql://...",
"dbtable" -> "schema.test",
"user" -> "...",
"password" -> "..."))
sqlContext.sql("SELECT * FROM schema.test")
然而,每次我尝试访问包含此数组的表时,我都会收到一个“java.sql.SQLException:Unsupported type 2003”的错误消息。
我在Spark测试代码中找到了一个示例,用于为二维点创建Spark UDT(请参见ExamplePointUDT.scala)。但是,我不明白我如何可能使用这段代码。