복붙노트

[HADOOP] Hadoop Map / Reduce 프로그램에 사용할 언어는 무엇입니까? Java 또는 PHP?

HADOOP

Hadoop Map / Reduce 프로그램에 사용할 언어는 무엇입니까? Java 또는 PHP?

최근에 자바에서 map / reduce 프로그램을 작성했습니다. 그러나 나는 또한 PHP와 같은 스크립팅 언어도 사용할 수 있다는 것을 알고있다. 그러나 대부분의 사람들은 java 또는 python을 권장합니다. 나는 현재 PHP에서 일하고있다. 그래서 어떤 언어가 맵 / 프로그램 개발에 더 잘 맞는지 궁금합니다.

map / reduce 구현을위한 PHP의 주요 단점은 멀티 스레드가 아니라는 것입니다. 또한, hadoop은 PHP 프로그램이 쓸모없는 java에서 특별히 만들어진 클래스, 인터페이스 및 메소드의 광범위한 프레임 워크를 가지고 있습니다. 그리고 또한, PHP는 무거운 데이터 처리 작업을 처리하도록 설계되지 않았습니다.

그렇다면 누구나 맵 / 리덕션 구현을위한 선택의 무기로 선택할 수있는 광범위한 지점을 말해 줄 수 있습니까?

해결법

  1. ==============================

    1.shanthanu, 첫 번째 질문은

    shanthanu, 첫 번째 질문은

    Q) 어떤 스크립팅 언어가 hadoop에 좋은가요?

    A) php, python, perl, ruby ​​bash와 같은 대부분의 스크립팅 언어가 좋습니다. stdin에서 읽을 수 있고 sdtout에 쓰고 구문 분석 탭과 줄 바꿈 문자를 쓸 수있는 모든 언어가 작동합니다. Hadoop Streaming은 탭과 연결된 키 값 쌍의 문자열 표현을 각 작업 추적기 노드에서 실행 가능한 임의의 프로그램으로 파이프합니다 .

    hadoop 클러스터를 설정하는 데 사용되는 대부분의 리눅스 배포판에서 Python, bash, Ruby, Perl ...이 이미 설치되어 있지만 사용자가 선호하는 스크립팅 또는 컴파일 된 프로그래밍 언어를 위해 자신의 실행 환경을 롤업하는 것을 막을 수있는 방법은 없습니다.

    Q) PHP는 멀티 스레드가 아닙니까?

    A) 예, 그렇지만 PHP를 멀티 스레드로 만들 수있는 방법이 있습니다. 예를 들면 다음과 같습니다 : pnctl_fork () (그러나 이것은 창에서 작동하지 않습니다)

    hadoop으로 스크립팅 언어를 사용하기 전에 항상 염두에 두어야 할 질문은 "어떤 스크립팅 언어"가 아닌가? 아무 것도 괜찮니까.

    그러나 자바와 스크립팅 언어의 차이점은 "스크립팅 언어를 사용하는 경우 자식 노드의 하트 비트가 부모 노드로 전송되지 않습니다"입니다.

  2. from https://stackoverflow.com/questions/8572339/which-language-to-use-for-hadoop-map-reduce-programs-java-or-php by cc-by-sa and MIT license