gpt4 book ai didi

java - 如何将 CSV 文件拆分为多个 block 并在 Java 代码中并行读取这些 block

转载 作者:搜寻专家 更新时间:2023-10-30 21:46:11 24 4
gpt4 key购买 nike

我有一个非常大的 CSV 文件 (1GB+),它有 100,000 行。

我需要编写一个 Java 程序来解析 CSV 文件中的每一行,以创建要发送的 HTTP 请求的正文。

换句话说,我需要发出 100,000 个与 CSV 文件中的行相对应的 HTTP 请求。如果我在一个线程中执行这些操作将会很长。

我想创建 1,000 个线程来执行 i) 从 CSV 文件中读取一行,ii) 创建一个 HTTP 请求,其主体包含读取行的内容,以及 iii) 发送 HTTP 请求并接收响应。

这样,我需要将 CSV 文件拆分为 1,000 个 block ,并且这些 block 之间应该没有重叠的行。

这种拆分过程的最佳方法是什么?

最佳答案

同时读取多个位置的单个文件不会让您更快(但可能会大大减慢您的速度)。

不是从多个线程读取文件,而是从单个线程读取文件,并并行处理这些行的处理。一个线程应该逐行读取您的 CSV,并将每一行放入队列中。然后多个工作线程应该从队列中取出下一行,解析它,转换为请求,并根据需要并发处理请求。然后,工作的拆分将由单个线程完成,确保没有漏线或重叠。

关于java - 如何将 CSV 文件拆分为多个 block 并在 Java 代码中并行读取这些 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11098873/

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