|
|
|
Реализация структуры параллельного алгоритма
|
|||
|---|---|---|---|
|
#18+
Всем привет, по правде говоря речь пойдет о шаблоне MapReduce. Вопрос задавал на другой ветке форума(NOSQL) и мне посоветовали спросить отсюда. вот ссылка на вопрос 14316129 . Вопрос заключается в правильности реализации параллелизма. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2013, 10:12:56 |
|
||
|
Реализация структуры параллельного алгоритма
|
|||
|---|---|---|---|
|
#18+
ZeD.ORA, Честно говоря времени не очень много, код посмотрел по диагонали, выглядит странно. В целом всё просто, для файла: 1) берём файл, режем его на куски по N байт. (если взять hdfs, то файл уже разделён на блоки по N байт, по умолчанию, 128 мб или 256 мб, не помню ) 2) каждую строку мы скармливаем методу Mapper.map(Key, Value), где что-то делаем c данными. 3) после работы map у нас накапливается список каких-то результирующих Key-Value строк. 3*) мы можем использовать Combiner, это маленький reducer, который может подготовить данные перед передачей на reduce. В целом предназначен для уменьшения сетевого трафика и ускорения. 4) мы их копируем на ноды, где будет происходить reduce, причём разделяем их по результату некой хеш-функции, которую мы можем переопределять 5) на каждой ноде происходит сортировка входных данных 6) собственно Reducer.reduce(Key, Value), где Key, Value - это результаты работы Mapper.map ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2013, 16:44:17 |
|
||
|
Реализация структуры параллельного алгоритма
|
|||
|---|---|---|---|
|
#18+
АлексейС, Спасибо за пошаговое разъяснение, в целом технологию понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2013, 17:46:51 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=59&tid=2129326]: |
0ms |
get settings: |
19ms |
get forum list: |
21ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
51ms |
get topic data: |
23ms |
get forum data: |
5ms |
get page messages: |
75ms |
get tp. blocked users: |
2ms |
| others: | 320ms |
| total: | 528ms |

| 0 / 0 |
