温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Spark stdout日志乱码

发布时间:2020-10-09 00:42:11 来源:网络 阅读:3278 作者:xubcing 栏目:大数据

  采用Apache版本spark1.2.1时没有出现乱码,但spark-1.1.0-cdh6.2.1版本中,在分布处理的map函数里对数据进行打印输出进行debug时

val rs = rdd.filter(e => {val (lable,text) = (e._2(2), e._2(3));  m.filterItem(lable, text) })
           .reduceByKey((x,y) => m.merge(x, y))
           .map{case (x,y) => {println(x + "\t" + y);  (x._1.toLong, x._2, y(1), y(3) )}}


发现stdout文件里面中文内容乱码

(5,?????????????)       List(????????????? ? ??, http://xinligs.cn.china.cn/, A0, ,???:???,,??:?????????????138?,??:7975209__??:15028078833__??:15176090928,,,,,,,,????:???????????????????????(11)???,,,,, false, 4, 7)
?????????????   17      ,???:???,,??:?????????????138?,??:7975209__??:15028078833__??:15176090928,,,,,,,,????:???????????????????????(11)???,,,,


在/var/run/spark/work/目录中查看对应app-20150605171809-0003中的stdout文件

stderr:                           ASCII C++ program text
stdout:                           UTF-8 Unicode text, with very long lines


stdout是ASCII编码的,对中文肯定显示不了

在使用service启动Java程序时,机器上hadoop中stdout输出的日志也是是中文乱码

修改 /sbin/service  ,在env -i 后面加上 LANG="$LANG"

重启spark的各节点

service spark-master restart
service spark-worker restart


最后日志中文显示正常




向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI