工作日志1---关于数仓的数据说明

数仓整体说明:

1.1使用到的技术

使用flume进行数据采集,hdfs为存储平台,hive进行操作,sparksql为技术引擎,yarn作为资源调度平台,rookeeper为任务调度平台,altas管理元数据,

1.2分层设计

ADS为服务层

DWD为数仓汇总层,

ODS详细设计:

ODS操作数据

DIM存储维表

ODS:存放flume采集过的原始数据,

主要是对进行ods层数据做ETL处理后的数据扁平化处理,以parquet文件格式存储,一般大概在3-6个月

 

数据规模

公司用户规模一般在1000万左右,平均日活400万,这个还要根据后面所在格式具体情况而定,每个用户平均访问1.2次,访问时长大概在10分钟左右,每天产生的日志大概在3亿条,然后每条日志大概在0.5k,每日增长144G,每月大概在4.3T,每月估计增长在20%左右,

数据采集

使用flume从kafka里面进行采集,

 

ODS开发

我们有三类日志数据 app_端埋点日志   web端埋点日志   wx 小程序日志

我们会把用户,产品,活动,等一些信息存放到mysql中,

DWD层详细设计

在这个环节由于etl的需求较为复杂,用sql实现较为困难,因此这个环节我们是用spark来实现的,

这个过程主要做一些数据清洗

比如使用session分割,对数据进行规范化处理,比如数据有空字符串就统一为null,进行标识,

维度集成

比如讲日志中gps经纬度坐标解析成省,市,县,这样比使用ip地址进行定位更为精确,在如何解析地理位置上,我们用了GEOhash编码技术,(也是一种算法)将经纬度坐标转化为一个个字符串,

[gerhash编码不断通过二分法来划分举行范围] 从而来生成0/1二进制码,并且声成的字符串长度越长,表达的精度越高,越逼近jps

的具体坐标

在使用jps的过程中(ID_MAPPPING)为每个用户标识提高用户行为分析

[gerhash编码不断通过二分法来划分举行范围] 从而来生成0/1二进制码,并且声成的字符串长度越长,表达的精度越高,越逼近jps

的具体坐标

在找到具体的坐标后,我们可以把它作为一个用户标识,当有用户登录的情况下也可以把用户的登录账户作为唯一标识,但是在匿名状态下,无法识别用户ID,所以标识用户是我们当时比较棘手的一个问题

1.当时我们开始就使用设备ID,因为大部分的用户都只有一个id账号,所以通过这个就可以识别用户,但是他也有缺陷,比如同一用户在不同设备使用会被认为是不同用户,

反之,不同用户使用相同设备,

或者多用户在设备不足的情况下共同使用设备,都会对后续的分析统计带来影响,

2.关联设备ID和登录ID(一对一)  一台设备可能有多个用户进行使用,一个用户可能使用一个ID在多台机器上使用,但是在识别的时候还是算最初哪台机器的id号,这样也会有一定的局限性,

3.关联设备ID和登录ID(多对一的关系)

一个用户在多个设备上进行登录是一种比较常见的场景,比如 Web 端和 App 端可能都需要进行登录。支持一个登录 ID 下关联多设备 ID 之后,用户在多设备下的行为就会贯通,被认为是一个ID 发生的。

但也有局限性,但是一台设备可能有多个用户进行登录,

因此我们最后选择的方案是关联设备id和登录id进行动态关联,

就是一个设备ID被绑定到一个登录ID之后,如果该设备在后期被其他用户频繁的使用,则该设备会重新绑定到其他的id中,

具体操作就是:比如每个设备第一次被用户登录,那么就与该用户进行绑定并且使用打分制打100分,如果后面这个设备被其他用户登录,那么也使用打分制但是以十分的间隔逐渐减少的形式进行打分比如打90分,这时候,设备ID还是和第一个用户ID进行绑定,如果后面还是第二个用户进行登录那么给他打80 ,通过累加可知,用户第二个用户比第一个用户的份数多,这样该设备就接触与第一个用户的绑定,从而与第二个用户进行绑定,后面根据这样的思路进行操作

 

 

 

 

 

 

本教程为授权出品 一、课程简介数据仓库(Data Warehouse,可简写为DW或DWH),是面向析的集成化数据环境,为企业决策制定过程,提供系统数据支持的战略集合,是国内外各大公司正在重点投入的战略级技术领域。 二、课程内容《大数据电商数仓项目实战》视频教程,从项目架构的搭建,到数据采集模块的设计、数仓架构的设计、实战需求实现、即席查询的实现,我们针对国内目前广泛使用的Apache原生框架和CDH版本框架进行了别介绍,Apache原生框架介绍中涉及到的技术框架包括Flume、Kafka、Sqoop、MySql、HDFS、Hive、Tez、Spark、Presto、Druid等,CDH版本框架讲解包括CM的安装部署、Hadoop、Zookeeper、Hive、Flume、Kafka、Oozie、Impala、HUE、Kudu、Spark的安装配置,透彻了解不同版本框架的区别联系,将大数据全生态系统前沿技术一网打尽。在过程中对大数据生态体系进行了系统的讲解,对实际企业数仓项目中可能涉及到的技术点都进行了深入的讲解和探讨。同时穿插了大量数仓基础理论知识,让你在掌握实战经验的同时能够打下坚实的理论基础。 三、课程目标本课程以国内电商巨头实际业务应用场景为依托,对电商数仓的常见实战指标以及难点实战指标进行了详尽讲解,具体指标包括:每日、周、月活跃设备明细,留存用户比例,沉默用户、回流用户、流失用户统计,最近连续3周活跃用户统计,最近7天内连续3天活跃用户统计,GMV成交总额析,转化率及漏斗析,品牌复购率析、订单表拉链表的设计等,让学生拥有更直观全面的实战经验。通过对本课程的学习,对数仓项目可以建立起清晰明确的概念,系统全面的掌握各项数仓项目技术,轻松应对各种数仓难题。 四、课程亮点本课程结合国内多家企业实际项目经验,特别加入了项目架构模块,从集群规模的确定到框架版本选型以及服务器选型,手把手教你从零开始搭建大数据集群。并且总结大量项目实战中会遇到的问题,针对各个技术框架,均有调优实战经验,具体包括:常用Linux运维命令、Hadoop集群调优、Flume组件选型及性能优化、Kafka集群规模确认及关键参数调优。通过这部学习,助学生迅速成长,获取前沿技术经验,从容解决实战问题。
一、课程简介随着技术的飞速发展,经过多年的数据积累,各互联网公司已保存了海量的原始数据和各种业务数据,所以数据仓库技术是各大公司目前都需要着重发展投入的技术领域。数据仓库是面向析的集成化数据环境,为企业所有决策制定过程,提供系统数据支持的战略集合。通过对数据仓库中数据析,可以帮助企业改进业务流程、控制成本、提高产品质量等。二、课程内容本次精心打造的数仓项目的课程,从项目架构的搭建,到数据采集模块的设计、数仓架构的设计、实战需求实现、即席查询的实现,我们针对国内目前广泛使用的Apache原生框架和CDH版本框架进行了别介绍,Apache原生框架介绍中涉及到的技术框架包括Flume、Kafka、Sqoop、MySql、HDFS、Hive、Tez、Spark、Presto、Druid等,CDH版本框架讲解包括CM的安装部署、Hadoop、Zookeeper、Hive、Flume、Kafka、Oozie、Impala、HUE、Kudu、Spark的安装配置,透彻了解不同版本框架的区别联系,将大数据全生态系统前沿技术一网打尽。在过程中对大数据生态体系进行了系统的讲解,对实际企业数仓项目中可能涉及到的技术点都进行了深入的讲解和探讨。同时穿插了大量数仓基础理论知识,让你在掌握实战经验的同时能够打下坚实的理论基础。三、课程目标本课程以国内电商巨头实际业务应用场景为依托,对电商数仓的常见实战指标以及难点实战指标进行了详尽讲解,具体指标包括:每日、周、月活跃设备明细,留存用户比例,沉默用户、回流用户、流失用户统计,最近连续3周活跃用户统计,最近7天内连续3天活跃用户统计,GMV成交总额析,转化率及漏斗析,品牌复购率析、订单表拉链表的设计等,让学生拥有更直观全面的实战经验。通过对本课程的学习,对数仓项目可以建立起清晰明确的概念,系统全面的掌握各项数仓项目技术,轻松应对各种数仓难题。四、课程亮点本课程结合国内多家企业实际项目经验,特别加入了项目架构模块,从集群规模的确定到框架版本选型以及服务器选型,手把手教你从零开始搭建大数据集群。并且总结大量项目实战中会遇到的问题,针对各个技术框架,均有调优实战经验,具体包括:常用Linux运维命令、Hadoop集群调优、Flume组件选型及性能优化、Kafka集群规模确认及关键参数调优。通过这部学习,助学生迅速成长,获取前沿技术经验,从容解决实战问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值