hive传参及执行命令

三种传参:
1 hiveconf
hive --hiveconf varage=‘19’ --database test -e ‘select * from person where age=${hiveconf:varage}’;
1.1 可以传参必须用加前缀的方式取值;
1.2 可覆盖hive-site.xml(hive-default.xml)中的参数值,设置参数,会话级别:
hive --hiveconf “mapred.job.queue.name=root.default”

2 hivevar
hive --hivevar varage=‘19’ --database test -e ‘select * from person where age=${hivevar:varage}’;
取值可加前缀也可不加;

3 define
hive --define varage=‘19’ --database test -e ‘select * from person where age=${varage}’;
可简写为 -d或–d,此时不可用前缀取值如 d e f i n e : v a r a g e ; h i v e − − d v a r a g e = ′ 1 9 ′ − − d a t a b a s e t e s t − e ′ s e l e c t ∗ f r o m p e r s o n w h e r e a g e = {define:varage}; hive --d varage='19' --database test -e 'select * from person where age= define:varagehivedvarage=19databasetesteselectfrompersonwhereage={varage}’;

两种执行命令:
hive -e
使用方法如上;

hive -f
可以跟文件,扩展名可以是.txt .sql .log .hql 。使用与-e类似,在传多个参数时,每个参数前都要加上-hiveconf,或-d,-hivevar;
hive -d name=‘tom’ -d age=‘9’ -f insert.sql

insert.sql 内容如下*,执行前可设置些参数*:
set mapreduce.job.queuename=etl;
set mapreduce.map.java.opts=-Xmx1640m -XX:+UseConcMarkSweepGC -XX:-UseGCOverheadLimit;
set mapreduce.map.memory.mb=2048;
set mapreduce.reduce.java.opts=-Xmx1640m -XX:+UseConcMarkSweepGC -XX:-UseGCOverheadLimit;
set mapreduce.reduce.memory.mb=2048;
set yarn.app.mapreduce.am.resource.mb=2048;
set yarn.app.mapreduce.am.command-opts=-Xmx1640m;
set mapred.max.split.size=1024000000;
set mapred.min.split.size.per.node=512000000;
set mapred.min.split.size.per.rack=512000000;
set mapreduce.task.io.sort.mb=200;
set hive.exec.parallel.thread.number=10;
set mapred.reduce.tasks = 314;
set mapreduce.map.memory.mb=1024;
set mapreduce.task.io.sort.factor=50;
insert into table test.person1 values(’ n a m e ′ , ′ {name}',' name,{age}’);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值