【求助】Flink 插入 Paimon 对象数组,StarRocks 查询挂起

【详述】

• specs 字段类型为 ARRAY<ROW(spec STRING)>。

  •     场景一:若保留 DROP TABLE IF EXISTS,反复执行脚本后,无论如何,StarRocks 的查询操作总是导致节点挂起,无法返回结果。

  •     场景二:若注释掉 DROP TABLE IF EXISTS:
        1.  第一次执行脚本后,问题依然存在,无法查询。
        2.  第二次执行同样的脚本后,StarRocks 才能正常返回数据。

结论:仅在对同一表重复进行写入后,StarRocks 才能读取到数据。

【背景】

1. paimon 脚本:

# DROP TABLE IF EXISTS `default`.ads_scm_test;
# 创建脚本
CREATE TABLE IF NOT EXISTS `default`.ads_scm_test (
  name    STRING COMMENT '品名',
  specs   ARRAY<ROW(spec STRING)> COMMENT '规格列表',
  PRIMARY KEY (name) NOT ENFORCED
) WITH (
  'merge-engine' = 'deduplicate'
);

# 插入脚本
INSERT INTO paimon.`default`.ads_scm_dayou VALUES (
    'order_001',
    ARRAY[
        ROW('item_001'),
        ROW('item_002')
    ]
);

Starrocks查询脚本:

      SELECT * FROM paimon.`default`.ads_scm_test;

【业务影响】
• 仅在重复执行一次脚本后才恢复可查询,严重影响数据同步流程和生产可用性。

【是否存算分离】
是。存储层:Apache Paimon;计算层:Flink(由 Dinky 管理);查询层:StarRocks。

【StarRocks版本】 3.3.15
【集群规模】
【机器信息】
【表模型】
【导入或者导出方式】Flink
【联系方式】trounce@126.com
【附件】
1-cn.out (89.4 KB)
0-cn.out (91.0 KB)