导入数据到分布式表时如何增加一列?

导入数据文件 SH0001.csv, SH0001 是 标的名,需要作为表的一列加到表中。另外 csv 文件的时间戳原本是长整型,需要转成 datetime 作为分区字段。应该怎么写脚本:

请先 登录 后评论

1 个回答

veryOrdinary
dir = "/home/ffliu/data/test.csv"
sym = dir.split('/').tail(1).split('.')[0]

dropDatabase("dfs://valuedb")
db=database(directory="dfs://valuedb", partitionType=VALUE, partitionScheme=2000.01.01..2000.01.02)
t = table(1:0, `symbol`datetime`val, [SYMBOL, DATETIME, DOUBLE])
pt = db.createPartitionedTable(t, `pt, `datetime);

def mytrans(mutable t, sym){
    t.replaceColumn!(`dt, datetime(t.dt))
    return select sym, * from t
}

loadTextEx(db, `pt, `dt, dir, transform=mytrans{,sym})
select * from loadTable("dfs://valuedb", `pt)
请先 登录 后评论
  • 1 关注
  • 0 收藏,481 浏览
  • Polly 提出于 2023-08-24 16:36

相似问题