Hive查询语句的高级使用

  • 我们可以使用正则表达式来选择我们想要的列。下面的查询将会从表stocks 中选择symbol列和所有列名以price 作为前缀的列:

  • 还可以在select中进行算术运算

  • 典型的查询会返回多行数据。LIMIT子句用于限制返回的行数

  • CASE ...WHEN ... THEN语句和 if条件语句类似,用于处理单个列的查询结果。

  • like的用法:下面3个查询依次分别选择出了住址中街道是以字符串Ave结尾的雇员名称和住址、城市是以О开头的雇员名称和住址和街道名称中包含有Chicago的雇员名称和住址:

  • RLIKE子句是Hive中这个功能的一个扩展,其可以通过Java的正则表达式这个更强大的语言来指定匹配条件。这里,我们通过一个例子来展示它们的用法,这个例子会从employees表中查找所有住址的街道名称中含有单词Chicago或Ontario 的雇员名称和街道信息:

关键字RLIKE后面的的字符串表达如下含义:字符串中的点号(.)表示和任意的字符匹配,星号(*)表示重复“左边的字符串”(在以上所示2个例子中为点号)零次到无数次。表达式(xly)表示和x或者y匹配。

当然,我们也可以通过2个LIKE子句来改写这个例子为如下这个样子:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值