Как обработать большой файл в Hadoophadoop

Это вопрос нуби

У меня есть настройка hadoop и я думаю об использовании Giraph или Hama для вычислений на основе графа. У меня большой файл в форме

3 4 3 7 3 8 5 6

где каждый столбец обозначает вершины, а каждая строка обозначает ребра. Для обычных программ я читаю весь файл в виде

3: [4,7,8] 5: [6]

это означает, что вершина 3 имеет ребра до 4,7,8, а 5 имеет ребра до 6.

Как справиться с этим условием для большого файла в Hadoop? Повторить, как это означает загрузку всего содержимого в ОЗУ? Каков наилучший способ сделать это в Hadoop?

1 ответ

Hadoop делает горизонтальный параллелизм. Для большого входного файла он разделит входные данные на некоторый файл меньшего размера (очевидно, определенный пользователем). А затем отправьте меньшие наборы в разные узлы. Так что вам не нужно загружать большой входной файл на вашем компьютере с ограниченной памятью. До сих пор рамки hadoop делают работу.

После этого вам необходимо реализовать логику вашего бизнеса / домена. Вы должны сгенерировать некоторую пару ключ-значение из вашего входного набора. После этого Hadoop отправит все пары ключ-значение на следующий этап. Это даст вам все уникальные пары ключ-значение, и вам нужно объединить их, чтобы получить окончательный результат.

моменты, которые следует отметить. 1) Hadoop - это структура для парадигмы MAP-REDUCE. 2) большой исходный файл не всегда означает, что использование хадопа целесообразно для вашей проблемы. Если у вас нет параллелизма в вашей проблеме, Hadoop, вероятно, не поможет вам.

Другие вопросы по тегам