四月天03
这个作者很懒,什么都没留下…
展开
-
数仓(五):数据建模--ER模型/维度建模,概念模型/逻辑模型/ 物理模型
一、数仓建模的目标访问性能:能够快速查询所需的数据,减少数据I/O。数据成本:减少不必要的数据冗余,实现计算结果数据复用,降低大数据系统中的存储成本和计算成本。使用效率:改善用户应用体验,提高使用数据的效率。数据质量:改善数据统计口径的不一致性,减少数据计算错误的可能性,提供高质量的、一致的数据访问平台。所以,大数据的数仓建模需要通过建模的方法更好的组织、存储数据,以便在性能、成本、效率和数据质量之间找到最佳平衡点。二、关系模式范式关系型数据库设计时,遵照一定的规范要求,目的在于降低.原创 2021-04-22 14:14:14 · 14069 阅读 · 0 评论 -
数仓(三):分层设计 ODS-DWD-DWS-ADS
一、数仓建模的意义,为什么要对数据仓库分层?只有数据模型将数据有序的组织和存储起来之后,大数据才能得到高性能、低成本、高效率、高质量的使用。1、清晰数据结构:每一个数据分层都有它的作用域,这样我们在使用表的时候能更方便地定位和理解。数据关系条理化:源系统间存在复杂的数据关系,比如客户信息同时存在于核心系统、信贷系统、理财系统、资金系统,取数时该如何决策呢?数据仓库会对相同主题的数据进行统一建模,把复杂的数据关系梳理成条理清晰的数据模型,使用时就可避免上述问题了。2、数据血缘追...原创 2019-11-27 17:01:34 · 23100 阅读 · 4 评论 -
数据治理系列(一):元数据管理 、数据血缘数据管理:
2、HDFS的小文件合并成大文件前提:在实际项目中,输入数据往往是由许多小文件组成,这里的小文件是指小于HDFS系统Block大小的文件(默认128M), 然而每一个存储在HDFS中的文件、目录和块都映射为一个对象,存储在NameNode服务器内存中,通常占用150个字节。由于Hadoop擅长存储大文件,因为大文件的元数据信息比较少,如果Hadoop集群当中有大量的小文件,那么每个小...原创 2020-04-10 21:30:00 · 16428 阅读 · 6 评论 -
数仓(七):全量、 增量、缓慢变化维、拉链表
一、解决增量导入由于数据修改导致数据重复问题方案一:全量更新目标表只保留最新的一份,比如我们每天用sqoop抽取最新的一份全量数据到hive全量表全量表没有分区,表中的数据是前一天的所有数据,比如说今天是24号,那么全量表里面拥有的数据是23号的所有数据,每次往全量表里面写数据都会覆盖之前的数据,所以全量表不能记录历史的数据情况,只有截止到当前最新的、全量的数据。方式:每天drop掉前一天的数据,重新抽一份最新的。 优点:节省空间,一些普通的使用也很方便,不用在选择表的时候加一个时间分原创 2019-11-13 10:25:19 · 5578 阅读 · 3 评论 -
Hive 优化--SQL执行顺序、Hive参数、数据倾斜 、小文件优化
代码写的顺序:select ... from .a join b. on .. where.... group by... having... order by..msyql语句执行顺序 :from. join. on . where...group by... having.... select ... order by...hive 语句执行顺序大致顺序from...原创 2020-03-09 20:35:26 · 2630 阅读 · 0 评论 -
数据倾斜优化:sql大小表join、group等导致的
1、数据倾斜查看key分布的通用方案知道数据倾斜了,但无法获知数据倾斜的key信息,可以使用以下方法查看数据倾斜。假如select * from tba join tbb on tba.id=tbb.id;产生了数据倾斜可以执行如下语句来查看key的分布:select left.key,left.cnt*right.cnt from(select key,count(*) as cnt from tba group by key) left join(select key,coun原创 2020-08-12 19:21:29 · 1344 阅读 · 0 评论 -
Hbase统计、 hive中创建关联hbase的几种方案
Hbase统计表总行数的三种方式1. 使用HBase Shell自带的count命令统计:count 'hbase_table'2. 使用HBase自带的MapReduce统计工具统计行数;$HBASE_HOME/bin/hbase org.apache.hadoop.hbase.mapreduce.RowCounter3. 使用Hive创建外表关联HBase数据表,然后使用SQL语句统计查询;对于存在的hbase表,在hive中创建关联表,然后使用语句统计总行数#select co.原创 2020-06-02 18:00:36 · 590 阅读 · 0 评论 -
hive(spark-sql) -e -f -d以及传参数, sh并行
1. 使用“spark-sql -e”与“Hive”一样,Spark SQL CLI也支持“-e”参数spark-sql-e "insert intotable ***"Spark-SQL导出查询结果到 results.txtspark-sql --num-executors 100 -e "select * from table" > results.txt ...原创 2019-09-05 15:24:23 · 8858 阅读 · 2 评论 -
hive多任务并发同时插入目标表
1.业务上有需求需要并发读取多个来源表,然后插入到目标表,询问是否会有啥报错?2.第一感觉是可能会发生并发写报错,然后进行测试。3.准备数据1G(太少看不到过程),按行划分4.建立三张表test1.,test2,test3create table test1(id string);create table test2(id string);create table test3(id string);5.test1,test2为来源表,test3为目标表6.首先test1,tes原创 2021-10-20 17:44:14 · 2762 阅读 · 0 评论 -
hive 函数(内置函数、日期函数、窗口函数、自定义函数UDF)
hive 函数 自定义函数UDF原创 2019-03-03 11:46:17 · 1657 阅读 · 1 评论 -
sql案例分析:统计连续登陆、日活、蚂蚁森林、排名等
这样处理的结果是,相同的 group by key 有可能分发到不同的 reduce 中,从而达到负载均衡的目的;问题:假设2017年1月1日开始记录低碳数据(user_low_carbon),假设2017年10月1日之前满足申领条件的用户都申领了一颗p004-胡杨,剩余的能量全部用来领取“p002-沙柳”。问题:查询user_low_carbon表中每日流水记录,条件为:用户在2017年,连续三天(或以上)的天数里,每天减少碳排放(low_carbon)都超过100g的用户低碳流水。原创 2020-07-28 16:52:54 · 3710 阅读 · 2 评论 -
Hive把数据直接上传到分区目录上、hive表导入CSV文件时忽略首行、
表时,发现列头被当做数据导入到。向表中load数据过滤首行。原创 2022-08-17 19:34:30 · 1570 阅读 · 0 评论 -
hive原理及使用:建表、文件格式、外表、分区、分桶,删除数据、更改表的属性
1、什么是 metastore metadata 即元数据。包含 database、tabel、column names、partitions 信息、bucketing 信息等的元数据信息。 元数据默认是存储在 Derby 中,建议存储在关系型数据库中。 metastore 安装方式有什么区别内嵌模式 内嵌模式使用的是内嵌的 Derby 数据库来存储元数据,也不需要额......原创 2019-02-27 15:25:43 · 4048 阅读 · 0 评论