복붙노트

[HADOOP] 하이브 테이블에로드하는 동안 csv의 첫 번째 줄 건너 뛰기

HADOOP

하이브 테이블에로드하는 동안 csv의 첫 번째 줄 건너 뛰기

안녕하세요 친구,

나는 명령을 따르는 도움으로 하이브에 테이블을 만들었다.

CREATE TABLE db.test 
  ( 
     fname STRING, 
     lname STRING, 
     age   STRING, 
     mob   BIGINT 
  ) row format delimited fields terminated BY '\t' stored AS textfile; 

이제 파일에서 테이블의 데이터를로드하려면 다음 명령을 사용하고 있습니다.

load data local inpath '/home/cluster/TestHive.csv' into table db.test;

문제는 모든 행이 삽입되는 것입니다. 첫 번째 행에는 열 이름 만 포함되어 있기 때문에 필요하지 않습니다.

첫 줄을 건너 뛰는 방법을 제안 해주세요.

미리 감사드립니다.

해결법

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

    1.이것을 얻으려면 TBLPROPERTIES ( "skip.header.line.count"= "1") 인 하이브 속성을 사용할 수 있습니다. 당신은 또한 예제를 참조 할 수 있습니다 -

    이것을 얻으려면 TBLPROPERTIES ( "skip.header.line.count"= "1") 인 하이브 속성을 사용할 수 있습니다. 당신은 또한 예제를 참조 할 수 있습니다 -

    CREATE TABLE temp 
      ( 
         name STRING, 
         id   INT 
      ) 
    row format delimited fields terminated BY '\t' lines terminated BY '\n' 
    tblproperties("skip.header.line.count"="1"); 
    
  2. ==============================

    2.이미 머리글이있는 테이블을 만든 사람들을 위해서. 다음은 같은 명령에 대한 alter 명령입니다.

    이미 머리글이있는 테이블을 만든 사람들을 위해서. 다음은 같은 명령에 대한 alter 명령입니다.

    ALTER TABLE tablename SET TBLPROPERTIES ( "skip.header.line.count"= "1");

  3. from https://stackoverflow.com/questions/20813355/skip-first-line-of-csv-while-loading-in-hive-table by cc-by-sa and MIT license