【问题标题】:handling LARGE dataset处理 LARGE 数据集
【发布时间】:2011-02-22 22:07:49
【问题描述】:
处理大型数据集的最佳解决方案是什么。
我将txt文件分解为多个文件。
如果我加起来大约是 100 GB
这些文件只不过是
uniqID1 uniqID2
等等
id 对
如果我想计算像
1:uniqID 等的唯一数量
2:uniqID1链接到的其他ID列表?
什么是最好的解决方案?
如何将这些更新到数据库中?
谢谢!
【问题讨论】:
标签:
database
dataset
large-data-volumes
【解决方案1】:
如果你有一个包含以下列的表格:
id1 varchar(10) // how long are you ids? are they numeric? text?
id2 varchar(10)
表格中有大约 50 亿行,您希望快速回答以下问题:
how many unique values in column id1 are there?
what is the set of distinct values from id1 where id2 = {some parameter}
一个关系数据库(支持 SQL)和一个在 id1 上具有索引和在 id2 上具有另一个索引的表可以满足您的需求。 SQLite 可以完成这项工作。
编辑:要导入它们,最好将两个值与值中从未出现过的字符分开,例如逗号或管道字符或制表符,每行一对:
foo|bar
moo|mar
EDIT2:你不需要关系,但它不会伤害任何东西,如果数据库是关系的,你的数据结构更具可扩展性。