반응형
HiveCLI에서 CREATE AS
및 동적 파티셔닝을 사용하여 다른 테이블에서 새 테이블을 만들려고합니다. 이 예제가있는 Hive 공식 위키에서 배우고 있습니다.
CREATE TABLE T (key int, value string)
PARTITIONED BY (ds string, hr int) AS
SELECT key, value, ds, hr+1 hr1
FROM srcpart
WHERE ds is not null
And hr>10;
하지만이 오류가 발생했습니다.
실패 : SemanticException [오류 10065] :
CREATE TABLE AS SELECT 명령은 대상 테이블의 열 목록을 지정할 수 없습니다.
해결 방법
이미 대상 테이블의 전체 스키마를 알고 있으므로 먼저 작성하고 LOAD DATA 명령으로 채우십시오.
SET hive.exec.dynamic.partition.mode=nonstrict;
CREATE TABLE T (key int, value string)
PARTITIONED BY (ds string, hr int);
INSERT OVERWRITE TABLE T PARTITION(ds, hr)
SELECT key, value, ds, hr+1 AS hr
FROM srcpart
WHERE ds is not null
And hr>10;
참고 : 전체 동적 파티션 삽입을 수행하고 있으므로 set 명령이 필요합니다.
참조 페이지 https://stackoverflow.com/questions/21477855
반응형
'MySql' 카테고리의 다른 글
MySQL vb.net에서 mysql 데이터베이스를 업데이트하는 방법 (0) | 2020.12.11 |
---|---|
MySQL MySql 구문 오류 : 1 행의 ''근처에 SQL 구문에 오류가 있습니다. (0) | 2020.12.11 |
MySQL Tomcat에 Pentaho BI 5.0.1을 설치하는 방법 (0) | 2020.12.11 |
MySQL 교리 2에서 단일 개체와의 부모 자녀 관계 (0) | 2020.12.11 |
MySQL Phpstorm. SSH 터널을 통해 mysql 서버에 액세스 할 수 없음 (외부 호스트에 의해 연결이 닫힘) (0) | 2020.12.11 |
댓글