sed -e 's/\x01/|/g' file > file.new
可以将|替换成自己需要的分隔符,file为hive导出的文件。
对于高版本的hive,导出语句直接支持自定义分隔符:
INSERT OVERWRITE [LOCAL] DIRECTORY directory1
[ROW FORMAT row_format] [STORED AS file_format] (Note: Only available starting with Hive 0.11.0)
SELECT ... FROM ...
row_format相关语法: DELIMITED [FIELDS TERMINATED BY char [ESCAPED BY char]] [COLLECTION ITEMS TERMINATED BY char]
[MAP KEYS TERMINATED BY char] [LINES TERMINATED BY char]
[NULL DEFINED AS char](Note: Only available starting with Hive 0.13)
说明: Directory 可以是一个全路径的 url。 如果指定 LOCAL,则会将数据写到本地文件系统。 输出的数据序列化为 text 格式,分隔符为 ^A,行于行之间通过换行符连接。如果存在不是基本类型的列,则这些列将被序列化为 JSON 格式。 在 Hive 0.11.0 可以输出字段的分隔符,之前版本的默认为 ^A。例如:
hive> insert overwrite local directory '/home/wyp/Documents/result'
hive> row format delimited
hive> fields terminated by '\t'
hive> select * from test;
没有评论:
发表评论