cast

cast(number as string),  可以将整数转成字符串

lpad  rpad

lpad(target, 10, '0')   表示在target字符串前面补0,构成一个长度为10的字符串

concat_ws 列拼接

concat_ws('@', 'zhaopei', 'mail.bnu.edu.cn')

split

split('aa|bb','[|]')  形成一个list, ['aa', 'bb']

row_number() 可实现组内排序

分组后 topK, 可以用row_number()

有这样一个需求:在一段周期内每个乘客的tag字段有多个属性,查询出乘客tag属性出现次数最多的作为tag的属性值

思路:首先根据 pid,tag 进行分组,计算每个tag的数量(cnt),然后用row_number()对 pid分组,并按 cnt 降序,现在就实现了组内排序,然后取rank为一的即可

select
passenger_id, tag
from
(select
passenger_id, tag, row_number() over(partition by passenger_id order by cnt desc) rank
from
(select
passenger_id, level_purchase_power as tag, count(*) as cnt
from decision.fex_eb5f12_1966
where
concat(year, month, day) > and concat(year, month, day) <
and city_id =
group by passenger_id, level_purchase_power) e
)a
where a.rank =

这样一个需求:

A,B两个表通过一列进行关联,并判断在B表中是否有对应的这一列的值

直接关联的话,如果B表没有的话,那B表对应就是null,所以只需要判断是否是null,if(complaint.order_id is null, 1, 0), hive中if的使用方法是 if( condition, true, false)

今天还在想关于left join能不能先过滤一部数据然后在和其他的表进行关联,直接做是不行的,应该先过滤出来形成一个临时表,然后用临时表在进行join

hive笔记的更多相关文章

  1. Hive笔记--sql语法详解及JavaAPI

    Hive SQL 语法详解:http://blog.csdn.net/hguisu/article/details/7256833Hive SQL 学习笔记(常用):http://blog.sina. ...

  2. Hive 笔记

    DESCRIBE EXTENDED mydb.employees  DESCRIBE EXTENDED mydb.employees DESCRIBE EXTENDED mydb.employees ...

  3. hive笔记(自学整理的)

    第一部分:用户管理 创建用户:CREATE DATABASE XXX 查看用户:SHOW DATABASES; 关键查看用户:show databases like 'de.*'   讲解:创建一个用 ...

  4. Hive笔记--配置以及遇到的问题

    ubuntu安装mysql  http://www.2cto.com/database/201401/273423.html Hive安装: http://www.aboutyun.com/forum ...

  5. Hive笔记——技术点汇总

    目录 · 概况 · 手工安装 · 引言 · 创建HDFS目录 · 创建元数据库 · 配置文件 · 测试 · 原理 · 架构 · 与关系型数据库对比 · API · WordCount · 命令 · 数 ...

  6. hive笔记:复杂数据类型-map结构

    map 结构 1. 语法:map(k1,v1,k2,v2,…)   操作类型:map ,map类型的数据可以通过'列名['key']的方式访问 案例: select deductions['Feder ...

  7. hive笔记:时间格式的统一

    一.string类型,年月日部分包含的时间统一格式: 原数据格式(时间字段为string类型) 取数时间和格式的语法  2018-11-01 00:12:49.0 substr(regexp_repl ...

  8. hive笔记:转义字符的使用

    hive中的转义符 Hadoop和Hive都是用UTF-8编码的,所以, 所有中文必须是UTF-8编码, 才能正常使用 备注:中文数据load到表里面, 如果字符集不同,很有可能全是乱码需要做转码的, ...

  9. hive笔记:复杂数据类型-array结构

    array 结构 (1)语法:array(val1,val2,val3,…)  操作类型:array array类型的数据可以通过'数组名[index]'的方式访问,index从0开始: (2)建表: ...

随机推荐

  1. netcat的简单使用(一)

    简单写一下netcat这个强悍的工具,主要是怕自己忘了 功能大致这些个,有遗漏的欢迎私信补充 1.侦听模式/传输模式 2.telnet/获取banner信息 3.传输文本信息 4.传输文件/目录 5. ...

  2. js 学习之路8:for循环

    1. for循环 <!DOCTYPE html> <html> <meta http-equiv="Content-Type" content=&qu ...

  3. jenkins使用开始踩坑(1)

    上篇文章 安装教程 :https://www.cnblogs.com/linuxchao/p/linuxchao-jenkins-setup.html 一.前戏 话说上一篇文章安装完 JDK 和 je ...

  4. 【English】20190315

    accelerate 加速 [ækˈsɛləˌret]  Our goal is to help you be more successful in your role and work togeth ...

  5. 关于出现Specified VM install not found: type Standard VM, name jdk1.5.0_04问题的解决办法

    问题出现背景: 今天把原来电脑中的jdk版本由1.7换到了1.8,,重新在Eclipse中配置环境后出现了此问题 问题解决办法: 在你的项目中,选中ant文件,右键>>Run As > ...

  6. R语言学习——矩阵

    > #矩阵是一个二维数组,每个元素都拥有相同的模式(数值型.字符型或者逻辑型).通过matrix()创建,一般使用格式为:mymatrix<-matrix(vector,nrow=numb ...

  7. Android开发欢迎页点击跳过倒计时进入主页

    没点击跳过自然进入主页,点击跳过之后立即进入主页     1.欢迎页布局activity_sp.xml放一张背景图(图片随你便啦)再放一个盛放倒计时的TextView   <?xml versi ...

  8. C# — 调用dll出现试图加载不正确格式的程序问题

    今天在调用百度dll包时,运行项目出现了如下警告: 修改:鼠标右击项目名称----选择属性----生成-----平台目标-----X64(由于我调用的是X64的dll包,所以这里选择X64,网上许多说 ...

  9. left join inner join 区别

    left 以左表为准,左表在右表没有对应的记录,也为显示(右表字段填空). inner 需要满足两张表都有记录. 不管哪种join 一对多最终的结局 只会是多条记录

  10. 在 CentOS 7 中安装 MySQL 8

    准备 本文环境信息: 软件 版本 CentOS CentOS 7.4 MySQL 8.0.x 安装前先更新系统所有包 sudo yum update 安装 1. 添加 Yum 包 wget https ...