[HADOOP] 하둡 - 돼지를 사용하여 하이브 테이블을로드
HADOOP하둡 - 돼지를 사용하여 하이브 테이블을로드
나는 돼지를 사용하여 하이브 테이블을로드 할. 나는 우리가 HCatLoader을 통해이 작업을 수행 할 수 있다고 생각하지만 난 돼지를로드 할 XML 파일을 사용하고 있습니다. 이를 위해, 나는 XMLLoader을 사용해야합니다. 나는 돼지에서 XML 파일을로드하는 두 가지 옵션을 사용할 수 있습니다.
나는 내 자신의 UDF를 사용하여 XML 파일에서 데이터를 추출하고, 우리가 모든 데이터를 추출하면, 나는 하이브 테이블에 돼지 데이터를로드 할 수 있습니다.
내가받은 XML은 매우 복잡하고 내가 XML을 구문 분석하는 내 자신의 UDF를 쓴 필자는 XML 데이터를 추출하는 하이브를 사용할 수 없습니다. 어떤 제안이나 포인터 우리는 돼지의 데이터를 사용하여 하이브 테이블을로드 할 수있는 방법에 대해 설명합니다.
내가 AWS를 사용하고 있습니다.
해결법
-
==============================
1.당신은 구분 기호를 사용하여 텍스트 파일에로드 된 데이터를 저장할 수 있습니다 (쉼표 일 수 있음) 다음 파일 위치에 하이브 가리키는 외부 테이블을 만듭니다.
당신은 구분 기호를 사용하여 텍스트 파일에로드 된 데이터를 저장할 수 있습니다 (쉼표 일 수 있음) 다음 파일 위치에 하이브 가리키는 외부 테이블을 만듭니다.
Create external table YOURTABLE (schema) row format delimited fields terminated by ',' location '/your/file/directory';
-
==============================
2.당신은 HCatStorer를 사용하여 하이브 테이블에 돼지의 데이터를 저장할 수 있습니다. 예를 들면 :
당신은 HCatStorer를 사용하여 하이브 테이블에 돼지의 데이터를 저장할 수 있습니다. 예를 들면 :
register 's3n://bucket/path/xmlUDF.jar' xml = LOAD 's3n://bucket/pathtofiles' USING xmlUDF(); STORE xml INTO 'database.table' USING org.apache.hive.hcatalog.pig.HCatStorer();
귀하의 질문은 매우 명확하지 않다. 당신은 돼지 내에서 XML 및 하이브 데이터로 작업 뭔가를하고 하이브에 결과를 저장하기 위해 기대하고 있습니까? 그냥 하이브에서 XML 데이터를 저장하고 거기에 작업을하려고?
from https://stackoverflow.com/questions/32921201/hadoop-load-hive-tables-using-pig by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Nutch - 가져 오기 오류 : JAVA_HOME이 설정되어 있지 않습니다. 크롤링하려고 할 때 (0) | 2019.10.13 |
---|---|
[HADOOP] 피클과 sys.stdin를 사용하여 하둡에서 defaultdict로드 (0) | 2019.10.13 |
[HADOOP] 윈도우 8에 돼지 0.13.0 설치 (0) | 2019.10.13 |
[HADOOP] hadoop2에서 JobClient.java과 JobSubmitter.java의 차이점은 무엇입니까? (0) | 2019.10.13 |
[HADOOP] 다중 입력은 : 비교를 위해 여러 매퍼에 동일한 입력을 추가 (0) | 2019.10.13 |