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

flink 2.4.1 主键id读取好像有点问题 数据库是bigint 读取过来是字符串?

flink 2.4.1
主键id读取好像有点问题 数据库是bigint 读取过来是字符串?image.png
image.png
image.png

展开
收起
cuicuicuic 2023-07-31 14:19:35 60 0
1 条回答
写回答
取消 提交回答
  • 在 Flink 2.4.1 中,默认情况下,当将 bigint 类型的主键字段读取到 Flink 中时,可能会以字符串形式表示。

    这是因为 Flink 在读取数据库变更事件时,将变更数据解析为 JSON 格式,并且 JSON 中的所有字段都以字符串形式表示。因此,即使 bigint 类型的字段从数据库中读取出来是数值类型,Flink 也会按照字符串来处理。

    如果你需要将 bigint 主键字段作为数值类型进行处理,可以通过使用 CAST 函数将其转换为正确的类型。

    例如,假设你有一个包含 bigint 类型主键字段的表,可以使用以下方式将其转换为数值类型:

    SELECT CAST(pk_column AS BIGINT)
    FROM your_table;
    

    上述查询语句将 bigint 类型的 pk_column 字段强制转换为 BIGINT 类型,以便在 Flink 中进行数值计算或其他操作。

    请注意,在进行转换时,请确保数据的有效性和合法性,以避免潜在的类型转换错误或数据损失。

    2023-07-31 21:42:51
    赞同 展开评论 打赏

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

相关产品

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

    更多
    2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载
    云时代的数据库技术趋势 立即下载
    超大型金融机构国产数据库全面迁移成功实践 立即下载