我的DolphinDB建库建表定义如下:
db1 = database("", VALUE, 2020.01.01..2020.12.31)
db2 = database("", HASH,[SYMBOL,20])
db = database(database,COMPO, [db1,db2])
colNames=`TradeDate`Type`Seq`ExchID`SecID`ExTime`LocalTime`TradeTime`TradePrice`Volumn`Turnover`TradeBuyNo`TradeSellNo`TradeFlag
colTypes=[DATE,INT,INT,SYMBOL,SYMBOL,TIME,TIME,TIME,LONG,LONG,DOUBLE,INT,INT,SYMBOL]
t=table(1:0,colNames,colTypes)
transpt=db.createPartitionedTable(t,`transpt,`TradeDate`SecID)
我的txt文件数据样本如下:
txt文件头中没有列名,但其每列的定义如下图:
我导入数据的脚本如下:
database="dfs://dataImportTxt"
fileName="/home/mdp/marketdata/20200708.txt"
def d2m(mutable t){
return t.replaceColumn!(`TradeDate,datetimeParse(string(t.TradeDate),"yyyyMMdd")).replaceColumn!(`LocalTime,datetimeParse(string(t.LocalTime),"HmmssSSS")).replaceColumn!(`TradeTime,datetimeParse(string(t.TradeTime),"HmmssSSS")).replaceColumn!(`ExTime,datetimeParse(string(t.ExTime),"HmmssSSS"))
}
schema=extractTextSchema(fileName)
table=loadTextEx(db,`transpt,`TradeDate`SecID,fileName,',',schema,,d2m)
transpt=loadTable("dfs://dataImportTrans","table")
执行上述脚本会报如下错误:
请问是什么原因?
还有一个办法,获得了schema之后,修改一下schema中的列名。