网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
- 工单:分配工程师确认工单
- 油站:实施具体的工单需求
- 仓储物料:申请仓库调度零配件,有零配件费用
- 差旅费用:交通费用、住宿费用、加油费用、补贴费用
- 回访:呼叫中心将完成的订单进行电话回访
+ **呼叫中心事实指标**:来电受理次数、分派工单次数
+ **油站事实指标**:油站个数、停用油站个数、油站设备个数
+ **工单事实指标**:安装工单个数、维修工单个数
+ **安装事实指标**:安装个数、安装费用
+ **维修事实指标**:维度个数、维修费用
+ **客户回访事实指标**:满意个数、不满意个数、态度满意个数、响应速度的满意个数、技术满意个数
+ **费用事实指标**:报销费用、差率费用、补贴费用
+ **差旅事实指标**:油费、住宿费用、交通费用
+ **网点物料事实指标**:零配件的个数
+ ……
-
小结
- 掌握一站制造中的业务主题划分及主题指标的设计
02:呼叫中心事实指标需求分析
-
目标:掌握DWB层呼叫中心事实指标表的需求
-
路径
- step1:目标需求
- step2:数据来源
-
实施
- 目标需求:基于基础的时间、受理方式、来电类型等事实维度统计工单数量、电话数量、回访数量、投诉数量等
-
数据来源
- ciss_service_callaccept:客服中心来电详情表
- eos_dict_type:字典状态类别表,记录所有需要使用字典标记的表
select * from eos_dict_type where dicttypename = '来电类型'; select * from eos_dict_type where dicttypename = '来电受理单--处理方式';
- eos_dict_entry:字典状态明细表,记录所有具体的状态或者类别信息
select * from eos_dict_entry where dicttypeid = 'BUSS_CALL_TYPE'; select * from eos_dict_entry where dicttypeid = 'BUSS_PROCESS_WAY';
- ciss_service_workorder:工单状态明细表
select callaccept_id,status from ciss_service_workorder; -- 查看每个状态的含义 select * from eos_dict_type where dicttypename = '派工单状态'; select * from eos_dict_entry where dicttypeid = 'BUSS_WORKORDER_STATUS';
-
小结
- 掌握DWB层呼叫中心事实指标表的需求
03:呼叫中心事实指标构建
-
目标:实现DWB层呼叫中心事实指标表的构建
-
实施
- 建库
create database if not exists one_make_dwb;
- 建表
-- 创建呼叫中心 | 来电受理事实表 -- 如果interval进不去,用`interval`圈起来,指明是字段 drop table if exists one_make_dwb.fact_call_service; create table if not exists one_make_dwb.fact_call_service( id string comment '受理id(唯一标识)' , code string comment '受理单唯一编码' , call_date string comment '来电日期(日期id)' , call_hour int comment '来电时间(小时)(事实维度)' , call_type_id string comment '来电类型(事实维度)' , call_type_name string comment '来电类型名称(事实维度)' , process_way_id string comment '受理方式(事实维度)' , process_way_name string comment '受理方式(事实维度)' , oil_station_id string comment '油站id' , userid string comment '受理人员id' , cnt int comment '单据数量(指标列)' , dispatch_cnt int comment '派工数量' , cancellation_cnt int comment '派工单作废数量' , chargeback_cnt int comment '派工单退单数量' , interval int comment '受理时长(单位:秒)' , tel_spt_cnt int comment '电话支持数量' , on_site_spt_cnt int comment '现场安装、维修、改造、巡检数量' , custm_visit_cnt int comment '回访单据数量' , complain_cnt int comment '投诉单据数量' , other_cnt int comment '其他业务单据数量') partitioned by (dt string) stored as orc location '/data/dw/dwb/one\_make/fact\_call\_service';
- 构建数据字典表【每次都要两张表关联,比较麻烦,合并为一张表】
create table if not exists one_make_dwb.tmp_dict stored as orc as select dict_t.dicttypename -- 类型名称 , dict_e.dictid -- 字典编号 , dict_e.dictname -- 字典名称 from one_make_dwd.eos_dict_type dict_t left join one_make_dwd.eos_dict_entry dict_e on dict_t.dt = '20210101' and dict_e.dt = '20210101' and dict_t.dicttypeid = dict_e.dicttypeid order by dict_t.dicttypename, dict_e.dictid;
select \* from one_make_dwb.tmp_dict where dicttypename = '来电类型'; select \* from one_make_dwb.tmp_dict where dicttypename = '来电受理单--处理方式';
- 抽取(这个写法在时间处理上存在bug,注意floor函数)
insert overwrite table one_make_dwb.fact_call_service partition (dt = '20210101') select call.id --来电受理唯一id , call.code -- 受理单唯一编码 , date_format(timestamp(call.call_time), 'yyyymmdd') as call_date -- 来电日期(日期id) , hour(timestamp(call.call_time)) -- 来电时间(小时)(事实维度) , call.call_type -- 来电类型(事实维度)
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新