【问题标题】:Change Sqoop's Date Format in Incremental Import from SQL Server从 SQL Server 增量导入中更改 Sqoop 的日期格式
【发布时间】:2017-11-04 14:06:36
【问题描述】:

TL;DR - 是否可以更改 Sqoop 使用的日期格式?

我正在使用 Sqoop(版本 1.4.6)从 SQL Server 导入数据,并将日期时间列指定为我的 --check-column。

Sqoop 正在使用格式为 yyyy-MM-ddd hh:mm:ss.SSS 的日期查询数据库。但是,由于 SQL Server 被配置为使用英国 dmy 日期格式,因此它违反直觉地将日期以年份开头的日期解释为第二个位置的日期而不是月份(wtf?!)。

例如 SELECT ... WHERE modified

是否可以更改 Sqoop 使用的日期格式?

【问题讨论】:

    标签: sql datetime hdfs sqoop mssql-jdbc


    【解决方案1】:

    快速浏览 Sqoop 文档并没有发现更改日期格式的方法。 Microsoft 支持文章here 建议您可以通过发出

    SET DATEFORMAT 'ymd'
    

    打开连接后立即声明,但 Sqoop 似乎只支持 Oracle (oraoop-site-template.xml) 的那种操作,而不支持其他 JDBC 驱动程序。

    有一个 mssql-jdbc pull request,如果被接受,您可以将 ;connectionDateformat=ymd 添加到您的 Sqoop 连接 URL。同时,您可能只需将 Sqoop 作业的 SQL 登录默认语言从“英国英语”更改为(美国)“英语”:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-06
      • 1970-01-01
      相关资源
      最近更新 更多