代码如下:
select [HINT_EXPLAIN]
trade_time as dt,
code,
open,
high,
low,
close,
cumsum(amount)\cumsum(volume) as vwap,
volume,
amount
from loadTable("dfs://trading_intraday", "stock_k1min")
where end_date >= trade_time.date() > start_date
context by code, bar(date(trade_time), 1)
order by dt
执行计划如下:
{
"measurement": "microsecond",
"explain": {
"from": {
"cost": 15
},
"map": {
"partitions": {
"local": 0,
"remote": 7080
},
"cost": 558683218,
"detail": {
"most": {
"sql": "select [245767] trade_time,code,open,high,low,close,amount,volume,bar(date(trade_time), 1) as bar from stock_k1min where 2024.01.11 >= ::date(trade_time) > 2024.01.10 [partition = /trading_intraday/202303M_202304M/Key15/1Qy1]",
"explain": {
"from": {
"cost": 6
},
"where": {
"rows": 0,
"cost": 247673
},
"rows": 63840,
"cost": 248260
}
},
"least": {
"sql": "select [245767] trade_time,code,open,high,low,close,amount,volume,bar(date(trade_time), 1) as bar from stock_k1min where 2024.01.11 >= ::date(trade_time) > 2024.01.10 [partition = /trading_intraday/202303M_202304M/Key15/1Qy1]",
"explain": {
"from": {
"cost": 2
},
"where": {
"rows": 0,
"cost": 3062
},
"rows": 0,
"cost": 3133
}
}
}
},
"reduce": {
"cost": 143330,
"sql": "select [98307] trade_time as dt,code,open,high,low,close,cumsum(amount) \ cumsum(volume) as vwap,volume,amount from anonymous_table context by code,bar order by dt asc",
"explain": {
"map": {
"partitions": {
"local": 3037,
"remote": 0
},
"cost": 80326,
"detail": {
"most": {
"sql": "select [245771] trade_time as dt,code as col1,open as col2,high as col3,low as col4,close as col5,cumsum(amount) \ cumsum(volume) as vwap,volume as col7,amount as col8 from anonymous_table context by code,bar [partition = Key5]",
"explain": {
"contextBy": {
"sortKey": false,
"cost": 1830
},
"rows": 480,
"cost": 1843
}
},
"least": {
"sql": "select [245771] trade_time as dt,code as col1,open as col2,high as col3,low as col4,close as col5,cumsum(amount) \ cumsum(volume) as vwap,volume as col7,amount as col8 from anonymous_table context by code,bar [partition = Key26]",
"explain": {
"rows": 0,
"cost": 3
}
}
}
},
"merge": {
"cost": 10938,
"rows": 1280400,
"detail": {
"most": {
"sql": "select [245771] trade_time as dt,code as col1,open as col2,high as col3,low as col4,close as col5,cumsum(amount) \ cumsum(volume) as vwap,volume as col7,amount as col8 from anonymous_table context by code,bar [partition = Key928]",
"explain": {
"contextBy": {
"sortKey": false,
"cost": 175
},
"rows": 4800,
"cost": 183
}
},
"least": {
"sql": "select [245771] trade_time as dt,code as col1,open as col2,high as col3,low as col4,close as col5,cumsum(amount) \ cumsum(volume) as vwap,volume as col7,amount as col8 from anonymous_table context by code,bar [partition = Key1]",
"explain": {
"rows": 0,
"cost": 31
}
}
}
},
"reduce": {
"cost": 38722,
"sql": "select [98307] dt,col1 as code,col2 as open,col3 as high,col4 as low,col5 as close,vwap,col7 as volume,col8 as amount from anonymous_table109985de757f0000 order by dt asc",
"explain": {
"sort": {
"cost": 26895
},
"rows": 1280400,
"cost": 38703
}
},
"rows": 1280400,
"cost": 143300
}
},
"rows": 1280400,
"cost": 558938940
}
}
(9 min 18 s)
trade_time.是分区列,麻烦帮忙看下这个请求问题!