从Hive导出到文件时替换分隔符
问题描述:
在执行INSERT OVERWRITE LOCAL DIRECTORY
时是否可以指定要使用的分隔符?从Hive导出到文件时替换分隔符
对于列,集合,地图,数组......分隔符的全部使用。
一个文档或者说明如何实现的文档将会超级棒。 :)
答
使用像
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字段分隔符。