Hive查询输出分隔符

时间:2012-12-04 12:04:45

标签: hive delimiter

我在Hive中有2个表 - 第一个是外部的,第二个是托管的。使用INSERT OVERWRITE ... SELECT FROM external_table从外部填充托管表。这两个表都是用','分隔的行创建的。当我运行选择查询到文件时,结果文件中的分隔符是Tab,但我需要逗号。如何将其更改为逗号,我看不到它的属性。

1 个答案:

答案 0 :(得分:13)

首先,您需要更改字段分隔符,而不是行分隔符,即。

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

其次,如果您仍然遇到此问题,则只需使用sed进行更改即可。

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

请不要[\ t]按Control + V然后按Tab键:

sed 's/<Control+V><TAB character>/,/g'