在dolphindb的一个分布式分区表中,保存了约100多G的数据,现在想要把这些数据导出成csv文件,我知道有saveText的方法:
db = database("dfs://db1")
t = select * from db.loadTable("tb1")
t.saveText("mydata.csv")
但是因为内存有限,无法全量读取并导出。我想知道是否有办法,按照分区逐个导出,将内存的使用控制在可用范围内,并且最后的结果能拼接成单个csv文件?
在dolphindb的一个分布式分区表中,保存了约100多G的数据,现在想要把这些数据导出成csv文件,我知道有saveText的方法:
db = database("dfs://db1")
t = select * from db.loadTable("tb1")
t.saveText("mydata.csv")
但是因为内存有限,无法全量读取并导出。我想知道是否有办法,按照分区逐个导出,将内存的使用控制在可用范围内,并且最后的结果能拼接成单个csv文件?
5 回答3.2k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
1 回答2.9k 阅读✓ 已解决
1 回答2k 阅读✓ 已解决
3 回答2.3k 阅读
DolphinDB database的saveText函数支持追加数据,只要设置参数append=true即可。
因此可以把分区数据一个个加载到内存,然后追加保存到csv文件。下面的例子是一个按月分区的数据库,用pipeline连续执行: