FlinkSQL JSON_VALUE函数性能优化
本章节适用于MRS 3.5.0及以后版本。
使用场景
内置JSON_VALUE函数解析一个JSON item的多个字段时,复用上次JSON item的解析结果,提升算子性能。
使用方法
配置Flink作业时,可通过在FlinkServer WebUI的Flink作业开发界面添加自定义参数“table.optimizing.json-value-optimization”为“true”开启JSON_VALUE函数性能优化,可参考如何创建FlinkServer作业。
create table kafkaSource ( msgValue STRING ) with ( 'connector' = 'kafka' ,'topic' = 'topic-1' ,'properties.bootstrap.servers' = 'Kafka的Broker实例业务IP:Kafka端口号' ,'properties.group.id' = 'group-1' ,'value.format' = 'raw' ,'scan.startup.mode' = 'group-offsets' ,'properties.auto.offset.reset' = 'earliest' ,'value.fields-include' = 'EXCEPT_KEY' ); create table print ( id STRING, name STRING ) with ( 'connector' = 'print' ); INSERT INTO print SELECT JSON_VAL(msgValue, '$.id'), JSON_VAL(msgValue, '$.name') from kafkaSource;