Hadoop:如何创建自动增量id

Hadoop:如何创建自动增量id,hadoop,mapreduce,auto-increment,Hadoop,Mapreduce,Auto Increment,在hadoop中,我需要一个相当于AUTO_INCREMENTid的SQL 当我的reduce任务标识一个新项目时,这些项目需要分配一个唯一的ID 如何在集群中共享原子计数器?记者 计数器似乎只是增量计数器,没有 我看到的getAndIncrement特性 如何在作业的映射/缩减阶段之前设置计数器 开始 要执行分布式id生成,您可以只生成UUID,也可以使用中的功能,这些功能可以在Hadoop集群上进行分布式协调。免责声明:我从未使用过Zookeeper,所以我不知道你是否真的能(甚至理论上)

在hadoop中,我需要一个相当于
AUTO_INCREMENT
id的SQL

当我的reduce任务标识一个新项目时,这些项目需要分配一个唯一的ID

  • 如何在集群中共享原子计数器?记者 计数器似乎只是增量计数器,没有 我看到的getAndIncrement特性

  • 如何在作业的映射/缩减阶段之前设置计数器 开始


要执行分布式id生成,您可以只生成UUID,也可以使用中的功能,这些功能可以在Hadoop集群上进行分布式协调。免责声明:我从未使用过Zookeeper,所以我不知道你是否真的能(甚至理论上)获得一组全局连续的ID,这似乎就是问题所在

不过,生成UUID确实有成本;它们需要一些时间来生成


有关分布式ID生成的一般信息,请参见。

Yeh,它们必须在特定范围内递增ID,而不仅仅是唯一的。我想这就是您想要的。那就去看看动物园管理员吧。虽然我对hadoop做了很多工作,但我总是生成UUID,因为构建全局原子整数的想法似乎很奇怪。在1000节点群集上,是否希望999台计算机等待?说真的,我希望动物园管理员能把这一切都弄明白,不管这看起来多么棘手。如果无法获得所需的,请在映射阶段生成UUID,然后在缩减阶段创建一个连续集,或者在MR作业完成后在单独的顺序过程中创建。可能的重复