Mongodb导入和解密更改的行
我有一个大的csv文件,其中包含超过3000万行。我需要每天加载此文件,并确定哪些行已更改。不幸的是,没有唯一的键字段,但可以使用其中四个字段使其唯一。一旦我确定了更改的行,我就会想要导出数据。我曾尝试使用传统的SQL Server解决方案,但性能太慢,无法正常工作。因此,我一直在研究Mongodb—它在大约20分钟内成功导入了该文件(这很好)。现在我没有任何使用Monogdb的经验,更重要的是,我不知道最佳实践。因此,我的想法如下:Mongodb导入和解密更改的行,mongodb,import,Mongodb,Import,我有一个大的csv文件,其中包含超过3000万行。我需要每天加载此文件,并确定哪些行已更改。不幸的是,没有唯一的键字段,但可以使用其中四个字段使其唯一。一旦我确定了更改的行,我就会想要导出数据。我曾尝试使用传统的SQL Server解决方案,但性能太慢,无法正常工作。因此,我一直在研究Mongodb—它在大约20分钟内成功导入了该文件(这很好)。现在我没有任何使用Monogdb的经验,更重要的是,我不知道最佳实践。因此,我的想法如下: 作为一次性导入,使用mongoimport将数据导入到集合中
这对我来说是可行的,但我希望有更好的方法来解决这个问题。使用unix排序和差异 对磁盘上的文件进行排序
sort -o new_file.csv -t ',' big_file.csv
sort -o old_file.csv -t ',' yesterday.csv
diff new_file.csv old_file.csv
命令可能需要一些技巧
您还可以使用mysql通过
(加载文件)
然后在4个字段上创建键(或主键)
然后将昨天的文件加载到另一个表中,然后使用2条sql语句比较这些文件
但是,diff将工作得最好
-丹尼尔我肯定会让diff命令去看看它的性能如何,这可能正是我想要的。非常感谢。