Hive建表的时候虽然可以指定字段分隔符,不过用insert overwrite local directory这种方式导出文件时,字段的分割符会被默认置为\001,一般都需要将字段分隔符转换为其它字符,
可以使用下面的命令:sed -e 's/\x01/|/g' file
可以将|替换成自己需要的分隔符,file为hive导出的文件。
sed -i 's/\x01/\t/g' file for f in `ls 98*`; do sed -i 's/\x01/\t/g' $f done
Hive建表的时候虽然可以指定字段分隔符,不过用insert overwrite local directory这种方式导出文件时,字段的分割符会被默认置为\001,一般都需要将字段分隔符转换为其它字符,
可以使用下面的命令:sed -e 's/\x01/|/g' file
可以将|替换成自己需要的分隔符,file为hive导出的文件。
sed -i 's/\x01/\t/g' file for f in `ls 98*`; do sed -i 's/\x01/\t/g' $f done
转载于:https://www.cnblogs.com/lavin/p/8252043.html