profile 中 InputEmptyTime 是什么含义

【详述】有一个慢sql, 是查hive外表, 数据量不大全表23w数据,但是查询总是>5s; 看 profile 就 InputEmptyTime 值比较大, 不清楚这个值的含义是什么, 是这个导致的慢吗
【背景】做过哪些操作?
【业务影响】
【StarRocks版本】例如:2.4.0
【集群规模】3fe(1 follower+2observer)+ 3be(fe与be混部)
【机器信息】CPU虚拟核/内存/网卡,例如:48C/64G/万兆
【附件】

  • Profile信息
    query_profile.txt (27.5 KB)
  • 并行度:1
  • pipeline是否开启:
    enable_pipeline_engine,true
    enable_pipeline_query_statistic,true
    pipeline_dop,0
    pipeline_profile_level,1
  • 执行计划:explain costs + sql
    sql:

explain costs select vin,veh_status,usage_type,hoodsts,val_start_time,val_end_time,xcuvehmd from ilad_sig.tmp_signal_vehicle_value_v1 where vin=‘LW433B121N1046855’ and val_start_time <= ‘1671212528’ and val_end_time>=‘1671212528’ group by vin,veh_status,usage_type,hoodsts,val_start_time,val_end_time,xcuvehmd;

PLAN FRAGMENT 0(F02)
  Output Exprs:2: vin | 3: veh_status | 4: usage_type | 5: hoodsts | 6: val_start_time | 7: val_end_time | 8: xcuvehmd
  Input Partition: UNPARTITIONED
  RESULT SINK
""
  4:EXCHANGE
     cardinality: 6659
""
PLAN FRAGMENT 1(F01)
""
"  Input Partition: HASH_PARTITIONED: 2: vin, 3: veh_status, 4: usage_type, 5: hoodsts, 6: val_start_time, 7: val_end_time, 8: xcuvehmd"
  OutPut Partition: UNPARTITIONED
  OutPut Exchange Id: 04
""
  3:AGGREGATE (merge finalize)
"  |  group by: [2: vin, VARCHAR, true], [3: veh_status, VARCHAR, true], [4: usage_type, VARCHAR, true], [5: hoodsts, VARCHAR, true], [6: val_start_time, VARCHAR, true], [7: val_end_time, VARCHAR, true], [8: xcuvehmd, VARCHAR, true]"
  |  cardinality: 6659
  |  column statistics: 
"  |  * vin-->[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN"
"  |  * veh_status-->[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN"
"  |  * usage_type-->[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN"
"  |  * hoodsts-->[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN"
"  |  * val_start_time-->[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN"
"  |  * val_end_time-->[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN"
"  |  * xcuvehmd-->[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN"
  |  
  2:EXCHANGE
     cardinality: 9938
""
PLAN FRAGMENT 2(F00)
""
  Input Partition: RANDOM
"  OutPut Partition: HASH_PARTITIONED: 2: vin, 3: veh_status, 4: usage_type, 5: hoodsts, 6: val_start_time, 7: val_end_time, 8: xcuvehmd"
  OutPut Exchange Id: 02
""
  1:AGGREGATE (update serialize)
  |  STREAMING
"  |  group by: [2: vin, VARCHAR, true], [3: veh_status, VARCHAR, true], [4: usage_type, VARCHAR, true], [5: hoodsts, VARCHAR, true], [6: val_start_time, VARCHAR, true], [7: val_end_time, VARCHAR, true], [8: xcuvehmd, VARCHAR, true]"
  |  cardinality: 9938
  |  column statistics: 
"  |  * vin-->[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN"
"  |  * veh_status-->[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN"
"  |  * usage_type-->[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN"
"  |  * hoodsts-->[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN"
"  |  * val_start_time-->[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN"
"  |  * val_end_time-->[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN"
"  |  * xcuvehmd-->[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN"
  |  
  0:HdfsScanNode
     TABLE: tmp_signal_vehicle_value_v1
"     NON-PARTITION PREDICATES: 2: vin = 'LW433B121N1046855', 6: val_start_time <= '1671212528', 7: val_end_time >= '1671212528'"
     partitions=173/173
     avgRowSize=7.0
     numNodes=0
     cardinality: 14831
     column statistics: 
"     * vin-->[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN"
"     * veh_status-->[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN"
"     * usage_type-->[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN"
"     * hoodsts-->[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN"
"     * val_start_time-->[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN"
"     * val_end_time-->[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN"
"     * xcuvehmd-->[-Infinity, Infinity, 0.0, 1.0, 1.0] UNKNOWN"
  • be节点cpu和内存使用率截图

这里看着是io扫描数据的过程中占用了大量的时间,可以参考这篇内容进行优化https://forum.mirrorship.cn/t/topic/4925

1赞