【详述】
• 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)