我是新來的MapReduce,我有處理大量數據(記錄行)的任務。有一件事我應該用在我的映射器特定記錄的行號,然後減速機處理基於映射行號信息。數據如何在MapReduce的datanodes中分佈?
舉例來說,現在假設我有一個input.txt中,這是非常大的,每一行看起來是這樣的:
1. Melo, apple, orange
2. orange, perl
3. apple, banana, car
...
10000. Apple
...
如果我想cacluate蘋果occurency在其occurency線數量方面有什麼,然後cacluate這些不同的水果之間的關係,如:
Apple => orange
我可以在鍵/值對像行號的列表中選擇值。但是由於我不知道數據是如何分配給不同的數據節點的,因此原始輸入文件的行號信息將會丟失。我不知道數據如何在數據節點之間分配,它是基於第一個記錄的偏移量嗎?或分區數據的大小?
我已經看過了幾個教程,我仍然感到困惑的MapReduce的確切工作流。另外,我打算使用亞馬遜彈性mapreduce並使用Python。
也許我在此討論談論同樣的事情,但據我所知,有當時或討論中沒有解決方案。這樣對嗎?
http://lucene.472066.n3.nabble.com/current-line-number-as-key-td2958080.html
謝謝!