数据湖实操讲解【 JindoTable 计算加速】第二十一讲:分层更高效,对 Hive 数仓进行热度/冷度统计

本文涉及的产品
EMR Serverless StarRocks,5000CU*H 48000GB*H
简介: 数据湖 JindoFS+OSS 实操干货 36讲 每周二16点准时直播! 扫文章底部二维码入钉群,线上准时观看~ Github链接: https://github.com/aliyun/alibabacloud-jindofs

本期导读 :【JindoTable 计算加速】第二十一讲


主题:分层更高效,对 Hive 数仓进行热度/冷度统计uid+JindoFSOSS 上数据进行训练加速

讲师:羊川,阿里巴巴计算平台事业部 开发工程师


内容框架:

  • 热/冷度统计介绍
  • 热/冷度统计用法
  • 演示


直播回放链接:(21讲)

https://developer.aliyun.com/live/247112

一、热/冷度统计介绍

为什么要分层统计    

  • Hadoop

   • 所有数据一视同仁

   • 数据量增加时,成本也在增加


  • OSS

   • 横向拓展

   • 多种数据存储类型

   • 不同计费方式

OSS 数据存储类型

  • 标准

   • 0.12元/GB/月

  • 低频访问

   • 0.08元/GB/月

  • 归档

   • 0.033元/GB/月

  • 冷归档

   • 0.015元/GB/月

数据热/冷度统计

  • 区分不同类型数据
  • 降低成本
  • 缓存加速


二、热/冷度统计用法

适用范围

  • 引擎

   • Hive

   • Spark

   • Presto

  • 版本

   • 冷度统计( EMR-3.35/4.9之后的版本

   • 热度统计EMR-3.33/4.3之后的版本

   • 暂不支持 DLF 数据湖元数据

  • 自建 Hadoop 集群

   • 需要结合其他JindoFS的服务一起使用

Hive 开启热度统计

  • 登陆阿里云 E-MapReduce 控制台进入自己的集群
  • 集群服务 –> Hive –> 配置
  • 搜索参数 hive.exec.post.hooks,在其后追加 com.aliyun.emr.table.hive.HivePostHook
  • 保存 -> 自动更新配置 -> 重启 HiveServer2

Hive 开启冷度统计

  • 参照热度统计配置 hive.exec.post.hooks
  • 服务配置 -> hive-site -> 自定义配置

 •  key:hive.hook.update.access.time.enabled

 •  value:true

  • 保存配置 -> 重启 All Components

Spark 开启热度统计

  • SmartData3.2.X版本后,Spark 默认开启数据收集

Spark 开启冷度统计

  • 登陆阿里云 E-MapReduce 控制台进入自己的集群
  • 集群服务 -> Spark -> 配置

 •  搜索参数 spark.sql.queryExecutionListeners,确保参数值中包括 com.aliyun.emr.table.spark.SparkSQLQueryListener,如果存在多个 listener,使用英文分号隔开。

  • 服务配置 -> spark-defaults-> 自定义配置

 •   key: spark.sql.query.update.access.time.enabled

 •  value: true

 •   保存配置

 •  重启 All Components

Presto 开启热度统计

  • SmartData3.2.X版本后,Presto 默认开启数据收集

Presto 开启冷度统计

  • 登陆阿里云 E-MapReduce 控制台进入自己的集群
  • 集群服务 -> Presto -> 配置

 •  搜索参数 event-listener.name,确保参数值中包括 jindo-presto-post-event-listener

  • 服务配置 -> event-listener.properties-> 自定义配置

 •   key: listener.update.access.time.enabled

 •  value: true

 •   保存配置

 •  重启 All Components

热度统计用法

  • 语法

 •  jindo table –accessStat -d  -n

 •  days 和 topNums 都是正整数

 •  当 days 为1时,表示查询从本地时间当天00:00起的所有访问记录


  • 功能

 •  查询指定时间范围内,访问最多的 N 个表或分区的记录


  • 示例:查询过去7天内访问次数最多的20条表或分区记录

 •  jindo table -accessStat –d 7 –n 20

冷度统计用法

  • 语法

 •  jindo table –leastUseStat -n  [-i/-ignoreNever]

 •  nums 是显示的记录数量,为正整数

 •  -i/-ignoreNever 为可选参数,会过滤从未被访问过的表或分区


  • 功能

 •  展示最久未被访问的表或分区


  • 示例:查询最久未被访问的20条表或分区的记录

 •  jindo table –leastUseStat –n 20


三、演示


  • 配置参数
  • 操作数据
  • 热/冷度功能展示


相关文档链接:

  • 热度统计使用文档:

https://help.aliyun.com/document_detail/264174.html

  • 冷度统计使用文档:

https://help.aliyun.com/document_detail/264175.html



点击回放链接,直接观看第21讲视频回放,获取讲师实例讲解:

   https://developer.aliyun.com/live/247112




Github链接:

https://github.com/aliyun/alibabacloud-jindofs


不错过每次直播信息、探讨更多数据湖 JindoFS+OSS 相关技术问题,欢迎扫码加入钉钉交流群!

69c0a02cc68742fca5d49d92413dc67a.png

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
SQL 分布式计算 监控
Hive性能优化之计算Job执行优化 2
Hive性能优化之计算Job执行优化
239 1
|
SQL 分布式计算 大数据
黑马程序员-大数据入门到实战-分布式SQL计算 Hive 入门
黑马程序员-大数据入门到实战-分布式SQL计算 Hive 入门
166 0
|
SQL 存储 大数据
黑马程序员-大数据入门到实战-分布式SQL计算 Hive 语法与概念
黑马程序员-大数据入门到实战-分布式SQL计算 Hive 语法与概念
149 0
|
SQL 存储 分布式数据库
【通过Hive清洗、处理和计算原始数据,Hive清洗处理后的结果,将存入Hbase,海量数据随机查询场景从HBase查询数据 】
【通过Hive清洗、处理和计算原始数据,Hive清洗处理后的结果,将存入Hbase,海量数据随机查询场景从HBase查询数据 】
295 0
|
3月前
|
SQL 数据库 HIVE
hive数仓 ods层增量数据导入
根据业务需求,当表数据量超过10万条时采用增量数据导入,否则全量导入。增量导入基于`create_date`和`modify_date`字段进行,并确保时间字段已建立索引以提升查询效率。避免在索引字段上执行函数操作。创建增量表和全量表,并按日期进行分区。首次导入全量数据,后续每日新增或变更数据保存在增量表中,通过全量表与增量表的合并保持数据一致性。
146 13
|
7月前
|
SQL BI HIVE
【Hive SQL 每日一题】统计用户留存率
用户留存率是衡量产品成功的关键指标,表示用户在特定时间内持续使用产品的比例。计算公式为留存用户数除以初始用户数。例如,游戏发行后第一天有10000玩家,第七天剩5000人,第一周留存率为50%。提供的SQL代码展示了如何根据用户活动数据统计每天的留存率。需求包括计算系统上线后的每日留存率,以及从第一天开始的累计N日留存率。通过窗口函数`LAG`和`COUNT(DISTINCT user_id)`,可以有效地分析用户留存趋势。
489 1
|
SQL 分布式计算 API
轻松驾驭Hive数仓,数据分析从未如此简单!
轻松驾驭Hive数仓,数据分析从未如此简单!
254 1
|
7月前
|
SQL 数据采集 分布式计算
Hive 数仓及数仓设计方案
数仓整合企业数据,提供统一出口,用于数据治理。其特点包括面向主题集成和主要支持查询操作。数仓设计涉及需求分析(如咨询老板、运营人员和行业专家)、确定主题指标(如电商的转化率)、数据标准设定、规模与成本计算、技术选型(如Hadoop生态组件)以及数据采集和操作。设计流程涵盖从理解需求到实施SQL函数和存储过程的全过程。
170 3
|
7月前
|
SQL HIVE
【Hive SQL 每日一题】统计用户连续下单的日期区间
该SQL代码用于统计用户连续下单的日期区间。首先按`user_id`和`order_date`分组并去除重复,然后使用`row_number()`标记行号,并通过`date_sub`与行号计算潜在的连续日期。接着按用户ID和计算后的日期分组,排除连续订单数少于2的情况,最后提取连续下单的起始和结束日期。输出结果展示了用户连续下单的日期范围。
259 0
|
7月前
|
SQL 关系型数据库 HIVE
【Hive SQL 每日一题】统计最近1天/7天/30天商品的销量
这段内容是关于SQL查询的示例,目标是统计`sales`表中最近1天、7天和30天的商品销量和销售次数。表结构包含`id`、`product_id`、`quantity`和`sale_date`字段。初始查询方法通过三个独立的子查询完成,但效率较低。优化后的查询使用了`lateral view explode`将数据炸裂,通过一次查询同时获取所有所需时间段的数据,提高了效率。示例中展示了优化前后的SQL代码及结果对比。
332 0