我在Hive中有两张表 - 第一张是外部表,第二张是管理表。 管理表是通过INSERT OVERWRITE...SELECT FROM external_table从外部表中填充的。 两个表都是使用','作为行分隔符创建的。当我运行查询并将结果写入文件时,结果文件中的分隔符是Tab,但我需要逗号。 如何将其更改为逗号? 我没有找到相应的属性。
hive >> CREATE TABLE some_table
(col1 int,
col2 int,
col3 string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;
bash >> hive -e 'select * from some_Table' | sed 's/[\t]/,/g' > outputfile.txt
sed 's/<Control+V><TAB character>/,/g'
sed 's/[\t]/,/g' > outputfile.txt
。hive -e
是用于从命令提示符中运行 Hive,对吗? - Raja Reddyhive -e
执行一个 Hive 查询。然后将查询输出传递给sed
。sed
是一个文本操作程序。在这种情况下,语法's/[\t]/,/g'
由四个由/
分隔的部分组成。第一个s
表示替换。[\t]
是制表符的匹配模式。,
是替换值,而g
表示全局。 - ichbinallen