如题,我试了以下的回放,两张表总共200w行,一共回放了10s,所以应该是两张表每秒一共回放20w条吧,但是每秒每张表回放多少条是怎么确定的?
replayRate =200000, absoluteRate =true
//unsubscribeTable(tableName=`trades, actionName = `engine1)
//dropStreamTable(`trades)
n=5000000
sym = rand(symbol(`IBM`APPL`MSFT`GOOG`GS),n)
date=take(2012.06.12..2012.06.16,n)
time=rand(13:30:11.008..13:30:11.012,n)
volume = rand(100,n)
t=table(sym,date,time,volume)
if(existsDatabase("dfs://test_stock")){
dropDatabase("dfs://test_stock")
}
db=database("dfs://test_stock",VALUE,2012.06.12..2012.06.16)
trades=db.createPartitionedTable(t,`trades,`date)
trades.append!(t)
share streamTable(100:0,`sym`date`time`volume,[SYMBOL,DATE,TIME,INT]) as st1
share streamTable(100:0,`sym`date`time`volume,[SYMBOL,DATE,TIME,INT]) as st2
ds1=replayDS(sqlObj=<select * from trades where date=2012.06.12>,dateColumn=`date,timeColumn=`time,timeRepartitionSchema=[13:30:11.008,13:30:11.010,13:30:11.013])
ds2=replayDS(sqlObj=<select * from trades where date=2012.06.16>,dateColumn=`date,timeColumn=`time,timeRepartitionSchema=[13:30:11.008,13:30:11.010,13:30:11.013])
timer replay(inputTables=[ds1,ds2],outputTables=[st1,st2],dateColumn=`date,timeColumn=`time, replayRate =200000, absoluteRate =true); //将ds1和ds2分别回放到st1和st2中
select * from st1;