我有一个创建CSV文件的外部应用程序。我想自动将这些文件写入SQL,但作为增量。
我正在研究批量插入,但我认为这不是增量的。 CSV文件可能会变得非常庞大,因此增量将是最佳选择。
谢谢。
答案 0 :(得分:0)
处理此问题的常用方法是将整个CSV批量插入到临时表中,然后使用存储过程将临时表中的数据增量合并到最终目标表中。
如果您仍然担心CSV文件太大,下一步是编写一个读取CSV的程序,并生成一个截断的文件,其中只包含您要导入的新/已更改数据,以及然后批量插入较小的CSV而不是原始的。
答案 1 :(得分:0)
创建一个文本或csv文件,其中包含要在表中加载的所有csv文件的名称。如果不重复,您可以包含文件路径。您可以使用shell脚本执行此操作。
然后创建一个临时表,加载需要插入的所有csv文件名。使用程序。
使用上面的临时表,按行数循环并将其加载到目标表(不在循环中截断)。如果需要截断,则在循环之前执行。如果需要任何转换,您可以将数据加载到分段(使用转换过程)
我们也有同样的问题,我们正在使用这种方法。最近,我们转而使用Python来完成所有任务并将数据加载到临时表中。转换后,它最终被加载到目标表中。