【问题标题】:Prevent spark jdbc write from changing the table structure防止spark jdbc write改变表结构
【发布时间】:2018-05-21 00:48:19
【问题描述】:

我正在使用 spark df write 写入 oracle 表 -

数据写入时,spark会改变底层oracle表结构

df.write.
                  mode(SaveMode.Overwrite).
                  jdbc(targetJdbcUrl, targetTable, targetProps)

有没有办法防止spark修改表结构?

例如-

source_desc varchar(200)

转换成

source_desc varchar(255)

【问题讨论】:

    标签: apache-spark jdb


    【解决方案1】:

    mode(SaveMode.Append) 也会根据 dataframe schema 改变 schema,如果 dataframe 和 oracle table schema 两者都没有改变。

    【讨论】:

      【解决方案2】:
       mode(SaveMode.Append)
      

      成功了。

      【讨论】:

      • 这并没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方留下评论。 - From Review
      • 这是正确的答案。 (使用SaveMode.Append而不是SaveMode.Overwrite来防止spark更新jdbc表结构)
      • 我的第一条评论是默认评论评论。由于内容和格式,您的答案被标记为低质量。使用您在此处的评论中提供的附加说明对其进行编辑,我会支持它。
      猜你喜欢
      • 1970-01-01
      • 2015-01-31
      • 2013-03-20
      • 1970-01-01
      • 2018-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多