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

flinkcdc,同步mysql中的datetime字段会变为时间戳,怎么办?

flinkcdc,同步mysql中的datetime字段会变为时间戳,怎么办?

展开
收起
十一0204 2023-08-09 09:06:29 514 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    当使用 Flink CDC 同步 MySQL 中的 DATETIME 字段时,如果它在 Flink 中被解析为时间戳而不是日期时间格式,可能是由于以下原因:

    数据类型映射:Flink CDC 默认使用 JDBC 驱动程序来解析 MySQL 中的数据类型,并将其映射到 Flink 的数据类型。在某些情况下,JDBC 驱动程序可能将 MySQL 的 DATETIME 类型解析为 Flink 的时间戳类型。这可能导致在 Flink 中处理 DATETIME 字段时出现时间戳值。
    解决这个问题的方法是通过自定义 Flink CDC 的源函数(Source Function)来解析和转换 DATETIME 字段。您可以在源函数中使用自定义逻辑将时间戳转换为所需的日期时间格式,并将其作为 Flink 的 DATETIME 类型进行处理。

    2023-08-11 21:26:36
    赞同 展开评论 打赏
  • 意中人就是我呀!

    ds就是这样的,你自己变换下, 自己手动处理时间戳呀0.0 ,java代码方式。sql写数据同步测一下时间戳。找个工具类,hutool这种,用时间转换类转换下就行或者自己写datefromat.xxxxx。此回答整理至钉群“Flink CDC 社区”。

    2023-08-09 12:05:47
    赞同 展开评论 打赏

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

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像