for (num in getPeriod()){
// iterate through columns
for(col in getCol()){
// factor calculation
col_data = sql(select=[sqlCol("symbol"),sqlCol("trade_date"),sqlColAlias(makeUnifiedCall(funcByName("ema"),[sqlCol(col),num]),col+'_'+'ema_'+num)],from=data_table,groupBy=sqlCol(`symbol),groupFlag=0).eval()
// keep two decimal places
col_date[col+'_'+'ema_'+num]= col_data[col+'_'+'ema_'+num].round(2)
result_base = select * from lj(result_base,col_data,`symbol`trade_date)
}
}
如提供的脚本所示,我使用
lj
操作将“col_data”表连接到“result_base”表。但结果表内数据量激增,导致内存溢出错误。有谁知道如何解决这个问题吗?
检查特定key对应的右表是否匹配记录过多。
lj
可能会返回比左表更多的行,因为它返回右表中的所有匹配记录。要返回与左表相同的行数,请考虑使用 lsj
操作。