2014-06-25 4 views
0

나는 하이브 테이블에 몇 가지 초기 데이터를 삽입하고 싶었다, 그래서 나는, HQL 아래 하이브에있는 테이블에 init-data를 삽입하는 방법은 무엇입니까?

INSERT OVERWRITE TABLE table PARTITION(dt='2014-06-26') SELECT 'key_sum' as key, '0' as value; 

을 만들었지 만 그것은 작동하지 않습니다. 위의 같은 다른 쿼리가 있습니다

,

INSERT OVERWRITE TABLE table PARTITION(dt='2014-06-26') SELECT 'key_sum' as key, '0' as value FROM table limit 1; 

하지만 테이블이 비어있는 것을 볼로도 작동하지 않았다.

어떻게 테이블에 초기 데이터를 설정할 수 있습니까? (자기 조인을해야하는 이유가 있습니다.)

답변

0

하이브에서 생성 된 테스트 테이블이 이미있는 경우 다음 쿼리가 제대로 작동합니다.

INSERT OVERWRITE TABLE 테스트 분할 영역 (dt = '2014-06-26') SELECT 'key_sum'을 키로, '0'을 FROM 값으로 선택;

삽입을 수행하는 테이블을 먼저 만들어야한다고 생각합니다. 이 절 그 때문에 누락 HQL 장애로부터 있어야 제 HQL 정보

1

, 제 HQL 대하여

INSERT OVERWRITE TABLE table PARTITION(dt='2014-06-26') SELECT 'key_sum' as key, '0' as value; 

이 테이블이어야 하나 개의 행을 가져야 그래서 새로 생성에 일정한 초기화 값을 설정 표.

INSERT OVERWRITE TABLE table PARTITION(dt='2014-06-26') SELECT 'key_sum', '0' FROM table limit 1; 

데이터가있는 오래된 하이브 테이블을 사용할 수 있습니다.

관련 문제