Java 用于划分数据集的子列表
我有一个索引高达1亿的列表。假设列表中的每个od列表都是一个文本的句子。我想对这些数据进行分区,以便在不同的线程中进行处理。我使用Java 用于划分数据集的子列表,java,partitioning,bigdata,Java,Partitioning,Bigdata,我有一个索引高达1亿的列表。假设列表中的每个od列表都是一个文本的句子。我想对这些数据进行分区,以便在不同的线程中进行处理。我使用子列表进行拆分 并将其发送到不同的线程中进行处理。这是划分数据的标准方法吗?如果没有,你能为我推荐一些标准的方法吗 只要您不查看列表或这些子列表中的任何一个,这将起作用。只读处理很好 还有许多其他“大数据”方法可以处理上亿条记录,因为您可能会遇到其他问题: 如果您的程序失败(例如OutOfMemoryError),您可能不想从头开始 您可能希望抛出>1台机器来解决这
子列表
进行拆分
并将其发送到不同的线程中进行处理。这是划分数据的标准方法吗?如果没有,你能为我推荐一些标准的方法吗 只要您不查看列表或这些子列表中的任何一个,这将起作用。只读处理很好 还有许多其他“大数据”方法可以处理上亿条记录,因为您可能会遇到其他问题:
- 如果您的程序失败(例如OutOfMemoryError),您可能不想从头开始
- 您可能希望抛出>1台机器来解决这个问题,此时您无法在单个JVM内存中共享数据
- 在你处理完每个句子后,你是否在构建一些中间结果,然后将其作为第二步处理?您可能需要建立一个步骤管道,在每个步骤之前对数据进行重新分区
- 你可能会发现你有太多的句子,无法一次将它们全部记在记忆中
句子id
列的不同范围分配给不同的线程,并在另一个表中构建输出