복붙노트

[HADOOP] 하이브에서 데이터 세트를 가져 오기 오류

HADOOP

하이브에서 데이터 세트를 가져 오기 오류

다음과 같이 나는 데이터 집합을

John  Doe^A100000.0^AMary  Smith^BTodd  Jones^AFederal Taxes^C.2^BState Taxes^C.05^BInsurance^C.1^A1 Michigan Ave.^BChicago^BIL^B60600
Mary  Smith^A80000.0^ABill  King^AFederal  Taxes^C.2^BState Taxes^C.05^BInsurance^C.1^A100 Ontario St.^BChicago^BIL^B60601 Todd Jones^A70000.0^AFederal Taxes^C.15^BState Taxes^C.03^BInsurance^C.1^A200 Chicago Ave.^BOak Park^BIL^B60700
Bill  King^A60000.0^AFederal  Taxes^C.15^BState  Taxes^C.03^BInsurance^C.1^A300 Obscure Dr.^BObscuria^BIL^B60100

나는 다른 "구분 기호를"가진 데이터 세트를 디코딩하는 방법 하이브의 "데이터 값의 텍스트 인코딩"에 하이브 설명서를 읽었습니다. 위의 데이터 세트를 위해, 나는이 스키마를 다음과 같이 테이블을 만들었습니다,

CREATE TABLE employees
(
name STRING,
salary FLOAT,
subordinates ARRAY<STRING>,
deductions MAP<STRING, FLOAT>,
address STRUCT<street:STRING, city:STRING, state:STRING, zip:INT>
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\001'
COLLECTION ITEMS TERMINATED BY '\002'
MAP KEYS TERMINATED BY '\003'
LINES TERMINATED BY '\n'
STORED AS TEXTFILE;

그러나 데이터 집합 테이블에 제대로 가져올 수 없습니다.

|employees.name|employees.salary|employees.subordinates|employees.deductions|employees.address|
|--------------|----------------|----------------------|--------------------|-----------------|
|John  Doe|NULL|["AMary  Smith"]|{"BTodd  Jones":null}|("street":"AFederal Taxes","city":null,"state":null,"zip":null}|
|Mary  Smith|NULL|["ABill  King"]|{"AFederal  Taxes":null}|{"street":"C.2","city":null,"state":null,"zip":null}|
|Bill  King|NULL|["AFederal  Taxes"]|{"C.15":null}|{"street":"BState  Taxes","city":null,"state":null,"zip":null} |

이것이 내가 45 페이지에서 문서의 예에 따라 다음하고 있지만 잘못된 점점 왜 아무도 설명해 주시겠습니까? 미리 감사드립니다.

해결법

    from https://stackoverflow.com/questions/47322547/error-importing-dataset-in-hive by cc-by-sa and MIT license