Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Hive query output delimiter

Tags:

delimiter

hive

I have 2 tables in Hive - first is external, the second one is managed. Managed table is populated from external using INSERT OVERWRITE...SELECT FROM external_table. Both tables are created with row delimited by ','. When I run selects queries into file, the delimiter in result file is Tab, but I need comma. How to change it to comma, I see no properties for that.

like image 775
Valery Yesypenko Avatar asked Dec 05 '22 13:12

Valery Yesypenko


1 Answers

First of all, you need to change you field delimiter , not your line delimiter ie.

hive >> CREATE TABLE some_table 
        (col1 int,
         col2 int,
         col3 string)
        ROW FORMAT DELIMITED
        FIELDS TERMINATED BY ','
        STORED AS TEXTFILE;

Secondly, if you still face this issue, you can simply change it using sed.

bash >> hive -e 'select * from some_Table' | sed 's/[\t]/,/g'  > outputfile.txt

Please not that [\t] is to press Control+V and then the tab char:

sed 's/<Control+V><TAB character>/,/g'
like image 77
Nicole Hu Avatar answered Dec 15 '22 07:12

Nicole Hu