我有一个大数据 csv 文件,其中包含键:值行。我怎样才能并行阅读它? 我无法将其划分为 block ,因为任何行都有另一个字节大小。 这种情况我该怎么办?
我找不到 Java 的示例。
最佳答案
实际上没有理由并行读取同一个文件,因为这不会提高文件读取的速度。如果您想读取文件,您有多种选择:
您一次将整个文件读取到一个字节[],这是加载文件的最快方式,之后您可以将其拆分为新行并管理数据。
您可以使用 Scanner 和 nextLine 方法从文件中读取行。这并不是很有效,所以我不推荐这样做。
您使用一些填充字节数组读取文件。这是一个内存使用效率高的解决方案,但 1. 选项仍然是最好的。
此外,由于文件加载相对较慢(与 RAM 中的数据管理相比),您应该创建一个线程(是的,只有一个,不需要更多)将所有文件读取到字节数组,也许还有另一个线程将 byte[] 转换为加载的配置的线程,因为如果文件很大,这也会花费很多时间。
关于java - 如何在Java + Akka上读取文件并发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38108092/