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

大家有没有遇到过flink cdc读取数据,经过处理以后,写到doris出现丢数的问题?在本地测几条

大家有没有遇到过flink cdc读取数据,经过处理以后,写到doris出现丢数的问题?在本地测几条没有问题,在生产环境数据量大了,同一个分组下最后一部分数据总是处理不到

展开
收起
真的很搞笑 2023-07-02 17:38:15 222 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    在 Flink CDC 中读取数据,经过处理后写入到 Doris 中出现丢数的问题,可能是由于以下原因导致的:
    数据丢失:在数据从 Flink CDC 到 Doris 的传输过程中,可能发生了网络抖动、连接中断等问题,导致部分数据丢失。
    数据重复:在数据从 Flink CDC 到 Doris 的传输过程中,可能出现重复数据,例如由于多次重试、数据重放等原因导致。
    Doris 配置问题:Doris 集群的配置可能存在问题,例如配置不正确、性能不足等,导致无法处理高并发的数据写入请求,从而导致数据丢失或重复。
    针对这些问题,可以考虑以下优化措施:
    修改 Flink CDC 和 Doris 的配置,例如调整并发度、网络缓冲区、批量大小等参数,可以根据实际情况来确定。
    使用 Canal 方式连接 MySQL 和 Doris,这是一种更高效的数据同步方式,可以显著提高数据同步的速度和稳定性。
    增加数据校验机制,例如计算数据的 checksum 或者使用唯一标识符来判断数据是否重复或者丢失。
    增加数据重试机制,例如

    2023-07-30 09:36:46
    赞同 展开评论 打赏
  • 是的,有时候在使用 Flink CDC 读取数据并将其写入到 Doris(或其他目标系统)时可能会遇到丢失数据的问题。这种情况通常在生产环境中,当数据量大且处理复杂时更容易发生。

    以下是一些可能导致数据丢失的常见原因:

    1. 并行度设置不正确:Flink 的任务并行度设置过低可能导致数据处理能力不足,从而引起数据丢失。请检查你的任务的并行度设置,并根据数据量和计算复杂度进行调整。

    2. Checkpoint 配置不合理:如果 Flink 的 Checkpoint 配置不合理,例如设置的时间间隔太大或状态后端不稳定,可能会导致数据丢失。请确保 Checkpoint 的配置充分考虑了数据一致性和恢复能力。

    3. 异常处理不完善:在 Flink 任务中,如果没有适当地处理异常情况,例如网络故障或写入目标系统失败,可能导致部分数据丢失。建议在代码中添加适当的错误处理机制,例如重试策略、错误日志记录等。

    4. 数据延迟:由于网络延迟或处理逻辑的复杂性,数据可能会出现延迟。这可能导致在一段时间内观察到数据的丢失,不过通常情况下,数据会在稍后的时间内到达目标系统。

    为了解决这些问题,你可以尝试以下步骤:

    - 检查 Flink 任务的配置,包括并行度、Checkpoint 配置和异常处理机制,并根据需要进行调整。 - 确保目标系统(如 Doris)的稳定性和可靠性,包括网络连接、写入速度等方面。 - 对于任务中的关键数据,可以考虑添加更严格的数据一致性和错误处理机制,例如使用幂等操作和事务处理。

    另外,与社区和其他用户交流和分享经验也是寻找解决方案的好方法。他们可能遇到类似的问题,并能提供有用的建议和解决方案。

    2023-07-30 09:36:08
    赞同 展开评论 打赏

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

相关产品

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

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载