lateral view explode (split(column,‘exp’)) 爆炸函数

已知条件:一个表有字段如下:片区编号,分支机构编号,交易终端,客户号,客户下挂关系

给出需求:求出每个分支机构的交易终端统计粒度下的所有客户各种下挂关系数量???

技术架构:hive

0,业务梳理:

字段维度关系如下:片区编号>分支机构编号>交易终端>客户号= 客户下挂关系

部分数据展示如下:

在这里就需要用到爆炸函数了,但有那么亿丢丢难度,先给大家逐步拆解。

1,split函数,会把一个字符串的数据类型变成一个array数组(重点知识)!

代码如下:

结果展示:

2,列转行:将某列一行中的数据拆分成多行,可以用Explode()函数

Explode()函数是Hive的内置函数,也称为爆炸函数,此函数将array或map作为输入,按行输出array或map中的元素,可搭配lateral view(侧视图)使用。

代码如下:

结果展示:

ok 这个时候我们发现通过爆炸函数得到,侧视图表tmp,字段emp_type_name,

发现数组中的每一个元素都拆成了一条记录,实现列转行。

3,最后,要求出每个分支机构的交易终端统计粒度下的所有客户各种下挂关系数量???

咦,这个时候是不是有点思路了!!!

只要把上面的数据统计求和,就可以得汇总数据!!

但又因为要求得各种下挂关系数量??这个加个行列转换(行转列)

代码如下:

结果如下:

结语:

站在sql技能:(split, 爆炸函数,侧视图,聚合函数,行列转换)的制高点,轻松实现业务指标。

相关推荐

  1. 神经网络中的梯度爆炸

    2024-04-24 21:58:01       59 阅读
  2. three.js实现三维爆炸效果

    2024-04-24 21:58:01       29 阅读
  3. 25.梯度消失和梯度爆炸

    2024-04-24 21:58:01       23 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-24 21:58:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-24 21:58:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-24 21:58:01       82 阅读
  4. Python语言-面向对象

    2024-04-24 21:58:01       91 阅读

热门阅读

  1. 6个外贸新人关注的问题

    2024-04-24 21:58:01       32 阅读
  2. Python内置函数hex()详解

    2024-04-24 21:58:01       33 阅读
  3. Flutter 中的 Crypto 库介绍及使用

    2024-04-24 21:58:01       30 阅读
  4. 【MySql】深入了解 MySQL 中的 INNER JOIN 和 OUTER JOIN

    2024-04-24 21:58:01       26 阅读
  5. Linux笔记之more命令分页显示内容

    2024-04-24 21:58:01       26 阅读
  6. 音频格式编码

    2024-04-24 21:58:01       26 阅读
  7. KaFak知识总结(1)

    2024-04-24 21:58:01       33 阅读
  8. 每天一个数据分析题(二百七十七)

    2024-04-24 21:58:01       32 阅读
  9. python学习笔记(常用的方法)

    2024-04-24 21:58:01       36 阅读
  10. .css和.qss的区别

    2024-04-24 21:58:01       38 阅读