首页 文章

Hive查询输出分隔符

提问于
浏览
3

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

1 回答

  • 13

    首先,你需要改变你的字段分隔符,而不是你的行分隔符ie .

    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'
    

相关问题