我需要hadoop中的AUTO_INCREMENT
id的SQL等效項。Hadoop:如何創建自動增量ID
當我的reduce任務識別一個新項目時,這些項目需要分配一個唯一的ID。
如何跨羣集共享原子計數器?記者 計數器似乎只是增量計數器,我沒有看到 getAndIncrement功能。
如何在作業 的地圖/縮小階段開始之前設置該計數器?
我需要hadoop中的AUTO_INCREMENT
id的SQL等效項。Hadoop:如何創建自動增量ID
當我的reduce任務識別一個新項目時,這些項目需要分配一個唯一的ID。
如何跨羣集共享原子計數器?記者 計數器似乎只是增量計數器,我沒有看到 getAndIncrement功能。
如何在作業 的地圖/縮小階段開始之前設置該計數器?
執行分佈式ID生成,你可以只生成UUID或使用Apache Zookeeper發現功能,它可以做分佈於Hadoop集羣的協調。免責聲明:我從來沒有使用動物園管理員,所以我不知道你是否真的(甚至理論上)得到一個全球連續的身份證,這就是問題似乎要問。
雖然生成UUID確實有成本;他們需要一些時間來產生。
有關分佈式ID生成的一般信息,請參閱this StackOverflow question。
葉,它們必須被遞增ID的在特定範圍內不僅獨特。 –
我以爲這就是你想要的。然後檢查動物園管理員。雖然我在hadoop上做了很多工作,但我總是生成UUID,因爲在全局原子整數中構建的想法看起來很奇怪。在1,000個節點羣集上,您希望999臺計算機等待?說真的,我期望Zookeeper的人全都認識到了這一點,儘管看起來很棘手。如果你不能得到你想要的,在映射階段生成uuids,然後在reduce階段創建一個連續的集合,或者在完成MR作業之後,在一個單獨的順序過程中創建一個連續的集合。 –
的可能重複的[分佈式序列數生成?](http://stackoverflow.com/questions/2671858/distributed-sequence-number-generation) –