我有一组文件。每个文件应包含一组所有文件中的唯一行。例如,如果文件I包含行“1号线”,则没有其他文件应该有一行“1号线”(也文件I应包含“1号线”的1项)查找/删除BigData中的重复项
问题:
我需要删除所有来自这些文件的重复。但是,总行数超过了数十亿,所以我无法真正将所有文件压入内存并删除。
我想几个解决方案:
1到数据库中创建一个表,并使用每一行作为一个独特的密钥,然后由所有的行扔进DB我们将删除所有重复。
2-使用Redis设置结构而不是DB。
3-创建一个文件行作为文件的名称。因此,一旦所有文件自然创建,重复将消失。
但是,我能想到的每个解决方案都需要非常大量的时间和资源,目前我无法负担得起。
所以我的问题是:
基于上述方案1,哪条路线似乎更可靠?
2-有没有更好的解决方案/我不知道的技术?
@Ilja我不是要求密码。我在寻求想法。我已经提出了3个解决方案,我知道这些工作但是“相信”代价高昂,我不知道这是多么昂贵。 – nafas
'cat file_1 file_2 ... file_n |排序| uniq' –
也许你可以散列(例如md5)每行以减少使用的内存/空间。 – LFI