2017-05-03 12 views
0

".spc"패턴을 가진 바이너리 파일이 있습니다.이 파일을 돼지 매퍼 작업과 함께 HBase에 저장하고 싶습니다. 행키는 파일 이름입니다. 여기 돼지와 함께 hbase에 바이너리 파일을 저장하십시오.

내가 사용하는 명령은 다음과 같습니다

A = LOAD 'hdfs-directory/sampleID-uvvis.spc' USING BinStorage(); 

B = FOREACH A GENERATE $0 AS rowkey; 

C = GROUP B BY rowkey; 

STORE C INTO 'hbase://test3' USING BinStorage('colfamily:uvis'); 

그리고 오류 아래와 같이 가지고 :

Dump A 
Input(s): 
Successfully read 0 records (3353 bytes) from: "hdfs-directory-uvvis.spc" 

Output(s): 
Successfully stored 0 records in: "hdfs-directory/tmp/temp- 
707332811/tmp1004712115" 

수있는 사람의 도움 :

[main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 2116: 
<line 12, column 0> Output Location Validation Failed for: 'hbase://test3 
More info to follow: 
java.io.IOException: No FileSystem for scheme: hbase 

가 나는 또한 부하 후 파일을 검사 이 문제가있어? HBase에 바이너리 파일을로드하고 저장하는 방법은 무엇입니까?

저는 HBase와 돼지 직업에 새로운 사람입니다. 어떤 아이디어라도 감사 할 것입니다.

답변

0

org.apache.pig.backend.hadoop.hbase.HBaseStorage 클래스를 사용해야합니다. 이 예

https://pig.apache.org/docs/r0.14.0/api/org/apache/pig/backend/hadoop/hbase/HBaseStorage.html

+0

에서 봐 내가 저장을 위해 새로운 클래스를 사용하려고 회신 주셔서 감사합니다. 저장 프로세스가 작동합니다! 그러나, 나는 여전히 데이터로드 오류가 있다고 생각하는데, 여기에 내가 무엇을 가지고 : "입력 (들) : "hdfs 디렉토리/sampleID - uvvis.spc에서 0 레코드 (3353 바이트)를 성공적으로 읽었습니다 출력 s) : 성공적으로 "hbase : // test3"에 0 개의 레코드를 저장했습니다. –