Mam kod Matlab, który przetwarza obrazy. Chcę utworzyć program odwzorowujący Hadoop, który używa tego kodu. Natknąłem się na następujących rozwiązań, ale nie jestem pewien, który z nich jest najlepszy (jak to jest bardzo trudne do zainstalowania MATLAB kompilatora wykonawczego na każdym węźle podrzędnym w Hadoop dla mnie):Jak korzystać z kodu MATLAB w programie odwzorowującym (Hadoop)?
ręcznie przekonwertować kod MATLAB do OpenCV w C++ i wywołaj jego exe/dll (i podaj odpowiednie parametry) z programu odwzorowującego. Nie jestem pewien, ponieważ klaster ma zainstalowany system Linux na każdym węźle zamiast systemu Windows.
Użyj Hadoop Streaming. Jednak streaming Hadoop wymaga pliku wykonywalnego, ponieważ program odwzorowujący i plik wykonywalny programu Matlab wymaga również środowiska wykonawczego Matlab Compiler, które jest bardzo trudne do zainstalowania w każdym węźle slave.
Konwersja go automatycznie do kodu C/C++ i stworzyć swój exe automatycznie (nie wiem, czy jest to prawda, ponieważ albo exe będzie wymagać runtime MATLAB uruchomić lub mogą wystąpić problemy kompilatora w konwersji, które są bardzo trudne do fix)
Użyj programu Matlab Java Builder. Ale utworzony w ten sposób plik jar będzie również wymagał środowiska wykonawczego.
Wszelkie sugestie?
Z góry dziękuję.
Świetna propozycja! Spróbuję tego .. – Harsh
Ale myślę, że muszę zainstalować oktawę w każdym węźle roboczym klastra hadoop, aby to zrobić, czy mam rację? Czy nie istnieje sposób na utworzenie pliku .out z kodu oktawowego? Byłoby to bardzo pomocne .. – Harsh
Tak, to by było w tym przypadku: -/W tej chwili niemożliwe jest skompilowanie Oktawy, a nawet transliterowanie kodu oktawowego do czegoś wykonywalnego. Zobacz [this] (http://stackoverflow.com/questions/5101219/how-do-i-concon-octave-code-to-c-or-c) i [this] (http: //octave.1599824 .n4.nabble.com/oktawa-niezależna-C-code-td1630298.html) (od dłuższego czasu nie śledziłem tego drugiego). Potrzebujesz jakiejś kontroli nad swoimi pracownikami ... Może administratorzy Twojej usługi mogą pomóc w uzyskaniu jak najlepszego z powyższych opcji do pracy (?). –