each返回值是个矩阵,矩阵的列类型不能是字符串,可以改用loop函数:
t=table(1..3 as id,["a,b,c","d,e,f","g,h,i"] as val)
select id,loop(split{,","},val) as `col1`col2`col3 from t
显示t的值如下:
若是这些列的增加到t,可以如下所示:
t[`col1`col2`col3]=loop(split{,","},t.val)
下面这种数据,想按","split 之后单独成列,表操作怎么写?
def splitColumns(x)
{
a=split(x,",")
return a
}
each(splitColumns,t[`bid_prices])
each(splitColumns, t["bid_prices"]) => Not allowed to create a matrix with type STRING