分层更高效,对 Hive 数仓进行热度/冷度统计 | 学习笔记

本文涉及的产品
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: 快速学习分层更高效,对 Hive 数仓进行热度/冷度统计。

开发者学堂课程【数据湖 JindoFS + OSS 实操干货36讲分层更高效,对 Hive 数仓进行热度/冷度统计】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/833/detail/13981


分层更高效,Hive 数仓进行热度/冷度统计

 

内容介绍

一、/冷度统计介绍

二、/冷度统计用法

三、演示

 

一、热/冷度统计介绍

1)为什么要分层统计0

l  Hadoop

l  所有数据一视同仁

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

l  OSS

l  横向扩展

l  多种数据存储类型.不同计费方式

(2) OSS 数据存储类型

l  标准

l  0.12/GB/

l  低频访问

l  0.08/GB/

l  归档

l  0.033/GB/

l  冷归档

l  0.015元/GB/

(3)数据热/冷度统计

l  区分不同类型数据

l  降低成本

l  缓存加速


二、热/冷度统计用法

(1)适用范围

l  引擎

l  Hive

l  Spark

l  Presto

l  自建 Hadoop 集群

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

l  版本

l  冷度统计

l  EMR-3.35/4.9之后的版本

l  热度统计

l  EMR- 3.33/4.3之后的版本

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

(2)Hive 开启热度统计

l  登陆阿里云 E-MapReduce 控制台进入自己的集群

l  集群服务- > Hive->配置

l  搜索参数 hive.exec post.hooks,在其后追加com.aliyun.emr.table.hive.HivePostHook

l  保存->自动更新配置->重启HiveServer2

(3Hive 开启冷度统计

l  参照热度统计配置 hive.exec.post.hooks

l  服务配置 -> hive-site ->自定义配置

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

l  value : true

l  保存配置->重启All Components

(4)Spark 开启热度统计

l  SmartData 3.2.X版本后,Spark 默认开启数据收集。

(5)Spark 开启冷度统计

l  登陆阿里云 E-MapReduce 控制台进入自己的集群

l  集群服务 -> Spark-> 配置

l  搜索参数 spark.sql.queryExecutionListeners, 确保参数值中包括

com.aliyun.emr.table.spark. SparksQLQueryListener,如果存在多个 listener, 使用英文分号隔开。

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

l  key: spark.sql.query.update acestisme enabled

l  value: true

l  保存配置

l  重启 All Components

(6)Presto 开启热度统计

l  SmartData 3.2.X版本后,Presto 默认开启数据收集。

(7)Presto 开启冷度统计

l  登陆阿里云 E-MapReduce控制台进入自己的集群

l  集群服务-> Presto ->配置

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

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

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

l  value: true

l  保存配置

l  重启AlIL Components

(8)热度统计用法

l  语法

l  jindo table -accessStat-d  -n

l  days topNums 都是正整数

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

l  功能

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

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

l  jindo table-accessStat-d7-n20

(9)冷度统计用法

l  语法

l  jindo table -leastUseStat -n  [-i/-ignoreNever]

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

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

l  功能

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

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

l   jindo table -leastUseStat -n20

 

三、演示

1.演示

l  配置参数

l  操作数据

l  /冷度功能展示

2.相关资料

l  热度统计使用文档:

https://help.aliyun.com/document detail/264174.html

l  冷度统计使用文档:

https://help.aliyun.com/document detail/264175.html

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

热门文章

最新文章