我使用TorQ的.loader.loadallfiles以累积的方式从大型CSV文件填充磁盘数据库,效果很好。但是,我现在还需要附加来自流媒体源的数据,我不确定最好的方法是什么。
我知道如何更新数据或将数据附加到内存数据库。但是,我不知道有哪些API可以将增量更新一致地添加到先前使用.loader.loadallfiles
填充的磁盘数据库中?
我打电话给.loader.loadallfiles
,例如
rawdatadir:hsym `$("" sv (getenv[`KDBRAWDATA]; "fwdcurve"));
.loader.loadallfiles[`headers`types`separator`tablename`dbdir`partitioncol`partitiontype!(`date`ccypair`ftype;"ZSS";enlist ",";`fwdcurve;target;`date;`month); rawdatadir];
答案 0 :(得分:1)
为了说明这需要的时间,假设我有两个磁盘列表x和y。 一次上传10000个元素非常快
q)\t `:x upsert 10000#1
0
一次只做一个
q)\t:10000 `:y upsert 1
126
使用完整的TorQ框架可能值得研究。它专门针对这种情况而设计。它具有RDB和HDB功能,可以在http://aquaqanalytics.github.io/TorQ/
找到如果您希望附加像您这样的数据,那么目前还没有任何API可以做到这一点。您可以做的是修改要写入的RDB或WDB以附加到数据库。我认为使用.loader.writedatapartition然后调用.loader.finish会很有帮助。