【求助】pig导出中文乱码
最近碰见个有趣的问题,同是使用pig导出的两个文件,有一个文件导出会出现乱码,中文显示问号,不知道有没有哪位朋友碰到过,帮忙解答一下。多谢测试导出到habse也乱码,不是必现,偶尔会出现这个问题。
集群所有机器的编码都是UTF-8,命令行显示中文正常。
查看下文件使用的什么编码
arsenduan 发表于 2015-3-18 10:54
查看下文件使用的什么编码
UTF-8 BOM
可以把正常文件内容,复制到非正常文件中。
如果显示正常,说明导出的过程有问题。如果不正常,说明文件编码有问题
jixianqiuxue 发表于 2015-3-18 11:35
可以把正常文件内容,复制到非正常文件中。
如果显示正常,说明导出的过程有问题。如果不正常,说明文件编 ...
pig不是每次存储hbase时都乱码,有点郁闷了。
下面是个人经历,可以参考下:
今天遇到个奇葩的问题. 经pig计算完后的数据包含中文(哎,乱码问题)在各自的电脑里显示都是正常的.可是通过org.apache.pig.backend.hadoop.hbase.HBaseStorage存储在hbase后,总是有部分显示的中文乱码.而且是不定数,不定期. 经过各种检查,刚开始以为是32和64位的原因.(我的集群是32,64混合搭建的).可是查看保存在每台存储之前的数据,都是正常的显示. 于是,在每台机器上查看各自编码, locale 后,发现每台机器确实不一. 而且在其中一台的GBK机器上再次单独测试,发现了再hbase中存在乱码.
最后,在非UTF-8的机器上的hadoop用户下,添加如下:
vim ~/.bash_profile
export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
OK,解决!!
s060403072 发表于 2015-3-18 14:50
下面是个人经历,可以参考下:
今天遇到个奇葩的问题. 经pig计算完后的数据包含中文(哎,乱码问题)在各自 ...
这个方法我也试了,没有效果。
最后无奈,直接写MR了。多谢大家的帮助,万分感谢。
本帖最后由 langke93 于 2015-3-18 23:02 编辑
唐运 发表于 2015-3-18 18:58
这个方法我也试了,没有效果。
最后无奈,直接写MR了。多谢大家的帮助,万分感谢。
保存 UTF8 编码文件时,不要使用 BOM。否则出现乱码比较正常的
参考:
UTF8 与 UTF8 without BOM 之间的问题
页:
[1]