我在 Hive 中有 2 个表 - 第一个是外部的,第二个是托管的。使用 INSERT OVERWRITE...SELECT FROM external_table 从外部填充托管表。两个表都是用“,”分隔的行创建的。当我对文件运行选择查询时,结果文件中的分隔符是制表符,但我需要逗号。如何将其更改为逗号,我看不到任何属性。
问问题
30898 次
1 回答
16
首先,您需要更改字段分隔符,而不是行分隔符。
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 然后按制表符字符:
sed 's/<Control+V><TAB character>/,/g'
于 2012-12-04T12:56:51.257 回答