开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink CDC中这个如何解决?cdc同步到hudi再同步到hive查询时间戳类型字段报错。

"Flink CDC中这个如何解决?cdc 同步到hudi再同步到hive,hive查询时间戳类型字段报错
java.lang.IllegalArgumentException: Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]
at java.sql.Timestamp.valueOf(Timestamp.java:237)
at org.apache.hive.jdbc.HiveBaseResultSet.evaluate(HiveBaseResultSet.java:445)
at org.apache.hive.jdbc.HiveBaseResultSet.getColumnValue(HiveBaseResultSet.java:425)
at org.apache.hive.jdbc.HiveBaseResultSet.getObject(HiveBaseResultSet.java:467)
at org.apache.hive.beeline.Rows$Row.(Rows.java:160)
at org.apache.hive.beeline.BufferedRows.(BufferedRows.java:57)
at org.apache.hive.beeline.IncrementalRowsWithNormalization.(IncrementalRowsWithNormalization.java:50)
at org.apache.hive.beeline.BeeLine.print(BeeLine.java:2322)
at org.apache.hive.beeline.Commands.executeInternal(Commands.java:1026)
at org.apache.hive.beeline.Commands.execute(Commands.java:1215)
at org.apache.hive.beeline.Commands.sql(Commands.java:1144)
at org.apache.hive.beeline.BeeLine.dispatch(BeeLine.java:1497)
at org.apache.hive.beeline.BeeLine.execute(BeeLine.java:1355)
at org.apache.hive.beeline.BeeLine.begin(BeeLine.java:1134)
at org.apache.hive.beeline.BeeLine.begin(BeeLine.java:1082)
at org.apache.hive.beeline.BeeLine.mainWithInputRedirection(BeeLine.java:546)
at org.apache.hive.beeline.BeeLine.main(BeeLine.java:528)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.hadoop.util.RunJar.run(RunJar.java:318)
at org.apache.hadoop.util.RunJar.main(RunJar.java:232)
Error: Unrecognized column type:TIMESTAMP_TYPE (state=,code=0)"

展开
收起
十一0204 2023-08-09 09:50:23 97 0
1 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    根据提供的错误信息,看起来在使用Flink CDC将数据同步到Hudi,然后再同步到Hive时,查询时间戳类型字段时出现了错误。错误提示为java.lang.IllegalArgumentException: Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]。

    这个错误通常是由于时间戳字段的格式不符合Hive要求的格式引起的。Hive要求时间戳字段的格式必须是yyyy-mm-dd hh:mm:ss[.fffffffff],其中yyyy-mm-dd是日期部分,hh:mm:ss[.fffffffff]是时间部分。

    解决此问题的方法是确保在将数据同步到Hudi之前,将时间戳字段的格式转换为符合Hive要求的格式。

    2023-08-11 16:57:42
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Hive Bucketing in Apache Spark 立即下载
    spark替代HIVE实现ETL作业 立即下载
    2019大数据技术公开课第五季—Hive迁移到MaxCompute最佳实践 立即下载