花开不停 花开不停
首页
  • 追忆杂谈
  • 书信往来
  • 旅行记录
  • 文定之喜
  • 黄金屋-颜如玉
  • 程序化广告
  • 禅茶一味
  • 随写编年
  • 家人物语
  • 追忆青春
  • 大千世界
  • Shell
  • Java
  • Spark
  • Hadoop
  • ClickHouse
  • MySQL
  • PostgreSQL
  • MongoDB
  • 调度器
  • Zookeeper
  • Kafka
  • Flume
  • 学习周刊
关于
  • 分类
  • 标签
  • 归档
开往 (opens new window)

花开不停

此心光明,亦复何言
首页
  • 追忆杂谈
  • 书信往来
  • 旅行记录
  • 文定之喜
  • 黄金屋-颜如玉
  • 程序化广告
  • 禅茶一味
  • 随写编年
  • 家人物语
  • 追忆青春
  • 大千世界
  • Shell
  • Java
  • Spark
  • Hadoop
  • ClickHouse
  • MySQL
  • PostgreSQL
  • MongoDB
  • 调度器
  • Zookeeper
  • Kafka
  • Flume
  • 学习周刊
关于
  • 分类
  • 标签
  • 归档
开往 (opens new window)
  • Shell编程

  • Java编程笔记

  • Spark

  • Hadoop

  • ClickHouse

    • clickhouse常用函数
    • clickhouse拆分对应索引的数组
      • 1. 数据背景
      • 2. 数据需求
      • 3. 解决办法
    • clickhouse 交集 并集 差集
    • clickhouse DDL DML
    • clickhouse表函数
    • clickhouse字符串函数
    • clickhouseJSON函数
    • clickhouse数组函数
    • clickhouse时间函数
    • clickhouse类型转换函数
    • clickhouse位图bitmap函数
    • clickhouse窗口函数
    • clickhouseMD5加密函数
    • clickhouse常用settings
    • clickhouse版本升级的语法变动21.8.9.1至23.8.9.1
  • MySQL

  • PostgreSQL

  • MongoDB

  • 调度器

  • Zookeeper

  • Kafka

  • Flume

  • 编程世界
  • ClickHouse
花开不停
2023-08-31
目录

clickhouse拆分对应索引的数组原创

# 1. 数据背景

在ClickHouse中我们存放的两列数据,数据类型:Array(UInt64)。

`hour`          Array(UInt64) COMMENT '小时',

`request_count` Array(UInt64) COMMENT '小时请求数'
1
2
3
  • 数据存储示例:
07cf36cad21625fa0e8cbc8114c080e.png

相同key,每小时对应的流量频次,数组相同索引为对应同一组数据。

# 2. 数据需求

假使要分析一天内每小时设备的频次分布,就要将这两列进行对应的拆分。我们知道单列拆分直接使用arrayJoin()就可以

  • arrayJoin()
2.1 例:select arrayJoin([16,17])  as dst1
1
2.1例 dst
16
17
2.2 例:select arrayJoin([16,17])  as dst1, arrayJoin([7,4])  as dst2
1
2.2例 dst1 2.2例 dst2
16 7
16 4
17 7
17 4

通过观察,arrayJoin() 是可以将数组拆分开来,但是多个组合就会产生笛卡尔积。

# 3. 解决办法

从数据上来看,数组1是小时,不会有重复数据,我们只需要arrayJoin()数组1,拿到数组1元素对应的索引,从数组2中取对应索引的元素就可以。

select 
  arrayJoin(arr1) as arr1_individual,
  arr2[indexOf(arr1,arr1_individual)] as arr2_individual
from
(
  select [16,17] as arr1, [7,4] as arr2
)
1
2
3
4
5
6
7
arr1_individual arr2_individual
16 7
17 4
上次更新: 2024/06/28, 14:46:16

← clickhouse常用函数 clickhouse 交集 并集 差集→

最近更新
01
2025-05-26当我意识到我变得自私、暴躁、情绪不受控制 原创
05-26
02
clickhouse版本升级的语法变动21.8.9.1至23.8.9.1 原创
04-22
03
2025-03-28拍婚纱照 原创
04-02
更多文章>
Theme by Vdoing | Copyright © 2023-2025 | 京ICP备2023013437号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式