数据湖实操讲解【 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
相关文章
|
5月前
|
SQL 分布式计算 关系型数据库
实时数仓 Hologres产品使用合集之分区表创建冷热分层后,查询语法会与原先有区别吗
实时数仓Hologres的基本概念和特点:1.一站式实时数仓引擎:Hologres集成了数据仓库、在线分析处理(OLAP)和在线服务(Serving)能力于一体,适合实时数据分析和决策支持场景。2.兼容PostgreSQL协议:Hologres支持标准SQL(兼容PostgreSQL协议和语法),使得迁移和集成变得简单。3.海量数据处理能力:能够处理PB级数据的多维分析和即席查询,支持高并发低延迟查询。4.实时性:支持数据的实时写入、实时更新和实时分析,满足对数据新鲜度要求高的业务场景。5.与大数据生态集成:与MaxCompute、Flink、DataWorks等阿里云产品深度融合,提供离在线
|
2月前
|
SQL 数据库 HIVE
hive数仓 ods层增量数据导入
根据业务需求,当表数据量超过10万条时采用增量数据导入,否则全量导入。增量导入基于`create_date`和`modify_date`字段进行,并确保时间字段已建立索引以提升查询效率。避免在索引字段上执行函数操作。创建增量表和全量表,并按日期进行分区。首次导入全量数据,后续每日新增或变更数据保存在增量表中,通过全量表与增量表的合并保持数据一致性。
84 13
|
3月前
|
SQL 消息中间件 OLAP
OneSQL OLAP实践问题之实时数仓中数据的分层如何解决
OneSQL OLAP实践问题之实时数仓中数据的分层如何解决
52 1
|
5月前
|
DataWorks 安全 数据库
DataWorks产品使用合集之简单模式下,如何实现数仓分层
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
86 3
|
6月前
|
存储 数据挖掘 大数据
大数据数仓建模基础理论【维度表、事实表、数仓分层及示例】
数据仓库建模是组织和设计数据以支持数据分析的过程,包括ER模型和维度建模。ER模型通过实体和关系描述数据结构,遵循三范式减少冗余。维度建模,特别是Kimball方法,用于数据仓库设计,便于分析和报告。事实表存储业务度量,如销售数据,分为累积、快照、事务和周期性快照类型。维度表提供描述性信息,如时间、产品、地点和客户详情。数仓通常分层为ODS(源数据)、DWD(明细数据)、DIM(公共维度)、DWS(数据汇总)和ADS(应用数据),以优化数据管理、质量、查询性能和适应性。
1470 3
|
6月前
|
SQL BI HIVE
【Hive SQL 每日一题】统计用户留存率
用户留存率是衡量产品成功的关键指标,表示用户在特定时间内持续使用产品的比例。计算公式为留存用户数除以初始用户数。例如,游戏发行后第一天有10000玩家,第七天剩5000人,第一周留存率为50%。提供的SQL代码展示了如何根据用户活动数据统计每天的留存率。需求包括计算系统上线后的每日留存率,以及从第一天开始的累计N日留存率。通过窗口函数`LAG`和`COUNT(DISTINCT user_id)`,可以有效地分析用户留存趋势。
397 1
|
6月前
|
SQL 数据采集 分布式计算
Hive 数仓及数仓设计方案
数仓整合企业数据,提供统一出口,用于数据治理。其特点包括面向主题集成和主要支持查询操作。数仓设计涉及需求分析(如咨询老板、运营人员和行业专家)、确定主题指标(如电商的转化率)、数据标准设定、规模与成本计算、技术选型(如Hadoop生态组件)以及数据采集和操作。设计流程涵盖从理解需求到实施SQL函数和存储过程的全过程。
119 3
|
6月前
|
SQL HIVE
【Hive SQL 每日一题】统计用户连续下单的日期区间
该SQL代码用于统计用户连续下单的日期区间。首先按`user_id`和`order_date`分组并去除重复,然后使用`row_number()`标记行号,并通过`date_sub`与行号计算潜在的连续日期。接着按用户ID和计算后的日期分组,排除连续订单数少于2的情况,最后提取连续下单的起始和结束日期。输出结果展示了用户连续下单的日期范围。
227 0
|
6月前
|
存储 数据可视化 前端开发
数仓常用分层与维度建模
本文介绍了数据仓库的分层结构和维度建模。数仓通常分为ODS、DIM、DWD、DWS和ADS五层,各层负责不同的数据处理阶段。维度建模是数据组织方法,包括星型和雪花模型。星型模型简单直观,查询性能高,适合简单查询;雪花模型则通过规范化减少冗余,提高数据一致性和结构复杂性,但可能影响查询效率。选择模型需根据业务需求和数据复杂性来定。
516 0
|
6月前
|
SQL 关系型数据库 HIVE
【Hive SQL 每日一题】统计最近1天/7天/30天商品的销量
这段内容是关于SQL查询的示例,目标是统计`sales`表中最近1天、7天和30天的商品销量和销售次数。表结构包含`id`、`product_id`、`quantity`和`sale_date`字段。初始查询方法通过三个独立的子查询完成,但效率较低。优化后的查询使用了`lateral view explode`将数据炸裂,通过一次查询同时获取所有所需时间段的数据,提高了效率。示例中展示了优化前后的SQL代码及结果对比。
273 0