[HADOOP] 당신은 하이브 2 복합 데이터 유형 "구조체"에 데이터를 삽입하려면 어떻게
HADOOP당신은 하이브 2 복합 데이터 유형 "구조체"에 데이터를 삽입하려면 어떻게
이 테이블의 구조
CREATE TABLE warehouse (
time timestamp,
person struct<id : int, name: string, organization : string>,
activity struct<id : int, name: string>,
case struct<id : int, name: string, organization : string>
);
테이블은 문제없이 생성, 문제는 테이블에 데이터를 삽입하는 방법입니다. 나는 이런 식으로 뭔가를 시도했지만 작동하지 않습니다
INSERT INTO TABLE warehouse VALUES('2018-05-31'),
SELECT NAMED_STRUCT('id', 1, 'name', 'Alex', 'organization', 'CITI') AS person,
SELECT NAMED_STRUCT('id', 1, 'name', 'Buy') AS activity,
SELECT NAMED_STRUCT('id', 1, 'name', 'Gold', 'organization', 'London') AS case
FROM case
케이스, 활동 및 개인 테이블이 이미 존재하고 선택에 도시 된 구조를 가지고있다.
해결법
-
==============================
1.당신은 (더, 당신은 값을 삽입하는 모든 UDF를 사용할 수 없습니다) 가치가있는 INSERT 문에서 NAMED_STRUCT을 사용할 수 없습니다. 이 문제를 해결하려면 작업 예이다.
당신은 (더, 당신은 값을 삽입하는 모든 UDF를 사용할 수 없습니다) 가치가있는 INSERT 문에서 NAMED_STRUCT을 사용할 수 없습니다. 이 문제를 해결하려면 작업 예이다.
CREATE TABLE warehouse ( time timestamp, person struct<id : int, name: string, organization : string>, activity struct<id : int, name: string>, `case` struct<id : int, name: string, organization : string> ); INSERT INTO TABLE warehouse select '2018-05-31', NAMED_STRUCT('id', 1, 'name', 'Alex', 'organization', 'CITI'), NAMED_STRUCT('id', 1, 'name', 'Buy'), NAMED_STRUCT('id', 1, 'name', 'Gold', 'organization', 'London') FROM ( select '1' ) t ;
from https://stackoverflow.com/questions/50631068/how-do-you-insert-data-into-complex-data-type-struct-in-hive-2 by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 뭐 이따위로 압축 폴더 권한을 tmp로 인해 작동하지 (0) | 2019.09.21 |
---|---|
[HADOOP] 자바 Sqoop을 구현하는 방법 (0) | 2019.09.21 |
[HADOOP] 메소를 사용하는 경우 HDFS 읽고 스파크가 실패 (0) | 2019.09.21 |
[HADOOP] 실행 하둡 내 자신의 빌드 스파크 제출 (0) | 2019.09.21 |
[HADOOP] hadoop2에 nutch2.3.1 실행 (0) | 2019.09.21 |