복붙노트

[HADOOP] 하이브가 CTAS로 외부 테이블을 만들 수없는 이유는 무엇입니까?

HADOOP

하이브가 CTAS로 외부 테이블을 만들 수없는 이유는 무엇입니까?

하이브에서 CTAS에 의한 외부 테이블을 생성하는 것이 의미 론적 오류입니까? CTAS에 의해 생성 된 테이블은 원자 적이며 외부 테이블은 테이블을 삭제할 때 데이터가 삭제되지 않는다는 것을 의미하지만 충돌하지는 않습니다.

해결법

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

    1.내가 여기서 뭔가를 놓치고 있니?

    내가 여기서 뭔가를 놓치고 있니?

    이것을 시도하십시오 ... CTAS로 외부 테이블을 생성 할 수 있어야합니다.

    CREATE TABLE ext_table LOCATION '/user/XXXXX/XXXXXX' 
    AS SELECT * from managed_table;
    

    나는 하나를 만들 수 있었다. 나는 0.12를 사용하고있다.

  2. ==============================

    2.Hive에서 테이블을 만들 때 (외부가 아닌) 데이터는 / user / hive / warehouse에 저장됩니다. 그러나 외부 하이브 테이블을 생성하는 동안 파일은 다른 곳에있을 것입니다. 우리는 단지 hdfs 디렉토리를 가리키고 데이터를 하이브 테이블로 노출하여 하이브 쿼리 등을 실행합니다. 이렇게하면 더 정확하게 대답합니다. "as select"또는 "like"를 사용하여 하이브 테이블을 만들고 구분 기호를 지정하십시오.

    Hive에서 테이블을 만들 때 (외부가 아닌) 데이터는 / user / hive / warehouse에 저장됩니다. 그러나 외부 하이브 테이블을 생성하는 동안 파일은 다른 곳에있을 것입니다. 우리는 단지 hdfs 디렉토리를 가리키고 데이터를 하이브 테이블로 노출하여 하이브 쿼리 등을 실행합니다. 이렇게하면 더 정확하게 대답합니다. "as select"또는 "like"를 사용하여 하이브 테이블을 만들고 구분 기호를 지정하십시오.

  3. ==============================

    3.나는 그것을 의미 론적 오류라고 생각하기 때문에 그것은 외부 테이블 정의 즉 가장 imp 파라미터를 놓친다. 데이터 파일의 외부 위치! 정의에 따르면, 1. External은 데이터가 하이브 데이터웨어 하우스 디렉터리 외부에있는 하이브 컨트롤 외부에 있음을 의미합니다. 2. 테이블이 삭제 된 경우 데이터는 그대로 남아 있으며 테이블 정의 만 하이브 메타 스토어에서 제거됩니다. 그래서, 나는. CTAS가 관리되는 테이블과 함께있는 경우 새로운 ext 테이블은 drop table이 # 2로 잘못 작성되어 삭제 될웨어 하우스에 파일을 갖게됩니다 ii. CTAS가 다른 외부 테이블과 함께 있으면 2 개의 테이블이 동일한 파일 위치를 가리 킵니다.

    나는 그것을 의미 론적 오류라고 생각하기 때문에 그것은 외부 테이블 정의 즉 가장 imp 파라미터를 놓친다. 데이터 파일의 외부 위치! 정의에 따르면, 1. External은 데이터가 하이브 데이터웨어 하우스 디렉터리 외부에있는 하이브 컨트롤 외부에 있음을 의미합니다. 2. 테이블이 삭제 된 경우 데이터는 그대로 남아 있으며 테이블 정의 만 하이브 메타 스토어에서 제거됩니다. 그래서, 나는. CTAS가 관리되는 테이블과 함께있는 경우 새로운 ext 테이블은 drop table이 # 2로 잘못 작성되어 삭제 될웨어 하우스에 파일을 갖게됩니다 ii. CTAS가 다른 외부 테이블과 함께 있으면 2 개의 테이블이 동일한 파일 위치를 가리 킵니다.

  4. ==============================

    4.때때로 그것은 적절한 권한을 가진 적절한 사용자로 로그인하지 않았기 때문에 나에게 일어난다.

    때때로 그것은 적절한 권한을 가진 적절한 사용자로 로그인하지 않았기 때문에 나에게 일어난다.

  5. from https://stackoverflow.com/questions/26711540/why-hive-doesnt-allow-create-external-table-with-ctas by cc-by-sa and MIT license