dw
blt328
大家好,我叫BLT,一名技术爱好者,目前从事数据仓库、BI、数据挖掘相关工作。更多技术文章请关注公众号:BLT328
展开
-
7-hive优化
1:按需取数正确脚本:select id from t_tab;错误脚本:select * from t_tab;所以查询数据如果只需要一两个字段,尽量不要用*,如果表为parquet列式存储,能很好的体现性能。2:在获取含分区的大表数据时,当使用关联时,如果将副表的过滤条件写在Where后面,那么就会先全表关联,之后再过滤select a.* from t_ta...原创 2020-04-01 19:53:50 · 222 阅读 · 0 评论 -
10-数据分析和应用体系化
在上次的数据分析中,我们的数据分析都是一个个很零碎的看数方式,没有一个整体的思想,如何指导我们一步步的深挖原因,找到问题点。比如在上次我们只是单独从客户、流向、作业来看成本,如果下次用户想到看客户+流向,或者流向+作业一起来看呢,此时我们又要重新做数据了,最大的问题是这种事情是经常发生的,如果不从一开始就体系化,有一个主导思想,这样我们开发在后续中会很被动,天天给用户临时开发和提数。如下图:...原创 2019-07-14 11:30:43 · 334 阅读 · 0 评论 -
7- ABC模型之分摊(实现)
分摊:就是对成本的摊销过程,依据动因占比进行分摊。分摊过程是有过程依赖的,即需要做完RR分摊才能做RA,RO分摊。如下图是一个正规的分摊过程。不过我们的案例省掉了RO分摊过程。在上图中,大家需要理解几个字母的意思。R:资源(成本)A:作业(生产过程的流程作业)O:对象(企业的产品或服务)RR分摊:就是资源到资源的分摊过程,一般是为了区分在同一网点同一资源下,服务不同的作业,...原创 2019-06-30 21:54:38 · 857 阅读 · 0 评论 -
8- ABC模型之分摊(检测)
在成本的分摊过程中,我们需要保证2件重要的事:一:每步的分摊过程保证正确无误,分摊前和分摊后的成本要相等,此时我们需要做些检测机制,对每步分摊建立5种子过程状态,1:理论分摊金额,在分摊前确认的成本。2:实际分摊金额,在分摊过程中,我是拿了多少成本在分摊的。3:已分摊金额,能分摊下去的成本,即找到业务量的。4:未分摊金额,不能分摊下去的成本,即找不到业务量的成本。5:重复分...原创 2019-07-07 09:38:37 · 412 阅读 · 0 评论 -
1- hive和sqoop组件介绍
Hive:Facebook为了解决海量日志数据的分析而开发了Hive,后来开源给了Apache软件基金会。Hive是一种用类SQL语句来协助读写、管理那些存储在分布式存储系统(hadoop)上大数据集的数据仓库软件。Hive的特点:1:通过类SQL脚本执行大数据平台数据读取和写入以及数据分析,避免开发人员需要写复杂的mapredurce程序,让数据分析人员专注他们的分析工作。2:非富的...原创 2019-07-28 23:15:46 · 653 阅读 · 0 评论 -
3- hive语法
1.创建内部表和外部表。内部表和外部表的区别是,内部表在删除表后,会对表存储所在的数据目录也做删除操作,外部表删除后则不会删除数据所在的目录。外部表语法:drop table if exists t_abc_dept;create external table t_abc_dept(dept_id int comment '机构id ',d...原创 2019-08-25 20:53:05 · 134 阅读 · 0 评论 -
4- sqoop语法
Sqoop的安装很简单,直接解压配置相关hdfs信息,另外一个重要的是与关系库的驱动包,如果是oracle则要ojdbc14.jar,classes12.jar包,如果是mysql则要mysql-connector-java-5.1.32-bin.jar,为了方便大家下载可以直接到下面地址下载后,放到sqoop安装的lib目录下。百度网盘:https://pan.baidu.com/s/17b...原创 2019-08-25 20:54:08 · 141 阅读 · 0 评论 -
6- ABC迁移大数据2
1.存储过程迁移方法:存储过程的迁移我们直接用单个的HQL脚本里进行逻辑的迁移,需要注意的点是,在过程里有一些不需要落地的临时表(先delete再insert),以及最终的结果表需要落地(先delete再insert)。如下图:在HQL脚本里,临时表(删除表后再重建表),结果表覆盖方式重写指定分区数据(overwrite)。如下图:2.包迁移方法:包的迁移,我们可以理...原创 2019-09-22 09:40:48 · 165 阅读 · 0 评论 -
9- ABC模型之数据分析和应用
ABC模型计算好成本数据后,我们需要应用成本数据,在之前,我们有提到过项目的目标。一:利润分析,在没有ABC成本之前,我相信要分析产品的利润,流向的利润,客户的利润是做不到的,哪现在我们来分析下这几个维度的利润。1:产品利润分析:select to_char(a.rec_dt, 'YYYYMM') month_code, a.prod_code, a...原创 2019-07-14 11:29:23 · 604 阅读 · 0 评论 -
6- ABC模型之动因
动因是反应成本消耗的因子,用于成本分摊计算。因动分为单一动因和复合动因。比如A,B,C去吃大餐,花费了300元,如果AA制,则每人动因占1个人,分摊后每人出100元,这就是单一动因,其实这样还是不太公平,A和B很自律,一直保持好身材,只吃一点点并且只吃素菜,C是一个体重150斤以上了,对形象无所谓了,吃的多又只吃肉,如果还按AA制,对A,B不太好,为了体现公平,他们3人达成一致,A,B每人占一...原创 2019-06-27 14:17:38 · 777 阅读 · 0 评论 -
5- ABC模型之业务建模
业务建模是最关键的一个环节,如何真实的反应业务流程,让成本更精确的分摊到对应的服务对象上,这个过程需要业务的专家和负责人,业务系统的产品经理、工程师都需要加入进来,并且共同讨论和决策,让业务加入是确定成本的分摊是否合理,各个利益部门是否达成共识,让技术加入是讨论数据和系统是否支持。在建模过程我们需要尽量做到抽象而标准,就是前面我们所说的,相同的网点类型做相同的事,抓主要放次要,比如在网点上我们...原创 2019-06-16 12:46:13 · 704 阅读 · 0 评论 -
6-dw_元数据管理
元数据是帮助用户和技术人员对数据仓库里的数据理解,可以分为技术元数据和业务元数据。技术元数据包含:1:模型定义定义数据仓库里各各种模型的功能,包括数据的口径,各个字段的含义,使用范围,出数时间和频率。2:血缘定义模型里的源头数据来源,ETL同步方式,时间,频率,各个系统和表的上下游关系。3:ODS定义模型里的源头表的源系统名称,技术负责人,源头表数据逻...原创 2019-05-19 19:30:29 · 411 阅读 · 2 评论 -
3-dw_缓慢变化维
上次我们理解了维度表,哪什么是缓慢变化维呢,比如我们有这样的一个场景,A客户在4月份的时候归属于X部门,在5月的时候归属于Y部门,如果A客户的销售额需要体现归属部门的变化关系。此时就需要用到缓慢变化维了。如下图就是对客户表的一个缓慢变化。上面设计就是对每个月把客户生成一份数据,但如果我们的客户有100万个呢,每月生成一份,一年后就有1200万了,这样导致数据量会很大,在关联的时候会严重影响...原创 2019-05-09 21:16:16 · 156 阅读 · 0 评论 -
4-dw_退化维
目前是一个数据爆炸时代,数据量增长很快,很多的一些维度表数据量大到足可以影响到你的报表展示,比如一些企业的客户维度表,产品维度表等。我们拿客户维度表来说,在客户维度表中,我们有客户代码,客户名称,月结客户代码,月结客户名称等,见如下图:在有一些大客户上,他们很多分公司,所以在业务往来的时候都是跟分公司进行合作的,但是在费用结算这块,又是跟这些大客户的总公司进行费用结算的,就像上面数据,...原创 2019-05-12 21:42:07 · 248 阅读 · 0 评论 -
2-dw_事实表、维度表
事实表:记录公司的一笔正常的业务数据,需要提供4W,什么时候(When)在什么地方(Where)有哪些人(Who)做了什么事(What)。为了方便后续分析,在设计事实表的时候,我们应该尽可能的提供详细的维度信息和度量信息。比如我们在谈一家物流公司的数据仓库的时候,如何去设计落地一个事实表,我们按以下过程来落地。1:用户的目的:首先我们需要知道用户的目的,以价值为导向,解决用户的问题,这时用...原创 2019-05-12 21:44:22 · 490 阅读 · 0 评论 -
5-dw_星型模型和雪花模型
星型模型:由一个事实表连接多个维度表,图形显示像星星一样,在维度表上存在一定的数据冗余,如下图:在上图中,我们的客户维表,对客户存储的省、市、县是有对数据一定的冗余,为了解决这个问题,设计出来的雪花模型。雪花模型:为了减少数据的冗余,在星型模型的基础上,对维度表增加了维度,以减少数据冗余。如下图:在上图中,我们对县、市、省在客户维表去掉,增加了行政维表,在客户维表中只存放了行政...原创 2019-05-26 11:06:02 · 405 阅读 · 0 评论 -
1-财务数据解决方案介绍
在接下来的分享里,我会讲解财务数据建模在企业中的应用,以及解决方案。在企业里,是很难准确的核算公司产品的成本,主要体现在以下几点:1):财务核算是按科目核算的,无法核算到产品上。比如薪酬这个成本在核算的时候是不能记录到产品的。2):非直接产品消耗的成本部门费用如何体现到产品上,比如一些后勤支持部门,非生产和销售部门等这些成本如何核算到对应的产品上。3):同一个部门或同一个岗位的人员...原创 2019-05-30 20:51:38 · 289 阅读 · 0 评论 -
2-物流和快递行业ABC模型
下图是一个简单的快递物流生命周期,描述了整个快递物流环节过程,以及主要的作业环节。快递路由:客户寄一个快递通过收件->支线运输到中转场->飞机、陆运、铁路等->目的地中转场->派件。网点类型:每个机构的职责不一样,相同类型的机构做相同的事,如果一个企业机构庞大,我们则需要对机构就进归类,抽象出他们的作业,方便模型建模,在上面我们定义了营业点、中转场这2种类型的机...原创 2019-05-30 20:52:47 · 1107 阅读 · 0 评论 -
3- ABC模型之资源
资源就是公司的成本,财务采用记账方式录入公司的成本项,按科目细分到各个费用项,但我们的ABC项目在分析和应用时,并不一定需要这么细粒度,所以就需要做一个归类。如何归类,就需要跟据公司的费用花费形和管理方式来定义了,总体可以按下面方法来归类:1:按公司管理层关注的细粒度划分,比如老板比较关心公司的人工成本,运输成本,设备成本,管理成本等等。此时我们就需要把相关的工资、社保、福利等费用归到人工成本...原创 2019-06-09 23:01:11 · 553 阅读 · 0 评论 -
1-dw_数据仓库
此系列主要是讲数据仓库的实战。主要包括如下1:数据仓库的概念、事实表、维度表、缓慢变化维,退化维。2:星型模型设计、雪花模型设计。3:数据仓库元数据治理。4:实战经验在公司和企业里一般会有很多的业务系统,比如像销售、财务的、人资等各个部门都有自己为了开展工作或业务需要的系统,正常每个部门的系统都是独立的,如果确实需要别人系统里的数据也是做一个接口来访问,互相之间的数据交互很少,...原创 2019-05-04 11:23:03 · 427 阅读 · 0 评论