gpt4 book ai didi

java - 如何为每个记录 Spark 生成唯一ID

转载 作者:行者123 更新时间:2023-11-30 10:25:28 25 4
gpt4 key购买 nike

我有一个包含 MM+ 记录的庞大数据集,我正在尝试为每条记录分配唯一 ID。我尝试了下面的代码,但由于行 ID 是连续的,因此需要花费很多时间。我曾尝试调整内存参数来优化作业,但无法获得太多性能。

示例片段:

JavaRDD<String> rawRdd=......
rawRdd.zipWithIndex()
.mapToPair(t->new Tuple2<Long,String>(t._2,t._1))

有没有更好的方法来分配唯一 ID?谢谢

最佳答案

方法 1:如果您的需求只是分配唯一 ID,您可以使用 UUID 作为唯一行 ID:

rawRdd.mapToPair(t->new Tuple2<String,String>(t,UUID.randomUUID().toString()));

唯一的缺点是id长度是36字节。

方法 2: 创建一个集中式系统来分配唯一 ID。我使用基于 REST 的 API,它遵循一种模式来生成 ID,并且每个 map 操作都调用 REST 服务来获取唯一的 ID。

第二种方法让您可以完全控制设计 id 的模式。

关于java - 如何为每个记录 Spark 生成唯一ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46189266/

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