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