2012-02-20 1 views

답변

0

대답은 '아니오'입니다. MR 작업이 데이터를 실행하기 전에 데이터 노드의 클러스터에서 데이터가 출력되어야합니다.

그러나 데이터의 작은 샘플을 사용하고 단순한 작업을 수행하려는 경우 로컬 모드에서 Pig를 사용할 수 있으며 로컬 파일에 stdin을 작성하고 스크립트를 통해 실행할 수 있습니다.

하지만 더 큰 질문은 왜 데이터 스트림에서 MR/Pig를 사용하고 싶습니까? 그것은 그러한 유형의 사용을위한 것이지 의도하지 않았습니다.

+0

그가 그렇게해야하는 이유에 대한 귀하의 질문에 대답하기 위해, 여기 anscenario이다 : 나는 돼지를 사용하여 분석 할 필요가 이러한 큰 로그 파일이; 로그 파일의 각 항목은 sed를 통과하여 한 줄로 만들 필요가있는 여러 줄 항목입니다. 이 줄 각각을 sed에서 돼지로 파이프하고 싶다. (sed가 읽은 로그 파일의 두 줄이 될 것이고 한 줄로 만들어서 돼지에게 전달할 것이다.) 왜 당신은 그것에 대해 갈 것인가? – Saichovsky

+0

왜 쓰지 않는가? 커스텀로드 UDF로, Hadoop 클러스터로 확장하는 것이 훨씬 더 나은 방법 일 것입니다. 아직 옵션이 아닌 경우 Storm (Twitter에서) 또는 Kafka (Linkedin에서)와 같은 다른 기술을 확인하십시오. 스케일링 할만한 작업처럼 Sed/Awk 스트리밍을하는 것이 더 좋은 선택 인 것 같습니다. – NerdyNick

2

기본적으로 Hadoop은 various ways에서 스트리밍을 지원하지만 돼지는 원래 스트리밍을 통한 데이터로드에 대한 지원이 부족했습니다. 그러나 몇 가지 해결책이 있습니다.

당신은 HStreaming을 확인할 수 있습니다 :

A = LOAD 'http://myurl.com:1234/index.html' USING HStream('\n') AS (f1, f2); 
+1

좋아, 나는 멋지다는 것을 인정할 것이다 .HStreaming에 대해서는 들어 본 적이 없다. 나는 항상 Kafka, Flume, 또는 다른 것을 보았다. 실시간 처리를 수행하십시오.이 부분을 더 읽어야합니다. – NerdyNick