准备把date和factor两层分区的数据重新以date分区,逐月提取数据操作,以下代码执行出错, 'port = mr(ds, dataReady::mapFactors{, avg, freq}, , unionAll{, ports}) => dataReady::mapFactors: return dealwork::freqTransform(df1, mean, freq) => dealwork::freqTransform: Factorweek = ::evaluate(sql(colDefs, indata, , [sqlCol("stock"), sqlCol("date", tran_date, "date")], 1)) => Unrecognized column name stock',找不到stock列,说明pivotBy未执行,或读出的df为空表。不做repartitionDS时用ds=sqlDS(<select * from loadTable("dfs://factors_value","factors_value") where factor in factors , date>=startDate and date <= endDate >) 读取运行正常,但是最终合并表时无法拼接factor列,列不匹配存不进ports库。哪里出了问题?
def mapFactors(df,mean,freq){
return freqTransform(df,mean,freq)
}
def pivotBy(df){
return select value from df pivot by date, stock,factor
}
ds = repartitionDS(<select * from loadTable("dfs://factors_value","factors_value") where factor in factors , date in [2020.01.01,2023.05.01]>, `date,RANGE,2020.01.01 + (0..40)*1)
ds.transDS!(pivotBy)
ports=mr(ds, mapFactors{,mean,freq},,unionAll{,ports})