2017-11-29 14 views
0

하이브 쿼리 결과를 CSV 형식의 로컬 파일 경로에 다운로드해야합니다. 또한 열 값은 따옴표로 묶어야하고 필드는 쉼표로 끝나야하며 파일의 첫 번째 행에는 열 머리글이 있어야합니다.beeline 명령을 사용하여 csv 형식으로 하이브 쿼리를 다운로드하십시오.

누구나이를 달성하기위한 최선의 방법을 도울 수 있습니까? 주 - 쿼리는 대개 5 백만 개가 넘는 행을 반환합니다.

답변

0

다음과 같이 선택한 데이터로 하이브 테이블을 만드는 것이 가장 좋습니다.

CREATE EXTERNAL TABLE ramesh_csv (col1 INT, col2 STRING) 
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde' 
WITH SERDEPROPERTIES (
"separatorChar" = ",", 
"quoteChar" = "\"" 
) 
STORED AS TEXTFILE 
LOCATION 'mylocation'; 

INSERT OVERWRITE TABLE ramesh_csv VALUES (1, 'TEST'), (2, 'TEST AGAIN'); 

이 경우 선택한 레코드를 테이블에 삽입합니다.

이제 HDFS 파일이 생성됩니다. 그것은 큰 따옴표로 쉼표로 구분됩니다.

"1","TEST" 
"2","TEST AGAIN" 

아래 내 출력을 참조하십시오 그리고 당신은 하나의 로컬 파일에 HDFS의 일부 파일을 다운로드 hdfs -getmerge hdfs://mylocation data.csv을 사용할 수 있습니다