• 请不要在回答技术问题时复制粘贴 AI 生成的内容
KJH
V2EX  ›  程序员

Doris 增量数据刷新方案

  •  1
     
  •   KJH · 1 day ago · 1124 views

    各位巨佬,真没招呀,在线拜求

    目前我们引入了 Doris 实时数仓,版本 2.1 ,FE 8c 32g BE 16c 32g

    数据处理流程是 数据进入到 Doris 后开始使用 Doris 的 insert into select 进行 dwd dwm dws ads 等层级的数据处理。

    由于都是业务数据,不是纯新增数据,所以都是主键模型。

    某个业务维护的相关表需要先根据 update_time 统计出关联的业务字段,写入到一张增量表中,最后由增量表作为驱动表。也就是在一个大的多表 JOIN sql 中,增量表作为 build 端,利用 RUNTIME FILTER 下推过滤大表数据从而实现表数据更新

    现在问题就出现在这个增量驱动表上,增量表数据很少可能也就 3 万~5 万区间,5 分钟跑一次,每次全量刷新。

    然后利用 ANALYZE TABLE 刷新增量表的统计新的,我没想到的是,增量表数据进去了以后,统计信息居然需要等 3 分钟在执行才能统计到条数,

    这也就导致 Doris 优化器 CBO 在利用统计信息判断 join 的时,增量表如果统计信息是 0,或者健康度太低,就不会走 RF ,从而进行全表扫描,导致OOM !!

    我尝试过使用 /*+ SET_VAR(disable_join_reorder=true) / 或/+ LEADING(a b c) */ 都不行,效率太差,内存使用更高,原本能成功的,用了这两个优化后失败率更高了。

    现在是我每两个小时执行一次增量表统计信息收集,然后 DORIS 的 ETL 任务能抗两小时,两小时后就开始报错 OOM 了。

    所以想请教下各位巨佬,Doris 不是各个大厂都在推么,难道没这种问题么?还是我使用方式错了,我人要麻了。。。

    7 replies    2026-05-16 21:02:05 +08:00
    BlueBing
        1
    BlueBing  
       1 day ago   ❤️ 1
    帮楼主顶一个,顺便问下,选型没考虑 starorcks 吗
    KJH
        2
    KJH  
    OP
       1 day ago
    @BlueBing 没用阿里云
    Jim2Chen
        3
    Jim2Chen  
       1 day ago   ❤️ 1
    帮楼主顶一个
    KJH
        4
    KJH  
    OP
       1 day ago
    没大佬来哇 。。完啦
    yaoyuan7571
        5
    yaoyuan7571  
       1 day ago
    我看官方文档 ANALYZE 命令不是支持同步参数 WITH SYNC 吗,试试?
    coefu
        6
    coefu  
       1 day ago
    加他们群问。
    Oldletter
        7
    Oldletter  
       11h 6m ago
    你这个场景是强依赖 RF 过滤大表,统计信息不准的时候 Doris 可能会把 RF 裁掉。先把 RF 裁剪关掉,看 Profile 里面 RF 有没有正常下推、有没有生效。

    另外我觉得这个增量驱动表没必要用主键模型。它本质上只是一个小的驱动表,每 5 分钟重建一次,用来过滤大表,不是真正的业务 upsert 表。可以考虑改成 Duplicate Key 表,加一个 batch_id ,每轮写一批新的数据,查询时带 batch_id 过滤,跑完再清老批次。这样比反复刷新同一张主键表更稳,统计也更容易控制。

    如果还不行,可以临时用手动注入统计信息兜底。反正这个小表大概就是 3 ~ 5 万行,不需要特别精确,只要别让优化器以为它是 0 行就行。

    最后建议升级一下 2.1 的小版本。2.1 早期在 row count 、统计信息、RF 这块确实有一些坑,后面的小版本修过一些类似问题。我记得 2.1.8 和 11 都修复过问题,升级完版本不行的话再调参数,按理说你这个最好不行就上新的版本算了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3827 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 00:08 · PVG 08:08 · LAX 17:08 · JFK 20:08
    ♥ Do have faith in what you're doing.