【问题标题】:Sqoop export from Hive to Teradata Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]Sqoop 从 Hive 导出到 Teradata 时间戳格式必须是 yyyy-mm-dd hh:mm:ss[.fffffffff]
【发布时间】:2023-03-04 07:29:08
【问题描述】:

我正在尝试将数据从 Hadoop Hive 导出到 Teradata。我的数据包含可以为 NULL 的时间戳。

当我进行导出时,对于时间戳为 NULL 的行,我收到以下错误:
"时间戳格式必须是yyyy-mm-dd hh:mm:Ss[.fffffffff]"

在我的 sqoop 导出中,我确实添加了两个选项 --input-null-string '\N' 和 --input-null-non-string '\N'。

你知道解决这个问题的方法吗?

谢谢。

【问题讨论】:

    标签: hadoop timestamp hive teradata sqoop


    【解决方案1】:

    Teradata中timestamp数据类型的列需要有如下格式yyyy-mm-dd hh:mm:Ss的值,而你的hive表中的数据没有这种格式。

    使用其中一些 hive udf 更改 hive 表中相应空值时间戳的值:

    • unix_timestamp(字符串日期,字符串模式)
    • 或者简单地检查 null 并使用

      替换为空字符串

      案例 当日期='' 然后 '' 其他日期 结束,

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2013-06-16
      • 1970-01-01
      • 2021-05-04
      • 1970-01-01
      • 2017-07-09
      • 1970-01-01
      • 2018-10-05
      • 1970-01-01
      • 2015-05-16
      相关资源
      最近更新 更多