복붙노트

[HADOOP] 그것은 HIVE에서 파티션 메타 데이터를 변경할 수 있습니까?

HADOOP

그것은 HIVE에서 파티션 메타 데이터를 변경할 수 있습니까?

이것은 내가 물었다 이전 질문의 확장 : 다른 데이터 유형 그룹과 두 개의 열을 비교하는 방법

우리는 SELECT 문에서 데이터에 CAST 작업을 수행 반대로 테이블에 메타 데이터를 변경하는 아이디어를 모색하고 있습니다. MySQL의 메타 스토어에서 메타 데이터를 변경하는 것은 쉬운 충분하다. 그러나, 그것은 파티션에 적용된 메타 데이터 변경 (그들은 매일) 이상 준비 할 수 있습니까? 그렇지 않으면, 우리는 역사는 STRING 동안 현재와 미래의 데이터 유형 BIGINT의 복지와 함께 붙어있을 수 있습니다.

질문 : 가능이 HIVE에서 파티션 메타 데이터를 변경하려면? 그렇다면, 어떻게?

해결법

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

    1.이 문을 사용하여 파티션 컬럼 유형을 변경할 수 있습니다 :

    이 문을 사용하여 파티션 컬럼 유형을 변경할 수 있습니다 :

    alter table {table_name} partition column ({column_name} {column_type});
    

    또한 다음 단계를 사용하여 모든 열 유형을 테이블 정의를 다시 만들고 변경할 수 있습니다 :

    하이브 아마존 탄성 MapReduce에서의 동일한 명령 (EMR)의 버전이다 :

    ALTER TABLE tablename RECOVER PARTITIONS;
    

    이 하이브 파티션 메타 데이터를 추가합니다. 수동 여기를 참조하십시오 : 파티션을 복구

    ALTER TABLE tablename에 SET의 TBLPROPERTIES ( '외부'= 'FALSE');

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

    2.당신은 하이브가 분할 열의 경고 지원하지 않는 사실 하이브에서 파티션 열을 변경할 수 없습니다

    당신은 하이브가 분할 열의 경고 지원하지 않는 사실 하이브에서 파티션 열을 변경할 수 없습니다

    참조 : 하이브에서 파티션 열 유형을 변경

    당신은 이런 식으로 생각할 수 있습니다 - 하이브 파티션 컬럼 값 HDFS에 폴더를 작성하여 데이터를 저장 - 당신은 당신이 할 수 없습니다 전체 디렉토리 구조와 하이브 테이블의 데이터를 변경하려는 의미 하이브 파티션을 변경하려고하는 경우 때문에 당신이 해에 분할 한 경우 특급이 디렉토리 구조가 같은 모습입니다

    tab1/clientdata/2009/file2
    tab1/clientdata/2010/file3
    

    당신은 파티션 열을 변경하려는 경우에는 아래 단계 수행 할 수 있습니다

  3. from https://stackoverflow.com/questions/58294633/is-it-possible-to-change-partition-metadata-in-hive by cc-by-sa and MIT license