복붙노트

[HADOOP] 하이브 하중 특정 열

HADOOP

하이브 하중 특정 열

Hive에서 만든 테이블에 특정 열을로드하는 데 관심이 있습니다.

특정 열을 직접로드 할 수 있습니까? 아니면 모든 데이터를로드하고 두 번째 테이블을 작성하여 특정 열을 선택해야합니까?

감사

해결법

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

    1.예, 다음과 같이 모든 데이터를로드해야합니다.

    예, 다음과 같이 모든 데이터를로드해야합니다.

    LOAD DATA [LOCAL] INPATH /Your/Path [OVERWRITE] INTO TABLE yourTable;
    

    LOCAL은 파일이 HDFS가 아닌 로컬 시스템에 있음을 의미하며, OVERWRITE는 테이블의 현재 데이터가 삭제됨을 의미합니다.

    따라서 필요한 필드만으로 두 번째 테이블을 만들고이 쿼리를 실행합니다.

    INSERT OVERWRITE TABLE yourNewTable 
    yourSelectStatement 
    FROM yourOldTable;
    
  2. ==============================

    2.Hive에서 외부 테이블을 만들고 보유한 데이터를 매핑 한 다음 특정 열이있는 새 테이블을 만들고 create table을 명령으로 사용하는 것이 좋습니다.

    Hive에서 외부 테이블을 만들고 보유한 데이터를 매핑 한 다음 특정 열이있는 새 테이블을 만들고 create table을 명령으로 사용하는 것이 좋습니다.

    create table table_name as select statement from table_name; 
    

    예를 들어 문장은 다음과 같습니다

    create table employee as select id as id,emp_name as name from emp;
    
  3. ==============================

    3.이 시도:

    이 시도:

    Insert into table_name
    (
    #columns you want to insert value into in lowercase
    )
    select columns_you_need from source_table;
    
  4. from https://stackoverflow.com/questions/25032097/hive-load-specific-columns by cc-by-sa and MIT license