2011-12-26 1 views
0

pigServer.registerFunction을 사용할 때, 명시 적으로 pigServer.registerJar를 호출하지 말고 돼지가 jarManager.findContainingJar를 사용하여 자동으로 jar를 감지하도록해야합니다.포함 된 hadoop-pig : UDF에 자동 addContainingJar을 사용하는 올바른 방법은 무엇입니까?

그러나 복잡한 UDF의 클래스는 여러 개의 병과 다른 클래스에 종속되어 있습니다. 그래서 우리는 메이븐 어셈블리와 jar-with-dependencies를 만들었습니다. 그러나 이로 인해 전체 병이 pigContext.skipJars (pig.jar 자체를 포함하고 있기 때문에)에 들어가서 hadoop 서버로 보내지 않습니다. (

올바른 접근 방법은 무엇입니까? ?

답변

0

에 따라 여기에 인증 방법,하지만 확실하지 않은 몇 가지 포인터입니다 :

  • 당신이 pigServer.registerFunction 돼지가 자동으로 UDF를 포함하고 또한 자동으로 JobTracker에
  • 돼지로 전송 항아리를 감지 사용할 때 PigMa가 들어있는 병을 탐지합니다. pReduce 클래스 (JarManager.createJar), 그리고 그것에서 추출 org/apache/pig, org/antlr/runtime로 시작하고 UDF가 PigMapReduce your'e 같은 항아리에 앉아있는 경우,
  • 그래서뿐만 아니라 JobTracker에로 전송 클래스 항아리-와 의존성

HTH

를 사용하지 마십시오 :이
  • 우리의 결론을 전송되지 않기 때문에, 나사