gpt4 book ai didi

java - 使用java API编写apache箭头格式时是否存在大小限制/问题

转载 作者:行者123 更新时间:2023-12-02 00:35:02 25 4
gpt4 key购买 nike

我的 Arrow writer 从 CSV 文件读取数据对于小于 1 GB 的数据工作正常,但停留在这个限制附近(写入代码似乎被阻止)。我有足够的内存给进程(-Xmx12g),数据大小约为1.2GB。行数较少、大小约为 0.4 GB 的类似结构化文件可以使用相同的代码正常工作。

我只是想知道 apache arrow 目前是否对创建的 vector 有一些限制或行数限制。

最佳答案

最好澄清它到底是如何失败的(我假设您看到了一个异常)。但要解决这个问题。

目前,包含 vector 的每个缓冲区都有 2GB 的限制。此外,所有箭头 vector 当前都使用 int 索引,因此行数限制为 2^31-1。由于默认分配过程的工作方式(缓冲区大小加倍),您可能会在不进行预分配的情况下接近实际限制。

一般而言,Arrow(尤其是 Java)的最佳实践是创建小批处理(例如,读取 N 行将它们转换为批处理并再次写出,而不是尝试读取整个文件)。这种方法的一个例子可以在最近重构的 JDBC adaptor 中看到。 .

已经有recent discussion在开发者邮件列表中更改 API 以支持 64 位索引/大小。

关于java - 使用java API编写apache箭头格式时是否存在大小限制/问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57986045/

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