怎么删除DolphinDB分布式表中某天某只股票的数据
数据库是组合分区,第一个维度按天(MDDate列)进行值分区,第二个维度按照股票代码(SecurityID列)分为20个HASH分区,代码如下:
db1 = database("", VALUE, 2020.01.01..2020.12.31)
db2 = database("", HASH,[SYMBOL,20])
db = database(database,COMPO, [db1,db2])
colNames=`MDDate`Type`Seq`ExchID`SecurityID`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,`MDDate`SecurityID)
我想删除2018.03.01这一天的000890这只股票的数据,怎么写?下面是哪里错了吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
DolphinDB分布式表目前不支持delete,要删除记录需要先把相关分区的数据整个读取出来保存到内存表并从内存表删除数据,然后用dropPartition函数删除这个分区,再把内存表数据写入到分布式表。
想删除2018.03.01这一天的
000890
这只股票的数据,步骤如下:(1).先求出
000890
在hash分区中的bucket:得到bucket为3.
(2).得到分区数据
(3).从内存表中删除
(4).删除分区
(5).写入数据