Hive计算时count sum partition by等方法在数据开发时的一些用法

简介: hive计算 数据开发

本篇文章用于记录平时在做hive计算写sql时的心得
epr代表字段

1、常用coalesce(epr,0)方法,可以防止当前字段为空,可以在计算时给个默认值,nvl()也可以

2、常用round(epr, 2)方法,数仓有时候数据类型为float、double,计算时会有精度问题,此方法可以用来保留位数

3、(CASE WHEN epr1 in (2,2) THEN epr2 ELSE -1 END),这个可以根据一个字段的值来定义另一个字段的值

4、epr3,SUM(CASE WHEN epr1 in (2,2) THEN epr2 ELSE -epr2 END) OVER (PARTITION BY epr3) 这种用法可以解决根据epr3聚合的字段,可以根据epr1的值来决定聚合函数里的正负号,PARTITION BY是可以解决在查询的时候可以直接聚合数据,而不需要单独group by数据

5、count(DISTINCT epr1) 对该字段去重去null的计数,count(epr1) 对该字段去null的计数

6、row_number() OVER (partition BY epr1, epr2 ORDER BY epr3 DESC) as number 先对epr1、epr2两个字段聚合数据然后在按epr3排序,按自然数顺序往下排,epr3相同比较数据的顺序,递增

7、rank() OVER (partition BY epr1, epr2 ORDER BY epr3 DESC) as number 先对epr1、epr2两个字段聚合数据然后在按epr3排序,按自然数顺序往下排,epr3相同的话rank值一样,有相等

8、hive里面group by的时候查询出的字段只能是group by 后的字段,不知道是不是我司的问题

目录
相关文章
|
4月前
|
SQL 分布式计算 Hadoop
创建hive表并关联数据
创建hive表并关联数据
35 0
|
6月前
|
SQL 分布式计算 大数据
黑马程序员-大数据入门到实战-分布式SQL计算 Hive 入门
黑马程序员-大数据入门到实战-分布式SQL计算 Hive 入门
66 0
|
6月前
|
SQL Java 大数据
Hive实战(03)-深入了解Hive JDBC:在大数据世界中实现数据交互
Hive实战(03)-深入了解Hive JDBC:在大数据世界中实现数据交互
199 1
|
7月前
|
SQL 分布式计算 监控
Hive性能优化之计算Job执行优化 2
Hive性能优化之计算Job执行优化
98 1
|
7月前
|
SQL 分布式计算 算法
大数据Hive数据查询语言DQL
大数据Hive数据查询语言DQL
58 0
|
7月前
|
SQL 存储 分布式计算
大数据Hive数据操纵语言DML
大数据Hive数据操纵语言DML
103 0
|
7月前
|
SQL 存储 大数据
大数据Hive数据定义语言DDL
大数据Hive数据定义语言DDL
73 0
|
6月前
|
SQL 存储 大数据
黑马程序员-大数据入门到实战-分布式SQL计算 Hive 语法与概念
黑马程序员-大数据入门到实战-分布式SQL计算 Hive 语法与概念
73 0
|
6月前
|
SQL 存储 分布式数据库
【通过Hive清洗、处理和计算原始数据,Hive清洗处理后的结果,将存入Hbase,海量数据随机查询场景从HBase查询数据 】
【通过Hive清洗、处理和计算原始数据,Hive清洗处理后的结果,将存入Hbase,海量数据随机查询场景从HBase查询数据 】
|
2月前
|
SQL 消息中间件 Kafka
Flink部署问题之hive表没有数据如何解决
Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。本合集提供有关Apache Flink相关技术、使用技巧和最佳实践的资源。