![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数仓
闻香识代码
这个作者很懒,什么都没留下…
展开
-
Kylin 3.1.0架构
Kylin 3.1.0架构背景在OLAP分析中经常会有如下概念事实,维度(这其实说的是事实表和维度表)度量,指标(这说的其实都是指表的列,维度就是从哪些角度对数据做分析,需要分析查看的维度就是度量)cube,顾名思义,就是一个立方体,不过由于实际OLAP中,不可能只有四个维度,所以实际上是指代多维立方体。本质就是一个多维数据集,包含维度和度量。详情可以看我关于OLAP的一篇博客下钻:从更细粒度的维度值角度探索数据(如时间维度,按天粒度查询销售额)上卷:从更粗粒度的维度值原创 2020-11-04 11:28:37 · 232 阅读 · 0 评论 -
大数据数仓之报表开发
大数据数仓之报表开发1. 背景在大数据开发中,主要的数据分析目的可以分为2类。一类是基于历史数据(就算是实时数仓,接收到数据的时候,其实也已经是历史数据了)做数据规律或者结果提取;一类是基于历史数据,训练模型,做未来数据预测或者分类等。如果是前者,基于已有数据做数据规律和数据结果提取,这时候就可以称之为报表开发。参考神策系统,报表开发可以划分固定维度报表开发,一定维度自由组合报表开发,自由维度报表开发。固定维度报表开发,一般是一些固定指标,但会加一些固定维度,典型的如年,月,日等一定维度内自原创 2020-11-03 22:54:30 · 6815 阅读 · 1 评论 -
大数据数仓之OLAP总结(一)
大数据数仓之OLAP总结(一)1. 背景在企业生产中,由于现有商业环境和业务越来越复杂和庞大,没有准确及时的数据支撑,在做企业经营决策和分析时,是无法得到很好的现实反馈,甚至会导致企业经营失败,项目关闭,公司破产。现有企业中,各个部门密切合作,运营,销售部门对接客户,技术部门做技术支撑,老板根据业务数据做企业决策。在这个过程中,如何快速,准确获取企业经营相关各类数据就显得非常重要。而随着互联网,特别是移动互联网发展,联网用户越来越多,企业业务一旦涉及到互联网,所需要处理分析的数据剧增,这时候如何从这原创 2020-11-03 22:02:23 · 938 阅读 · 1 评论 -
大数据开发之机器学习总结(数学知识)(三)
大数据开发之机器学习总结(三)机器学习基础数学知识5. Spark MLLib简介6. 模型评估7. Spark MLlib算法案例8.原创 2020-10-31 21:16:55 · 264 阅读 · 0 评论 -
Hive数据导入到HBase
Hive数据导入到HBase1. 背景作为一个数据处理框架,hive本身并不计算和存储数据,计算引擎一般是mapreduce,tez,spark,数据存储则是在hdfs中,元数据一般在mysql中。hive将数据计算处理之后,如果数据结果需要对外提供并且有秒或亚秒级别的访问速度,并且跟hadoop生态有较好的兼容性,则hbase是一个很好的选择。当然实际上只是数据存储,mysql,elasticsearch,clickhouse都可以胜任亚秒级别的数据访问性能。当业务需要,将hive数据导入hba原创 2020-10-27 23:06:25 · 4458 阅读 · 0 评论 -
Kylin 3.1.0新版本安装教程
Kylin 3.1.0新版本安装教程1. 背景在大数据开发中,数据处理一般分为离线和实时数据处理。而在离线数据处理中,数据需求从指标维度来看,又可以进一步划分:固定维度灵活多维度(维度最大数量固定,但维度之间会有组合)唯独不确定针对上述灵活多维度(维度最大数量固定,但维度之间会有组合),传统上可以使用hive,spark sqll等计算引擎做数据分析处理。如hive有with cube,grouping sets,roll up来做多维度计算处理。但数据计算处理之后为了保证数据查原创 2020-10-27 22:09:22 · 1217 阅读 · 0 评论 -
数仓建模和业务建模对比总结
数仓和业务建模对比总结1. 背景在大数据开发中,整个流程是数据采集,数据存储,数据传输,数据计算,数据展示。在这个过程中数据存储和数据计算是最关键2个环节。数据存储整体最关键就是各个数据库和表关系设计,这一点和业务数据库设计是一样,需要考虑数据读写方便,后续扩展方便,还需要保证性能可以满足现在以及未来一段时间的需求。本文就是讲述关于数仓建模的一些理解和实践经验分享。从大到小进行设计。2. 整体建模思路在学术界,数仓整体建模思路有2大类,一种是Bill Inmon的自上而下。另外一种是Ral原创 2020-10-27 21:41:00 · 960 阅读 · 0 评论 -
数仓 建模思想之星型模型、雪花模型、星座模型
数仓 建模思想之星型模型、雪花模型、星座模型1. 背景在大数据开发中,数据一般是分为事实表,维度表,实体表等表。事实表顾名思义就是记录实际发生的事情如订单表,优惠券使用表等等。维度表,顾名思义,就是一个信息有多个维度,记录这些维度值的表。如日期,产品类目等等。一般会有一个id,以及id对应的各种维度具体信息。注意,数仓建模主要就是将数据如何以数据库和表为单元,尽可能科学有效存储,方便后续的查询,分析,使用。在这个过程中,如何保证数据查询便捷性,性能,降低空间存储冗余度都是需要仔细考量的。注原创 2020-10-24 21:25:46 · 1266 阅读 · 0 评论 -
数仓 用户画像
数仓 用户画像1.背景在数仓开发中,主要目的就是2个,一个是基于现有数据提炼出规律和信息,一个是基于现有数据训练模型,然后预测未来的数据。用户画像属于前者,但由于画像的特殊性,如果一个人的画像标签较多,较完善,其实可以一定程度预测其未来行为规律。具体可以看《夏洛克》中的心理侧写,就是一样的道理,一个人有哪些特质,喜爱,偏好,憎恶等等,就可以一定程度预测这个人在某个场景下的行为规律。用户画像中,需要使用标签来给用户打标签,如果需要完整画像,还需要有模型来给各个标签一定权重,一定的算法。标签可以原创 2020-10-24 20:45:53 · 1750 阅读 · 1 评论 -
数仓 拉链表
数仓 拉链表1. 背景在数仓开发中,有时候需要记录下数据的所有历史状态,大家是否想起来,其实企业开发中代码也是有这个需求,公司中的需求文档,设计稿也都是有这个需求的。在大数据场景中,其实很多数据存储框架,都会对数据加版本,这是由于数据存储本身机制导致的。例如HBase,kafka都是有数据版本的。因为这些数据存储到磁盘时,是采取顺序写入,这样写入速度很高甚至可以达到内存随机读写的速度。不过带来的坏处就是不能像正常的数据写入更新同一条数据,而是写入一条新的数据,等到一定时机,再对这些数据做合并。而在原创 2020-10-23 22:22:34 · 567 阅读 · 0 评论 -
数仓 DW层 用户固定漏斗分析主题
数仓 DW层 用户固定漏斗分析主题1. 背景在app业务和流程设计中,页面和页面之间,流程和流程之间的每个环节并不是100%流转下去的。例如大家使用购物App,从商品详情页到下单页面,到支付页面,中间可能随时因为各种原因跳出。这时候就涉及到漏斗分析,也就是分析这些环节之间的转换率。在当今快节奏开发,推崇敏捷开发时代,不管是什么app,都不会一开始就做成尽善尽美,反而只会有核心功能,然后接入比较完整的数据分析和观察工具后,每个迭代周期根据线上数据分析和用户反馈进行迭代优化。这样就可以使用2周一个迭代的原创 2020-10-23 21:35:21 · 438 阅读 · 0 评论 -
数仓 DW层 用户留存分析主题
数仓 DW层 用户留存分析主题1. 背景在app运营和产品设计中,一般都是拉新和留存2个最关键指标来衡量对用户的吸引力程度。拉新,顾名思义, 拉新用户进来留存,顾名思义,让用户留下来,这里面有老用户也有新用户。从运营策略和效果来看,其实留住老用户的效果和成本都会比留住新用户更高,但在资本冲击之下,如果资本足够,往往会将资源往新用户上倾斜,这也是目前大数据杀熟被很多人吐槽的原因–老用户不再被重视和尊重。PS:在互联网的今天,固定类型的互联网群体其实已经差不多到顶了,也就是中国所有可以上网的人基本固原创 2020-10-23 20:53:23 · 982 阅读 · 1 评论 -
数仓 DW层 用户活跃度分析主题
数仓 DW层 用户活跃度分析主题1. 背景在大数据分析行为日志数据中,很多时候需要分析用户活跃度,这是判断业务健康程度和发展趋势的一个重要指标。当用户活跃度低的时候,就需要分析原因,改善或者添加功能,让用户活跃起来。这也是为什么支付宝一直想做社交的原因,也是为什么现在开始在支付宝内做各种业务,做小程序平台的原因。其实从侧面来看,运营一个app就跟运营一个商场一样,先把名气打起来,增加用户流入(新增用户,DAU等指标),然后留住用户(用户漏斗),然后想办法增加订单交易额(GMV)。如果可以,还需要建原创 2020-10-23 20:24:54 · 456 阅读 · 0 评论 -
数仓 DW层中主题表之站外广告分析主题
数仓 DW层中主题表之站外广告分析主题1. 背景在大数据开发中,本身的数据处理分析目的一般就是2类,一个是基于现有数据找出规律,做总结和分类统计。一个是基于现有数据找出规律,然后训练出模型,最后预测未来变化。前者就是传统的大数据分析和处理后者就是近几年火起来的机器学习大数据处理中,数据来源一般是三大类,爬虫数据,行为日志埋点数据,业务数据。当然特殊场合还会有购买来的线程数据。行为日志数据中,顾名思义,一般就是对用户行为记录的数据,由于目前都是互联网迭代敏捷开发,一个功能出现后,并不能很原创 2020-10-23 19:51:49 · 319 阅读 · 0 评论 -
数仓 DW层中主题表之广告分析主题
数仓 DW层中主题表之广告分析主题1. 背景在大数据分析中,爬虫数据,行为日志数据,2. 案例所需要指标原创 2020-10-23 17:15:39 · 935 阅读 · 0 评论 -
数仓 DW层中主题表之页面交互事件概况主题(分享,点赞,收藏)
数仓 DW层中主题表之页面交互事件概况主题(分享,点赞,收藏)1. 背景在大数据开发中,本身的数据处理分析目的一般就是2类,一个是基于现有数据找出规律,做总结和分类统计。一个是基于现有数据找出规律,然后训练出模型,最后预测未来变化。前者就是传统的大数据分析和处理后者就是近几年火起来的机器学习大数据处理中,数据来源一般是三大类,爬虫数据,行为日志埋点数据,业务数据。当然特殊场合还会有购买来的线程数据。行为日志数据中,顾名思义,一般就是对用户行为记录的数据,由于目前都是互联网迭代敏捷开发,原创 2020-10-23 16:27:06 · 528 阅读 · 0 评论 -
数仓元数据管理之Atlas 整合hive HBase Sqoop(2.1.0)
数仓元数据管理之Atlas 整合hive和HBase(2.1.0)1. 整合Hive配置了hive的钩子后,在hive中做任何操作,都会被钩子所感应到,并以事件的形式发布到kafka,然后,atlas的Ingest模块会消费到kafka中的消息,并解析生成相应的atlas元数据写入底层的Janus图数据库来存储管理;修改hive-env.shexport HIVE_AUX_JARS_PATH=/opt/apps/apache-atlas-2.1.0/hook/hive修改hive原创 2020-10-22 21:18:30 · 1637 阅读 · 3 评论 -
数仓元数据管理之Atlas web UI以及自定义开发(2.1.0)
数仓元数据管理之Atlas web UI以及自定义开发(2.1.0)1. 背景数仓开发中,当数据库,表比较多,又需要进行这些表,数据库的元数据管理和梳理时,就需要使用到元数据管理工具。atlas就是一款数仓中元数据管理框架,但由于是开源框架,本身并没有将所有企业开发中需要涉及到功能都提供,剩余部分需要自行根据需求开发,所以提供了基本的web页面和功能(个人认为就是演示使用),以及API,可以让企业按照自身需求做开发。2. web uiApacheAtlasUI功能包括4部分create原创 2020-10-22 20:56:59 · 1730 阅读 · 0 评论 -
数仓元数据管理之Atlas安装配置及原理(2.1.0)
数仓元数据管理之Atlas安装配置(2.1.0)1. 背景当开发数仓,遇到数仓中表,数据库太多,无法很好理清楚这些表之间的关系,作用时,就需要使用元数据管理框架来处理了。atlas就是数仓中做元数据管理的框架个人经历,日活百万的app,ods层算上行为日志表和业务表大概40–50张,数据量比较多.DW层,因为有DWD和DWS,增加了主题表,聚合表,各类需求初步聚合表,到了100多接近150张表,并且随着业务迭代,数量还在提升。加上需求变更,此前的旧表无法满足要求,新表不断创建,增加更快。原创 2020-10-22 20:30:51 · 1163 阅读 · 1 评论 -
数仓元数据管理之Atlas简介与编译(2.1.0)
数仓元数据管理之Atlas1. 背景在数仓开发中,由于数仓一般都会对数据做分层,ODS、DWD、DWS、ADS。每一层都会有众多数据库和数据库表,如果需要对这些数据库和表有一个较清晰梳理,仅仅使用文字,文档等工具管理是比较繁琐且低效的。为什么需要对数仓中表和数据库做管理,因为当业务数据较多,业务变得复杂,并且数仓跟随业务迭代半年到一年之后,加上人员流动,文档不齐全等原因,数仓中表,数据库及其之间关系就会变得很难直观理解,很难梳理出清晰关系。这对于后续的数仓开发和维护是很不利的。前期很多公司一般不会原创 2020-10-22 19:48:30 · 920 阅读 · 0 评论 -
数仓 DW层中主题表之页面浏览会话聚合表(PV、UV及其扩展指标统计以此表为基础)
数仓 DW层中主题表之页面浏览会话聚合表1. 背景在大数据数仓设计中,数据一般划分层级从底到顶一般是是DIM维度表、ODS贴源层、DWD数据明细层、DWS数据服务层、ADS应用服务层DW层中的数据一般存放有三个大的思路一种是聚合各种维度表,这样就可以制造出大宽表,后续更高层级或者即席查询框架如kylin、presot等查询起来会很便利一种是进行聚合,一般是按照主体或者维度进行聚合。注意这种聚合一般不会做很高层级的聚合,只是做初步聚合。一种是按照业务需求来,没有固定套路。(这种不同公司不同项原创 2020-10-20 22:07:15 · 1410 阅读 · 1 评论 -
数仓之新老访客标记实现
数仓之新老访客标记实现1. 背景在数仓的处理需求中,当对数据做了设备和账号绑定处理,也就是id mapping处理之后。接下来的一个基础需求之一就是新老访客标记。注意,将用户设备和用户账号绑定,想办法形成一个全局id是后续所有数据分析的基础。不管是已登录账号和未登录账号使用设备访问,都需要形成一个唯一的全局通用id,有的公司称之为guidguid处理好之后,就是统计基础指标,如新老访客等注意,在大数据或者任何其他技术岗位的开发中,了解清楚需求并且跟需求方二次确认无误后,再进行开发,这样是避免需求原创 2020-10-20 19:51:24 · 945 阅读 · 0 评论 -
Azkaban (2.5.0)使用指南
Azkaban (2.5.0)使用指南1. 背景在企业开发中,经常会使用脚本进行定时任务执行的工作。这种工作属于重复性劳动,所以简单的脚本定时执行,使用linux的crontab即可不过当遇到脚本任务之间有先后依赖,甚至有出错重试策略时,crontab就不够用了,这时候脚本任务调度管理框架就闪亮登场,azkaban,oozie等都是如此本文主要讲解azkaban的实际使用案例2. 使用azkaban使用时,需要配置一个job文件,文件中设置job类型以及job执行的脚本或者任务。如果执行原创 2020-10-20 10:14:44 · 512 阅读 · 2 评论 -
数仓数据分层(ODS DWD DWS ADS)换个角度看
数仓数据分层简介1. 背景数仓是什么, 其实就是存储数据,体现历史变化的一个数据仓库. 因为互联网时代到来,基于数据量的大小,分为了传统数仓和现代数仓.传统数仓,使用传统的关系型数据库进行数据存储,因为关系型数据库本身可以使用SQL以及函数等做数据分析.所以把数据存储和数据分析功能集合为一体,加上一个可视化界面,就能从数据存储,数据分析,数据展示完整方案.到了互联网时代,由于上网用户剧增,特别是移动互联网时代,海量的网络设备,导致了海量的数据产生,企业需要也希望从这些海量数据中挖掘有效信息,如行为原创 2020-10-18 23:10:56 · 46542 阅读 · 11 评论 -
神策 sensor官网简介以及各个指标简介
神策 sensor官网简介1. 神策是什么2. 官网简单布局3. 各个功能入口原创 2020-10-17 12:54:41 · 2866 阅读 · 0 评论