hive修改 application name中文乱码解决

初衷

基于spark引擎的hive,在hive客户端中提交查询sql后,在yarn管理界面,或者8088界面,看到的作业名称都是"hive on spark",如下图所示,如果有多个脚本同时在运行时,就不好分辨。
在这里插入图片描述

修改方式

mapreduce 引擎
yarn1

set mapred.job.name=xxx;

yarn2

set mapreduce.job.name=xxx;

spark 引擎

set spark.app.name=xxx;

在这里插入图片描述

需要注意的是,在同一个会话中,这个参数只能生效一次
即第一次设置了 set spark.app.name=xxx;执行了一个查询后,在同个会话中,再设置 set spark.app.name=yyy;再执行一个查询语句。这时候,无论application id是否变化,yyy都是不生效的。application name依然是xxx

但是如果开启会话后,连续执行两次设置set spark.app.name=xxx;set spark.app.name=yyy;再执行sql查询,会以后面一次设置为准,即application name是yyy。

中文乱码解决

  1. linux的环境变量设置字符集
vi /etc/profile
export LANG=zh_CN.UTF-8

  1. 修改mapreduce的环境变量 Hadoop-env.sh
export HADOOP_OPTS="-server -Dfile.encoding=utf-8 -Duser.language=zh"

在这里插入图片描述
在这里插入图片描述
3.CM界面yarn配置(mapred-site.xml)搜索
mapreduce.map.java.opts

-Djava.net.preferIPv4Stack=true -Dfile.encoding=utf-8 -Duser.language=zh

mapreduce.reduce.java.opt

-Djava.net.preferIPv4Stack=true -Dfile.encoding=utf-8 -Duser.language=zh

yarn.app.mapreduce.am.command-opts

-Djava.net.preferIPv4Stack=true -Dfile.encoding=utf-8 -Duser.language=zh

在这里插入图片描述
4.修改spark 字符集
CM界面spark配置搜索spark-default.conf,添加:

spark.driver.extraJavaOptions=-Dfile.encoding=utf-8
spark.executor.extraJavaOptions=-Dfile.encoding=utf-8

在这里插入图片描述
5重启服务
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值