HiveQL 使用常识总结

在实习中用到了Hive, 把HiveQL常用到的知识点整理记录一下

1.Hive里的相等 是= 不是 ==  如果要比较一个变量 是NULL 应该写  somevar is NULL 而不是somevar = NULL

2.case when  要跟end才能结束

3.进入Linux系统后 输入 hive进入hive模式,指示符变成 hive>

4.hive> show databases;可以显示现在已经有哪些数据仓库了

5.使用数据库是hive> use  dw; (dw是数据库名称)

6.进入数据库后 hive>show tables;显示该数据库下所有表

7.想要验证一个正则表达式可以直接在hive模式下select出来做测试,例如:

hive>select split('[2352]','[^0-9+]')[1];

结果是2352

8.hiveQL运行结果想要保存成一个csv文件,demo:

hive -e"
set hive.cli.print.header=true;
select A.debt_id ,hit_data ,expire_datekey ,7days_standard_overdue ,overdue_date_calc_cnt from
(select debt_id,
split(hit_data,'[^0-9+]')[1] as hit_data
from tmp_dw.fact_rule_debt_rule_19  where rule_id = 192 or rule_id=442 ) as A
inner join 
(select debt_id,
expire_datekey,
overdue_date_calc_cnt,
(case
 when expire_datekey>=20171004 or expire_datekey is NULL then NULL 
 when overdue_date_calc_cnt > 7 then 1 else 0 end ) as 7days_standard_overdue
 from dw.topic_debt_single ) as B
on A.debt_id = B.debt_id
order by expire_datekey desc;
" > /home/me/yuzhi1012/blabla.csv

因为我没有INSERT权限,所以不能INSERT overwrite local dircetory这种写法,只能像上面那样写,默认分隔符是tab  保存文件的文件夹必须已经存在,否则会报错。

tab分隔符保存的文件用python去读的时候分隔符sep='\t'

如果文件夹不存在就先在linux系统中用mkdir命令创建文件夹

9.安装Xshell软件,我安装的是Xshell5,用这个软件连接linux系统进入hive。 在linux模式下输入 sz 文件名 可以直接保存文件到本地




  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值