我有一个包含数百万行记录的庞大数据集,现在我想为每个记录分配一个唯一的ID。我尝试了下面的代码,但由于行ID是顺序的,所以它需要很长时间。我尝试调整内存参数来优化任务,但成效不大。
示例代码:
JavaRDD<String> rawRdd=......
rawRdd.zipWithIndex()
.mapToPair(t->new Tuple2<Long,String>(t._2,t._1))
有没有更好的方式来分配唯一的ID?谢谢
我有一个包含数百万行记录的庞大数据集,现在我想为每个记录分配一个唯一的ID。我尝试了下面的代码,但由于行ID是顺序的,所以它需要很长时间。我尝试调整内存参数来优化任务,但成效不大。
示例代码:
JavaRDD<String> rawRdd=......
rawRdd.zipWithIndex()
.mapToPair(t->new Tuple2<Long,String>(t._2,t._1))
有没有更好的方式来分配唯一的ID?谢谢
方法一:如果您的要求仅是分配唯一的ID,您可以使用UUID作为唯一行ID:
rawRdd.mapToPair(t->new Tuple2<String,String>(t,UUID.randomUUID().toString()));