首页 > 解决方案 > spark scala查询保留关键字

问题描述

我正在尝试使用 spark JDBC 连接到 oracle 并写入配置单元。查询有一个保留关键字“GROUP”并且无法获取记录

select "GROUP" FROM SCHEMA.TABLENAME;

val df1 = sqlContext.read.format("jdbc") 
.option("url", "jdbc:oracle:thin:@database.com:2011/db") 
.option("dbtable", "abcd.efgh") 
.option("user", "abcd") 
.option("password", "pqrst") 
.option("dbtable", s"(select "GROUP" FROM SCHEMA.TABLENAME)") 
.option("lower Bound",1L) 
.option("upper Bound",100000L) 
.option("numPartitions",100)e
 .option("fetchSize", "1000") 
.load()

我收到此错误消息:

 Exception in thread "main" java.sql.SQLSyntaxErrorException: ORA-00936: missing expression

标签: oracleapache-spark

解决方案


尝试封闭查询并为列triple quotes使用双引号"GROUP"

val df1 = sqlContext.read.format("jdbc") 
.option("url", "jdbc:oracle:thin:@database.com:2011/db") 
.option("dbtable", "abcd.efgh") 
.option("user", "abcd") 
.option("password", "pqrst") 
.option("dbtable", s"""(select "GROUP" FROM SCHEMA.TABLENAME)""") 
.option("lower Bound",1L) 
.option("upper Bound",100000L) 
.option("numPartitions",100)e
 .option("fetchSize", "1000") 
.load()

推荐阅读