问题:如何优化离线作业针对JSON_STRING的展开
版本:Doris 版本 1.2.4,3节点混布
场景:
离线作业T+1展开src_mcount_all中的数据,使用GET_JSON_STRING(data,‘$.xxxx’),五千万行数据处理时间30-50min(集群资源空闲)
补充:尝试将待展开字段data存储为JSONB再展开,结果基本没差别
离线作业SQL:
SELECT
GET_JSON_STRING(data,'$.xxx'),
GET_JSON_STRING(data,'$.xxx'),
GET_JSON_STRING(data,'$.xxx'),
GET_JSON_STRING(data,'$.xxx')
...
FROM
src_mcount_all
WHERE
dt = '2023-01-01'
Doris表:
CREATE TABLE `src_mcount_all` (
`dt` date NULL
`data` varchar(65533) NULL
) ENGINE=OLAP
UNIQUE KEY(`dt`,`data`)
COMMENT 'OLAP'
PARTITION BY RANGE(`dt`)()
DISTRIBUTED BY HASH(`uuid`) BUCKETS 10
...