[HADOOP] Apache PIG를 사용하여 여러 줄 JSON 읽기
HADOOPApache PIG를 사용하여 여러 줄 JSON 읽기
JSON 파일이 있고 Apache Pig를 사용하여 읽고 싶습니다.
일반 JSONLOADER를 사용해 보았지만 JSONLOADER가 한 줄 JSON에서만 작동하는 것처럼 보입니다. 그런 다음 Elephant-Bird와 함께 시도했습니다. 그러나 여전히 결과를 올바르게 볼 수 없습니다. 누구든지 해결책을 제안 할 수 있습니까?
입력 :
{"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]}
참고 : 입력을 한 줄로 변환하고 싶지 않습니다.
스크립트:
A = LOAD 'input' USING com.twitter.elephantbird.pig.load.JsonLoader('-nestedLoad');
B = FOREACH A GENERATE FLATTEN($0#'employees');
Dump B;
예상 결과는 다음과 같아야합니다.
([firstName#John,lastName#Doe])
([firstName#Anna,lastName#Smith])
([firstName#Peter,lastName#Jones])
해결법
-
==============================
1.siva의 의견에서 언급했듯이 대답은 기본적으로 입력을 한 줄로 변경해야한다는 것입니다.
siva의 의견에서 언급했듯이 대답은 기본적으로 입력을 한 줄로 변경해야한다는 것입니다.
from https://stackoverflow.com/questions/28653431/multi-line-json-read-using-apache-pig by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] hadoop_home이 올바르게 설정되지 않은 이유 (0) | 2019.09.12 |
---|---|
[HADOOP] Hive가 실패하면 Bash 스크립트 중지 (0) | 2019.09.12 |
[HADOOP] Hive에서 현재 unix_timestamp 가져 오기 (0) | 2019.09.12 |
[HADOOP] hadoop / name이 일치하지 않는 상태입니다. 스토리지 디렉토리가 없거나 액세스 할 수 없습니다 (0) | 2019.09.11 |
[HADOOP] Oozie HDP 2.1을 통한 작업은 job.splitmetainfo를 만들지 않습니다. (0) | 2019.09.11 |