복붙노트

[HADOOP] 이 하이브의 컬럼에 대한 기본 키를 만들기 위해 어떻게 다른가요?

HADOOP

이 하이브의 컬럼에 대한 기본 키를 만들기 위해 어떻게 다른가요?

나는 우리가 하이브 테이블의 컬럼에 대한 기본 키를 만들 수 없습니다 읽어 보시기 바랍니다. 그러나 나는 다른 곳에서 아래 DDL을보고 그것을 실행. 그것은 아무 문제없이 일했다.

create table prim(id int, name char(30))
TBLPROPERTIES("PRIMARY KEY"="id");

이후 나는 "꼼꼼한 형식의 설명"을 실행하고 키가 열 ID에 생성되는 것을 볼 수 있어요

Table Parameters:        
PRIMARY KEY             id        

나는 테이블에 동일한 ID 번호를 가진 두 개의 레코드를 삽입했다.

insert into prim values(1,'ABCD');
insert into prim values(2,'EFGH');

두 기록은 테이블에 삽입되었다. 무엇 나를 당황하게하는 것은 우리가 이해 할 수있는 생성 문에서 PRIMARY KEY를 줄 수 없다는 것입니다,하지만 ( "PRIMARY KEY"= "ID") TBLPROPERTIES에 주어 졌을 때 RDBMS의 기본 키에 어떻게 다르다.

해결법

  1. ==============================

    1.TBLPROPERTIES에 PRIMARY KEY 컬럼 유의성을 유지하기 위해 메타 데이터를 참조한다. 그것은 그 열을 어떤 구속을 적용하지 않습니다. 이것은 디자인 관점에서 참고 자료로 사용할 수 있습니다.

    TBLPROPERTIES에 PRIMARY KEY 컬럼 유의성을 유지하기 위해 메타 데이터를 참조한다. 그것은 그 열을 어떤 구속을 적용하지 않습니다. 이것은 디자인 관점에서 참고 자료로 사용할 수 있습니다.

  2. from https://stackoverflow.com/questions/42801102/how-different-is-this-to-creating-a-primary-key-on-a-column-in-hive by cc-by-sa and MIT license