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

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

展开
收起
真的很搞笑 2023-07-31 14:19:35 133 分享 版权
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 集群和引擎,提高作业开发运维效率。

还有其他疑问?
咨询AI助理