2010-07-30 2 views
0

맵 축소 작업에서 신속하고 더러운 맵핑을 신속하게 수행 할 수있는 기능으로 하둡 스트리밍을 좋아합니다. 또한 신중하게 코딩 된 모든 자바를 스크립팅 언어에 액세스 할 수있게 해주는 Hroovy를 좋아합니다. 이제는 2를 함께 넣고 싶습니다. 내 Java 클래스 중 일부와 함께 항아리를 가져다가 groovy 기반 매퍼와 축소기에 활용하고 싶습니다.Groovy를 사용하여 Hadoop 스트리밍에 jar 파일 포함

쉬운 방법이 있나요? 지도 축소 작업, 특히 몇 번 실행해야하는 작업에 대한 개발 시간이 크게 단축 될 수 있습니다. 어떻게이 일을

hadoop jar streaming.jar -mapper "groovy -ne 'import a.b.c.Foo; println Foo.doSomething(line)' -reducer "wc -l" -input input -output output -jarstoinclude ~/jarWithJava.jar 

어떤 포인터 : 내가 원하는 것을

는 그런 짓을하는 것입니다?

+0

명령 줄이 잘 보이지 않습니다. 특히 따옴표 쌍을 정확하게 일치시키지 않습니다. –

+0

예, 분명히 이것은 단지 예일뿐입니다. – downer

답변

1

groovy 클래스 패스에 항아리를 추가해야하는 경우 각 Hadoop 노드의 ~/.groovy/lib에 배치 할 수 있습니다.

또는 각 노드의 일부 디렉토리로 항아리를 복사하고 groovy 명령에 -cp 플래그를 사용하여 항아리를 명시 적으로 지정할 수 있습니다.

0

-libjar 특성을 사용하여 jar를 클래스 경로에 추가 할 수 있습니다. 그루비가 과부하 작업에서 움직이기 때문에 클래스를 찾을 수 있어야합니다.