HIVE执行、装载数据以及shell结合有关的总结

本文总结了Hive的深入操作,包括两种执行方式(-e和-f选项)、参数传递(hiveconf和hivevar)、删除分区表以及如何与Shell脚本结合使用。通过实例展示了如何在Shell中调用Hive命令进行复杂的数据操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在写hive中常用的方法时,感觉到那个页面只适合写函数等方法性的东西,没法对一个很常用的东西做深入探究总结,顾新开一个页面来详细介绍HIVE的深入综合性操作。函数页面内容见:https://blog.youkuaiyun.com/xxzhangx/article/details/81009738

**注:**内容来自自己工作总结以及学习《Hive编程指南》总结

hive 执行

在shell界面输入hive --help,就可以得到命令行参数。注意:这里给的h2cmd,是我这里做了修改。
hive 命令行界面

这里重点介绍-e,-f,–hiveconf,–hivevar这四个的用法

两种执行方式

  • hive -e
    用于执行查询类的语句,-e 后的后就是代码
hive -e "sql 代码"

hive中“一次使用”命令

hive -e "SELECT * FROM MYTABLE LIMIT 10"

也可以输入到文件中

hive -e "SELECT * FROM MYTABLE LIMIT 10" > /tmp/mytable/data.csv

查看信息

cat /tmp/mytable/data.csv

如果觉得在执行的时候出现很多不必要的中间log,可以加入**-S**,表示开启静默执行模式

hive -S -e "SELECT * FROM MYTABLE LIMIT 10" > /tmp/mytable/data.csv
  • hive -f
    用于执行sql文件
hive -f data.hql

传递参数

这里介绍两种方法:hiveconf 和 hivevar,hiveconf属于hive-site.xml下面配置的环境变量,hivevar为临时变量。在运行时hiveconf必须带上命名空间,如**${hiveconf:key}hivevar直接使用${key}**即可。

  • hiveconf 案例介绍

一次执行代码

hive --hiveconf pt_dt=2018-07-25 -e "SELECT * FROM MYTABLE WHERE pt_dt = "${hiveconf:pt_dt}" LIMIT 10" > /tmp/mytable/data.csv

执行文件
data.hql的代码如下:

SELECT * FROM MYTABLE WHERE pt_dt = "${hiveconf:pt_dt}" LIMIT 10

在终端执行语句

hive --hiveconf pt_dt=2018-07-25 -f data.hql > /tmp/mytable/data.csv
  • hivevar 案例介绍

一次执行

hive --hivevar pt_dt=2018-07-25 -e "SELECT * FROM MYTABLE WHERE pt_dt = "${pt_dt}" LIMIT 10" > /tmp/mytable/data.csv

执行文件

SELECT * FROM MYTABLE WHERE pt_dt = "${pt_dt}" LIMIT 10

在终端执行语句

hive --hivevar pt_dt=2018-07-25 -f data.hql > /tmp/mytable/data.csv

删除分区表

ALTER TABLE  dwd.op_topic_activity DROP IF EXISTS PARTITION (topicid=2,batchid=19,pt_dt="2019-01-03",classid=6);

与shell结合

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值