分享

HDFS上存储的是GBK编码的文件,mapreduce可以使用gbk编码读取文件吗?

jinxiaoxin 发表于 2016-6-30 17:44:53 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 7 15333
HDFS上存储的是GBK编码的文件,mapreduce可以使用gbk编码读取文件吗?
TextInputFormat里面有修改读取文件时修改编码的地方吗?默认是UTF-8。
找了半天资料都没有查到,只能通过value.getbytes("GBK")来读取文件。
但是我想直接读取进来就是GBK的,可以改吗?

已有(7)人评论

跳转到指定楼层
jinxiaoxin 发表于 2016-6-30 17:47:15
我说的是读入时编码,而不是输出时的编码
回复

使用道具 举报

arsenduan 发表于 2016-6-30 19:06:33
jinxiaoxin 发表于 2016-6-30 17:47
我说的是读入时编码,而不是输出时的编码

读进来的gbk应该会是乱码
如果不想通过楼主的方式,可以尝试修改源码
回复

使用道具 举报

NEOGX 发表于 2016-6-30 19:08:09
回复

使用道具 举报

jinxiaoxin 发表于 2016-7-4 12:39:06
arsenduan 发表于 2016-6-30 19:06
读进来的gbk应该会是乱码
如果不想通过楼主的方式,可以尝试修改源码

不知道改哪里- - 。。找了半天
回复

使用道具 举报

jinxiaoxin 发表于 2016-7-4 12:41:18
NEOGX 发表于 2016-6-30 19:08
楼主参考这个试试,希望有所帮助
Hadoop 中文编码相关问题 -- mapreduce程序处理GBK编码数据并输出GBK编码 ...

这个也会出问题,我想要的是,读进来就是以GBK编码读的,而不是转
回复

使用道具 举报

arsenduan 发表于 2016-7-5 19:54:14
jinxiaoxin 发表于 2016-7-4 12:41
这个也会出问题,我想要的是,读进来就是以GBK编码读的,而不是转

不转的可能会不识别
回复

使用道具 举报

arsenduan 发表于 2016-7-5 19:56:42
jinxiaoxin 发表于 2016-7-4 12:41
这个也会出问题,我想要的是,读进来就是以GBK编码读的,而不是转

目前还没时间看,不过如果楼主读懂了源码肯定可以的。
下面已经给出了例子

Hadoop 中文编码相关问题 -- mapreduce程序处理GBK编码数据并输出GBK编码数据


先找到相应的类,然后修改下,在打包hadoop,最后安装部署,这样就可以了






回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条