2013-10-27 2 views
0

의 Hdinsight pig 기본 폴더.HDInsight를 방금 시작한 UDF

돼지 무릎 모드로 UDF를 등록하려고하지만 작동하지 않거나 돼지가로드 할 위치에 jar 파일을 넣을 위치를 모른다.

지금 내가 한 것은 jar 파일을 lib 폴더 (C : \ apps \ dist \ pig-0.9.3-SNAPSHOT \ lib)와 돼지 루트 폴더 (C : \ apps \ dist)에 넣는 것입니다.

REGISTER elephant-bird-pig-3.0.0.jar; 

및 응답은 다음과 같습니다 : \ 돼지-0.9.3-SNAPSHOT)과 아무것도 나를 위해 작동, 그냥이 점점 계속

2013년 10월 27일 09 : 28 : 53,466 [주] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 101 : 로컬 파일 'elephant-bird-pig-3.0.0.jar'이 존재하지 않습니다. 로그 파일에서 세부 사항 : C : \ APPS \ DIST의 \ 하둡-1.1.0-SNAPSHOT의 \ 로그 \ pig_1382864851131.log

내가 어디 있는지 그리고 어떻게이 UDF를 등록해야 주시기 바랍니다.

노드가 이미지를 다시 얻는 경우에 당신이 파일을 잃을 수 있기 때문에 당신이

+0

REGISTER wasb:///PigExtras/*.jar; myset = load 'wasb://[email protected]/data/file.txt' using MyUDF(); dump myset

나는 빈 폴더에 넣어 UDF를로드에 성공했다. –

답변

1

당신은 오랫동안 BIN 폴더에 넣으면 안됩니다 감사드립니다. Windows Azure 저장소에 저장하는 것이 좋습니다.

  1. UDF 용 추가 .jar를 Windows Azure 저장 영역 ... WASB로 복사하십시오.

    • 예를 들어 "PigExtras"폴더를 만들 수 있습니다. 출처가 달라지며 목적지 위치가 컨테이너와 계정이됩니다. 하둡 명령 줄을 통해

    • 업로드 :

    hadoop fs -copyFromLocal C:\files\MyUDF.jar wasb://[email protected]/PigExtras/MyUDF.jar

    hadoop fs -copyFromLocal c:\apps\dist\pig-0.11.0.1.3.1.0-06\piggybank.jar wasb://[email protected]/PigExtras/piggybank.jar

  2. 참조하여 돼지 라틴어 스크립트에서의 .jar 위치 https://github.com/downloads/WindowsAzure/azure-sdk-downloads/AzCopy.zip AzCopy에서 그것을 얻을. 와일드 카드는 특정 폴더의 모든 항아리를로드하는 데 사용할 수 있지만 거기에 많은 것이 있으면 비효율적 일 수 있습니다.

+0

[게시물에 서명 또는 태그 라인을 사용하지 마십시오.] (http://stackoverflow.com/help/behavior). – meagar

+0

우리는 마침내 마지막 옵션을 사용하여 HDInsight 서버를 제거 할 때에도 항상 유지 될 모든 UDF가있는 컨테이너를 사용했습니다. 하지만이 질문에 대해 잊어 버렸으므로 자세한 답변을 부탁드립니다. –