
数据仓库
文章平均质量分 59
子小哥哥
业余时间整理的一点笔记,希望对我自己和大家都有帮助,如有问题可以一起讨论,一起进步
展开
-
hive场景题:求车门开闭次数
场景问题求每辆车车门的开闭次数事例数据vincardoorstatusdate102021-08-10 00:00:12.123112021-08-10 00:01:12.222102021-08-10 00:04:12.823102021-08-10 00:05:12.333112021-08-10 00:07:12.124112021-08-10 00:08:12.125112021-08-10 00:10:1原创 2021-08-10 17:38:55 · 231 阅读 · 0 评论 -
数据仓库中的缓慢变化维
缓慢变化维定义:维度表里面的数据并非是始终不变的,总会随着时间发生变化;比如我们有一张我们公司的商品类别维度表,记录了商品类别的一些基本信息,那么随着时间的变化商品类别可能会在发生改变,假如猪肉之前属于肉禽类别,现将猪肉更改为属于零食类别针对这种变化,业务系统会直接将业务数据库中数据抽取过来直接覆盖,而不会考虑历史变化,不过在数据仓库中由于有时我们需要进行历史变化分析,或者防止商品品类统计数据记录错误,所以需要对这种变化进行相应的处理。处理办法第一种方法,直接在将原来维度覆盖,无法追溯历史变化:1原创 2020-12-22 14:44:09 · 299 阅读 · 2 评论 -
拉链表的制作
1、为什么要做拉链表拉链表,记录每条信息的生命周期,一旦一条记录的生命周期结束,就重新开始一条新的记录,并把当前日期放入生效开始日期。拉链表适合于:数据会发生变化,但是大部分是不变的。比如:订单信息从未支付、已支付、未发货、已完成等状态经历了一周,大部分时间是不变化的。拉链表格式订单ID订单金额订单状态生效开始日期生效结束日期11000.00未支付2019-01-012019-01-0111000.00已支付2019-01-022019-01-02原创 2020-12-13 11:06:33 · 2507 阅读 · 2 评论 -
hive优化整理
1.1 hive的特征1、可以通过SQL轻松访问数据,从而实现数据仓库任务,如提取、转换、加载(ETL),报告和数据分析;2、可以使已经存储的数据结构化;3、可以直接访问存储在HDFS或者其他数据存储系统(HBase)中的文件4、它提供了类似sql的查询语句HiveQL对数据进行分析处理5、数据的存储格式有多种,比如数据源二进制格式,普通文本格式等。1.2hive的优势hive的强大...原创 2020-12-11 10:21:22 · 216 阅读 · 0 评论 -
mapjoin的使用方法以及注意事项
mapjoin的使用方法以及注意事项mapjoin的简介MAPJION会把小表全部加载到内存中,在map阶段直接拿另外一个表的数据和内存中表数据做匹配,由于在map是进行了join操作,省去了reduce运行的效率也会高很多,算是hive中的一种优化mapjoin的使用方法例如:select /*+ mapjoin(t)*/ f.a,f.b from A f join B t on f.a=t.a 前提b表是一张小表,默认25m的表是小表注意事项使用mapjoin时,一次性加载到内存原创 2020-09-10 10:51:50 · 13608 阅读 · 0 评论 -
使用sql对数据去重的几种方式
1.使用 DISTINCT 关键词在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。关键词 DISTINCT 用于返回唯一不同的值。语法:SELECT DISTINCT 列名称 FROM 表名称其中的一种使用方式:select t.a A,count(distinct t.b) Bfrom table_name t group by t.a2.使用row_number() over (partition by col1 order原创 2020-06-30 12:15:29 · 6996 阅读 · 0 评论 -
hive中的行转列以及列转行
列转行函数:concat_ws(’,'collect_set(column))说明:collect_list 不去重,collect_set 去重,column的数据类型必须为string,若不是可使用cast(column as string)进行转化col_lie.user_id col_lie.order_id104399 1715131104399 2105395104399 1758844104399 981085104399 24441431转载 2020-05-27 11:58:25 · 287 阅读 · 0 评论 -
dmp项目大数据平台规模及使用到组件
CDH集群使用到的所有角色集群配置集群上所有组件及其版本原创 2020-03-13 14:42:46 · 486 阅读 · 0 评论 -
数仓中全量表,增量表,快照表,临时表,拉链表区别
全量表全量表:大部分业务数据是使用全量表进行同步,全量表无分区,每天同步方式是直接删除数据在重新拉去全量数据,表中的数据是截止前一天中mysql中的数据。增量表增量表:是按天进行分区的分区表,今天将昨天新增的数据直接存放在昨天的分区中,每个分区都是存放的每天增量数据。快照表快照表:按天分区,每一天的数据都是截止前一天最新的数据。临时表临时表:为了解决某一个问题而建立的中间表。相当于是...原创 2020-03-12 14:10:28 · 5344 阅读 · 0 评论 -
hive中数据更新以及实现
问题hive暂时没有实现更新操作的,所以要更新数据就要通过自己手动进行更新。拿业务数据来说,使用sqoop脚本是可以直接把全量数据抽取到hive中,sqoop也有两种增量抽取数据的方法,一种是基于自增列,一种是基于时间列。可以参考:https://editor.youkuaiyun.com/md/?articleId=102798126。但是这两种方法里面是只可以把新增的数据拉去过来的,变化的数据是没有抽...原创 2020-03-12 13:30:04 · 14118 阅读 · 0 评论 -
hive建表时中文注释乱码解决办法
hive中show create table出现注释乱码的问题解决办法1、进入mysql,查看hive数据库当前编码show create database hive;2、如果是utf8 则执行下面sql将 hive 数据库默认编码改成 latin1alter database hive default character set latin1 ;3、执行下面sql ,修改 表...转载 2020-03-02 13:54:02 · 541 阅读 · 0 评论 -
数据仓库初识---举例解释
经过多年来企业信息化建设,大部分都拥有了自己的财务,OA,CRM 等软件。这些系统都有自己的独立数据库,记录着企业运行情况某个方面的数据。但是单独看这些系统的报表,并不一定能对企业运行情况有全面客观的了解。就像只凭身高不能判断一个人是否健康,所以体检的时候我们需要化验许多指标,做各种检测,就是为了对身体情况有更全面的了解,作出更准确的判断。同样对一个企业,不能仅根据出勤率就判断一个人的绩效高低,...转载 2019-10-12 17:48:00 · 526 阅读 · 0 评论