从Hive导出到文件时替换分隔符

问题描述:

在执行INSERT OVERWRITE LOCAL DIRECTORY时是否可以指定要使用的分隔符?从Hive导出到文件时替换分隔符

对于列,集合,地图,数组......分隔符的全部使用。

一个文档或者说明如何实现的文档将会超级棒。 :)

在Hive Jira上有这张票。见https://issues.apache.org/jira/browse/HIVE-634

使用像

INSERT OVERWRITE LOCAL DIRECTORY '/home/sumit/POC/code/UseCase1' select day, " ", 
count(distinct(feature)) from Table_Day_Feature group by day order by day; 

查询插入列“”之间

一个简单的方法是使用CONCAT和只有一个字段,如果默认的行分隔符\ n适合你:

 
INSERT OVERWRITE LOCAL DIRECTORY 'output' 
SELECT concat(coalesce(field1,''),'\;', 
     coalesce(field2,''),'\;', 
     coalesce(field3,''),'\;', 
     coalesce(field4,'')) 
FROM MyTable; 

这样你就不会有默认的\ 001字段分隔符。