自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

转载 事实表的分类:事务事实表,周期快照事实表,累计快照事实表

但是它们之间也有着很大的不同,周期快照事实表记录的确定的周期的数据,而累积快照事实表记录的不确定的周期的数据。周期快照事实表的粒度是每个时间段一条记录,通常比事务事实表的粒度要粗,是在事务事实表之上建立的聚集表,比如说时间周期是1周,那么这个周期快照事实表的一条记录就是这一周的对于某个度量的统计值(我理解的)。周期快照事实表记录的是重复的可预测到的时间间隔的事实,例如帐户月结余事实表,用来记录每个月末的帐户结余信息。事务事实表的日期维度记录的是事务发生的日期,它记录的事实是事务活动的内容。

2023-03-09 08:09:29 460

原创 HIVE的压缩和存储格式

在生产环境中,常用的HIVE存储格式:列式存储的orc和parquetHIVE压缩格式:冷数据-----gzip压缩(压缩比高,压缩解压缩速度高,不可切割); 非冷数据------lzo(可切割)和snappy(不可切割)案例:student表存储方式是ORC,压缩方式SNAPPYcreate table student (empno int,empname string)stored as orctblproperties("orc...

2022-05-10 13:50:59 1894

原创 hive中的优化,只涉及参数

目录一、大小表join二、group by的优化三、小文件进行合并四、设置合理的reduce个数五.让复杂文件增加map数六、并行执行七、JVM重用一、大小表join开启MapJoin参数设置(1)设置自动选择Mapjoinset hive.auto.convert.join = true; 默认为true(2)大表小表的阈值设置(默认25M一下认为是小表)set hive.mapjoin.smalltable.filesize=25000000;

2022-04-24 21:41:57 1755

原创 hive中窗口函数与其他函数的组合

一.与lag,lead,ntile函数的结合1.lag(col,n,default_val):取前第N行数据,窗口中的数据必须是有序的2.lead(col,n,default_val): 取后第N行数据,窗口中的数据必须是有序的案例:查询每个顾客上次和下次的购买时间select name,orderdate,cost,lag(orderdate,1) over (partition by name order by orderdatte) lag_date,lead(orderdat

2022-04-23 12:58:55 255

原创 hive中函数--一个数组值转为多行;多行的值变成一个数组

1.多行转换为一行的函数collect_list,collect_setcollect_list:不去重,多行变成一行,实际上就是变成一个数组collect_set:去重2.concat_ws将数组中的值用指定分隔符拼接起来2.一行转成多行explode(col):将hive一列中复杂的array或者map结构拆分成多行lateral view用法:lateral view udtf(expression) tablealias as columnalia..

2022-04-23 09:18:23 2062

原创 hive合并小文件

小文件的危害1.小文件过多,占用HDFS中namenode的内存2.小文件过多,启动过多的maptask,maptask的启动和调度消耗很多内存和时间,启动时间比job执行时间还长针对问题2的解决方案1.输入合并小文件,减小map数方式1:通过设置参数来合并小文件set mapred.max.split.size=256000000; 每个MAP最大输入大小set mapred.min.split.size.per.node=100 000 000; 一个节点上split的至少的

2022-04-22 11:31:23 1749

原创 BIEE记录

BIEE中表示变量和服务器变量的使用1.表示变量的使用累计(1~所选月份),季度(当季的首月~所选月份),当月(所选月份)2.服务器变量的使用3. 提示器中的某个变量选与不选走两套逻辑,在分析中的写法...

2022-03-30 08:22:07 153

原创 数仓使用hadoop distcp同步生产环境的数据到测试环境

1.ODS/DWD---分区表同步数据#!/bin/bashsource /etc/profilesource ~/.bash_profiletoday=`date --date='0 days ago' "+%Y-%m-%d"`yesterday=`date --date='1 days ago' "+%Y-%m-%d"`#先删除分区数据impala-shell -B -u hive -q "alter table ods_out_cy drop partition(dt&lt

2022-03-09 17:14:50 2048 1

原创 计算本期,上期,同期,同期累计,去年全年的指标

基本思想:基于时间维度来发散数据1.时间维度表select month_wid,--月份year_wid,--年份month_ago_wid,--上期year_ago_wid,--同期month_start,--月份开始month_end--月份结束from dwd_d_month;2.本期指标时间维表的使用select '本期' as month_flag,month_wid as month_wid,month_wid as period_start,

2022-03-07 20:01:38 2023

原创 sqoop抽数、推数(关系型数据库:oracle; 数仓:impala)

1.从Oracle抽数到impala#!/bin/shsource /etc/profilesource ~/.bash_profilesqoop import --connect jdbc:mysql://ip:3306/数据库名称 \--username 用户名称 --password 密码 --table '表名' \--columns 'columns1,colums2,colums3' \--target-dir /FINBB/ODS/表名 \--dele...

2022-03-07 11:21:29 3088

原创 biee 分析中区域条件的使用

1.新建一个分析:数据如下当月 1 累计 1 累计 1 分析如下:该分析主要是用来统计当月和累计两种类型的数据条数2.2个分析中--区域--条件的使用案例当月的设置如下:累计的设置为:3.提示器中的使用案例...

2021-11-09 14:47:00 117

原创 impala部分内容汇总

-------------------------------查看表结构的相关信息---------------------------------------------1.查看表结构describe 数据库名称.表名;2.查看表的具体信息describe formatted数据库名称.表名;3.查看表有哪些分区show partitions数据库名称.表名;4.查看建表语句show create table数据库名称.表名;-------------------...

2021-10-18 21:29:04 2860

原创 sql语句中全关联的再认识

问题描述:根据当年和去年的收入,对用户的状态(新客户,老客户,流失客户)进行打标;逻辑:收入去年>0 and 收入当年=0 -------------->流失收入去年>0 and 收入当年>0 -------------->老客收入去年=0 and 收入当年>0 -------------->新客去年数据的展示:当年数据的展示:根据逻辑判断2018年:B、C...

2021-10-18 16:02:35 1207

原创 oracle表空间

1.Oracle建表空间的语句create smallfile tablespace "DATA1"DATAFILE 'D:\ORACLE\ORADATA\ORCL\DATA1_01.DBF' SIZE 100M REUSEAUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED--表空间自动扩展100MLOGGINGEXTEND MANAGEMENT LOCAL--区的管理方式:本地SEGMENT SPACE MANAGEMENT AUTO--段的管理方式:自动2.查看

2021-08-29 18:26:34 242

原创 PGA整理

1.查看每一个PGA能分配到的最大内存的命令select ksppinm "name",ksppstvl/1024/1024||'M' "value",ksppdesc "desc"from x$ksppi x,x$ksppcv ywhere x.indx=y.indx and x.ksppinm='_pga_max_size';2.查看每个进程中PGA的使用情况命令:select spid,program,pga_max_mem,pga_alloc_mem,pga_used_me..

2021-08-28 20:14:24 121

原创 杂记111111111111111

1.oracle体系结构2.Oracle管理精通3.sql4.备份恢复5.Oracle rac6.调优主机调优存储调优网络调优db调优应用调优7.灾备 goldengate dataguard sharepelx14.数据字典:v$动态性能视图 静态性能视图:dba_:所有视图 all_:可访问的对象...

2021-08-24 23:43:23 76

原创 Oracle语句的执行顺序

查询语句的执行顺序:1、FROM 子句:执行顺序为从后往前、从右到左。数据量较少的表尽量放在后面。2、WHERE子句:执行顺序为自下而上、从右到左。将能过滤掉最大数量记录的条件写在WHERE 子句的最右。3、GROUP BY:执行顺序从左往右分组,最好在GROUP BY前使用WHERE将不需要的记录在GROUP BY之前过滤掉。4、HAVING 子句:消耗资源。尽量避免使用,HAVING 会在检索出所有记录之后才对结果集进行过滤,需要排序等操作。5、SELECT子句:少用*号,尽量取字段名称。OR

2021-08-23 12:22:11 5395

原创 分析函数的再认识

1.分析函数的语法function_name() over(partition by(分组子句) order by(排序子句) rows/range/(窗口子句))over( ):开窗函数partition by:分组子句,数据分组order by:排序子句,数据排序窗口子句:定义分析函数在操作行的集合,三种开窗方式:rows、range、Specifying注意:有窗口子句一定要有排序子句2.以sum(字段名)为例,max,min,count,avg含义一致案例1:...

2021-08-22 10:36:16 83

原创 pivot,unpivot的认识

1.pivot函数PIVOT(任意聚合函数 FOR 列名 IN(类型)) 其中,【聚合函数】聚合的字段,是需要转化为列值的字段;【列名】是需要转化为列标识的字段,【类型】即是需要的结果展示,【类型】中可以指定别名;IN中还可以指定子查询。案例:select * from (select name,subject,score from stu_tmp)pivot(sum(score) for subject in ('语文' ,'数学' as math,'英语',...

2021-08-21 10:00:44 826

原创 Oracle中的exists和in的再认识

一、exists和in的案例1.in属于非关联子查询select * from scott.emp a wherea.empno in (select b.empno from scott.emp b);2.exists属于关联子查询select * from scott.emp a whereexists (select 1 from scott.emp_tmp b where b.empno=a.empno);二、exists和in的执行逻辑1.in的执行逻辑:先执行子查.

2021-08-15 22:51:32 689

原创 oracle中v$sql,v$sqlarea,v$sqltext记录

v$sqltext:表中的信息比较简单,主要是sql的id,hashvalue,address,以及sql语句(SQL被分割为多行存储)。按piece字段的顺序拼接sql_text字段代表完整的sql语句select a.ADDRESS,a.HASH_VALUE,a.PIECE,a.SQL_TEXTfrom v$sqltext agroup by a.ADDRESS,a.HASH_VALUEorder by a.ADDRESS,a.HASH_VALUE,a.PIECE;v$sql :...

2021-08-14 19:45:30 2352

原创 oracle伪列rownum和rowid

rowid:唯一标识记录的物理地址,真实存在,不会改变rowid:在更新;查找,删除重复记录时,经常使用一.查找1、查找有重复数据的记录(使用count来统计)select empno from emp_tmp group by empno having count(*)>1;select * from emp_tmp a where a.empno in(select empno from emp_tmp group by empno having count(*)>

2021-08-14 09:11:36 137

原创 oracle创建dblink语法

CREATE PUBLIC DATABASE LINK db_link_name CONNECT TO username IDENTIFIED BY password USING '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST =IP)(PORT =port )) ) (CONNECT_DATA = (SERVICE_NAME = db_name) ) )';参数...

2021-08-13 15:20:45 230

原创 oracle基本命令

1.显示当前登录系统的用户名:showuser2.查看用户状态:selectusername,account_status,expiry_datefromdba_user;3.创建用户:create user 用户名 identified by 密码;4.修改用户密码:alter user 用户名 identified by 密码;5.解锁帐户alteruser用户名 accountunlock;6.登录Oracle数据库:conn 用户名/...

2021-08-13 15:02:47 41

转载 EBS --PO采购订单

采购订单:主要包括订单头,订单行,发运行,分配行一、采购订单(路径:PO/采购订单/采购订单)1、po_headers_all 采购订单头表 ,记录向哪个供应商买东西主要信息:agent_id 采购员,poh.segment1 订单编号,poh.po_header_id 订单头id,poh.vendor_id 供应商id ,poh.vendor_site_id 供应商地点,poh.terms_id 账期,poh.type_lookup_code 订单类型...

2021-08-09 16:47:42 1701

转载 OracleEBS:追踪PO全过程:

1.创建POPO_HEADERS_ALLselect po_header_id from po_headers_all where segment1=;select * from po_headers_all where po_header_id=;po_lines_allselect *from po_lines_all where po_header_id =;po_line_locations_allselect *from po_line_locations_all where po_he.

2021-08-09 16:36:57 1334

转载 EBS常用表

fnd_user --- 系统用户表po_vendors --- 供应商信息表po_vendor_sites --- 供应商地点信息表hr_organization_units --- 组织及库存组织表per_people_f --- 员工表wip_entities --- 作业名信息表wip_discrete_jobs --- 离散作业表wip_requirement_operations --- 作业名物料需求发放表po_headers_all --- 采购订单头表p

2021-08-09 14:15:47 1530

转载 hive求解中位数的几种方法

前言两种解法解法1:利用中位数的位次特征解法2:利用升序与降序的差值解法2.1:延伸问题:频次+分数参考文章前言假设我们有一张学生成绩表student_score,里面有三个字段:学生id:student_id,班级id:class_id,成绩:score,主键为student_id。现在让你求出每个班级学生成绩的中位数。虽然hive里有内置的percentile()和percentile_approx()函数直接求解分位数,但在面试中,面试官老爷大概率不会让你直接就这么写,而是在你

2021-08-09 11:06:14 3154

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除