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

Flink CDC Mongodb中的NumberLong类型应该用flink sql什么类型对应?

Flink CDC Mongodb中的NumberLong类型应该用flink sql什么类型对应,我用BIGINT后只同步了一小部分,而且也不报错?

展开
收起
cuicuicuic 2023-11-22 09:26:26 40 0
4 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    MongoDB的NumberLong类型在Flink SQL中可以用BIGINT类型来映射。在Flink SQL中,BIGINT类型可以存储最大值为9,223,372,036,854,775,807的正负整数,而MongoDB的NumberLong类型的范围也是相同的,因此可以匹配。
    然而,如果使用BIGINT类型后只能同步一小部分数据,这可能是因为您的数据超出BIGINT类型的支持范围,或者数据类型不匹配。您可以尝试以下方法来解决这个问题:

    1. 检查数据:首先,请检查您的MongoDB中的数据,确保它们不会超过BIGINT类型的支持范围。如果数据超过了此范围,请考虑使用另一种更大的类型(如DECIMAL或VARCHAR)。
    2. 使用其他类型:如果数据类型不匹配,您可以尝试使用其他类型,例如DECIMAL或VARCHAR。这可能会更好地匹配您的数据,并允许您同步更多的数据。
    3. 数据预处理:您还可以在读取数据之前对数据进行预处理,以确保它们符合所需的格式。例如,您可以使用MongoDB的聚合管道来将数据转换为适当的类型。
    2023-11-29 13:46:12
    赞同 展开评论 打赏
  • 在Flink SQL中,MongoDB中的NumberLong类型应该用BIGINT类型对应。如果你发现只同步了一小部分数据,可能是因为你的数据量较小,或者MongoDB的默认分片数量设置得过小。你可以尝试调整MongoDB的分片数量,以便更好地同步所有数据。

    2023-11-29 12:01:23
    赞同 展开评论 打赏
  • 看连接器官网的,data type 映射,此回答整理自钉群“Flink CDC 社区”

    2023-11-22 12:08:50
    赞同 展开评论 打赏
  • Flink CDC 支持 MongoDB 中的 NumberLong 类型,但是您需要注意类型映射问题。
    在 Flink CDC 过程中,您可以将 NumberLong 映射到 BIGINT 类型来同步数据,但是您还需要关注以下几点:

    • MongoDB 中 NumberLong 类型支持的最大值为 9,223,372,036,854,775,807,在 Flink CDC 过程中可能造成精度损失。
    • 您可以考虑将 NumberLong 类型映射到 STRING 类型,这样就可以完全保持数值不变。
    2023-11-22 10:49:33
    赞同 展开评论 打赏

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

相关产品

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

    更多
    Data as a Service - 数据即服务 -- MongoDB⾼级应⽤模式 立即下载
    阿里云MongoDB云服务构建 立即下载
    饿了么高级架构师陈东明:MongoDB是如何逐步提高可靠性的 立即下载