小编use*_*907的帖子

Dataframe to Oracle使用区分大小写的列创建表

Spark:2.1.1

我将我保存dataframeOracle表,但生成的Oracle表具有" 区分大小写 "列.

val properties = new java.util.Properties
    properties.setProperty("user", ora_username)
    properties.setProperty("password", ora_pwd)
    properties.setProperty("batchsize", "30000")
    properties.setProperty("driver", db_driver)
Run Code Online (Sandbox Code Playgroud)
spark.sql("select * from myTable").repartition(50).write.mode(SaveMode.Overwrite).jdbc(url,"myTable_oracle", properties)
Run Code Online (Sandbox Code Playgroud)

当我看到Oracle,

  1. Select * from myTable_oracle; =>有效
  2. Select col1 from myTable_oracle;=> 不起作用
  3. Select "col1" from myTable_oracle; =>有效,但很烦人

尝试下面的设置,但仍然是同样的问题:

spark.sqlContext.sql("set spark.sql.caseSensitive=false")
Run Code Online (Sandbox Code Playgroud)

用于工作的相同代码Spark 1.6.1创建Oracle具有不区分大小写列的表.但Spark 2.1.1我正面临着这个问题.

apache-spark apache-spark-sql

1
推荐指数
1
解决办法
1804
查看次数

标签 统计

apache-spark ×1

apache-spark-sql ×1