gpt4 book ai didi

Java CSV 到 SQL 文件大小问题

转载 作者:行者123 更新时间:2023-12-01 12:37:37 26 4
gpt4 key购买 nike

我正在监控 CSV 文件,并通过以下过程导入到 Postgres:

  1. 将文件加载到 ArrayList (DATE_TIME,MEASUREMENT)
  2. 从数据库获取最新的 DATE_TIME
  3. 迭代 ArrayList
    ->如果 DATE_TIME > 最新则更新数据库
    ->如果 DATE_TIME < 最新则不关心

半小时内工作正常,但当文件开始变大时,它就难以消化。所以我想我只需要处理 CSV 文件中的每一行一次。

由于文件大小和所需UI更新的频率,将CSV批量加载到数据库也是不可能的。

有什么好方法可以跟踪我上次读取文件的位置 - 并在下次线程运行时从该点恢复读取?

最佳答案

如果您的文件很大,则不应将其加载到内存中只是为了迭代数组。您应该将程序更改为:

  1. Open the file
  2. Get the latest DATE_TIME from the database
  3. Iterate through the file getting (DATE_TIME,MEASUREMENT)
    • If DATE_TIME > latest Then update database
    • If DATE_TIME < latest Then don't care
  4. Close the file

如果您的文件非常很大,您应该考虑定期提交数据库中的更改。

现在问你的问题:能够在文件读取过程停止的地方重新启动的最简单方法是将文件的剩余部分(自上次读取以来)复制到新建临时文件,删除该文件并将临时文件重命名为原来的名称。

关于Java CSV 到 SQL 文件大小问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25446926/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com