/ / Mahout k-означава за Hadoop - хаоп, клъстерно-изчислителни, клъстер-анализ, mahout

Mahout k-означава за Hadoop - хаоп, клъстерно-изчислителни, клъстерно-анализ, mahout

Искам да тичам кмеяни, които се клъснеха на Хадоуппсевдоразпределен режим. Имам 5 милиона вектора в .mat файл, с 38 цифрови функции за всеки вектор, както следва: 0 0 0 0 0 0 0 0 0 0 0 0 ...

Направих примерите, които намерих, катоReuters (mhttps: //mahout.apache.org/users/clustering/k-means-clustering.html) или синтетични данни. Знам, че трябва да преобразувам векторите в SequenceFile, но не знам дали трябва да направя нещо повече преди това.

Използвам Mahout 0.7 и Hadoop 1.2.1.

Отговори:

0 за отговор № 1

Да, имате нужда от малка стъпка за предварителна обработка.

Тъй като генерираният файл MAT е бинарен файл, той се преобразува в a текстов файл (.txt) с всяка линия започва вектор с 38 характерни стойности ще бъде първата стъпка.

След това, използвайки SeqDirectory (или писането на вашия собствен SequenceFileWriter, за да го направите) ще бъде следващата стъпка и ще последват всички останали стъпки, както в примера на Ройтерс.

Пример за ваш собствен писател на последователни файлове ще бъде Как да конвертирате .txt файла във файловия формат на последователността на Hadoop

Опитах същото за Mahout LDA, където написах свой собствен сериен файл Writer и го дадох като вход за следващата стъпка в LDA процес а именно seq2sparse.


0 за отговор № 2

Махут се изплаща само ако разполагате с данни път твърде голям, за да бъде анализиран на един компютър, но откъде наистина се нуждаете най-малко десетина компютрите да съхраняват и обработват данните.

Причината е архитектурата. Mahout е построен на върха на картата - намалява и разчита писане на много iterim данни на диска, за да може да се възстанови от катастрофи.

В псевдо-разпределен режим, той не може да се възстанови от такива катастрофи, както и да е.

Псевдоразпределен режим е добре, ако искате да научите инсталирането и конфигурирането на Mahout, без да имате достъп до истински клъстер. то е не разумно да се използва за анализ на реални данни.

Вместо това използвайте вградената в Matlab функционалност или използвайте инструмента за клъстеризиране предназначени за единични възли като ELKI, Той обикновено надминава Mahout с порядък от мащаб не писане на всичко на диска няколко пъти. В моите експерименти тези инструменти успяха да надминат 10 ядрото Mahout клъстер с коефициент 10 на a единичен сърцевина. Тъй като разходите за I / O напълно доминират по време на изпълнение.

Сравнете себе си

Ако не ми вярвате на това, поставете рейтинг за себе си. Заредете данните на Ройтерс в Matlab и я съберете там, аз съм сигурен, че Matlab ще направи Махут да изглежда като стара мода.