助力工业物联网,工业大数据之服务域:回访主题分析【二十八】,【高级大数据开发架构师系统学习

60 阅读6分钟

img img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

| dws\_week string | 日期维度-按周 | one\_make\_dws.dim\_date |
| dws\_month string | 日期维度-按月 | one\_make\_dws.dim\_date |
| orgname | 组织机构-回访人员所属部门 | one\_make\_dws.dim\_emporg |
| posiname | 组织机构-回访人员所属岗位 | one\_make\_dws.dim\_emporg |
| posiname | 组织机构-回访人员名称 | one\_make\_dws.dim\_emporg |
| oil\_type string | 油站类型 | one\_make\_dws.dim\_oilstation |
| oil\_province | 油站所属省 | one\_make\_dws.dim\_oilstation |
| oil\_city string | 油站所属市 | one\_make\_dws.dim\_oilstation |
| oil\_county string | 油站所属区 | one\_make\_dws.dim\_oilstation |
| customer\_classify | 客户类型 | one\_make\_dws.dim\_oilstation |
| customer\_province | 客户所属省 | one\_make\_dws.dim\_oilstation |
+ 分析


	- 指标
	
	
		* 回访工程师数量、回访人员数量、回访人员最大数量、回访人员最小数量
			+ 回访事务事实表
		* 待派工数量、待出发数量、已完工数量、处理中数量
		* 工单事务事实表
		* 满意数量、不满意数量、态度满意数量、态度不满意数量、水平满意数量、水平不满意数量、响应速度满意数量、响应速度不满意数量、返修数量
		* 回访事务事实表
	- 维度
	
	
		* 日期维度:天、周、月
		* 日期维度表
		* 组织机构维度:人员部门、人员岗位、人员姓名
		* 组织机构维度表
		* 油站维度:类型、省份、城市、区域
	- 客户维度:类型、省份
	
	
		* 油站维度表
	- 数据
	
	
		* 事实表
		
		
			+ fact\_srv\_rtn\_visit:回访事务事实表
			
			 
			```
			select
			    srv_user_id,--工程师id
			    vst_user_id,--回访人员id
			    satisfied_num,--满意个数
			    unsatisfied_num,--不满意个数
			    srv_atu_num,--态度满意个数
			    srv_bad_atu_num,--态度不满意个数
			    srv_rpr_prof_num,--水平满意个数
			    srv_rpr_unprof_num,--水平不满意个数
			    srv_high_res_num,--响应速度满意个数
			    srv_low_res_num,--响应速度不满意个数
			    rtn_rpr_num, --返修数量
			    wrkodr_id, --工单id
			    os_id,--油站id
			    dt --日期id
			from fact_srv_rtn_visit;
			
			```
			+ fact\_worker\_order:工单事务事实表
		```
		select
		    wo_id,--工单id
		    wait_dispatch_num,--待派工个数
		    wait_departure_num,--待出发个数
		    alread_complete_num,--已完成个数
		    processing_num --正在处理个数
		from fact_worker_order;
		
		```
		
			+ 维度表
			
			
				- dim\_oilstation:油站维度表
				
				 
				```
				select
				    id,--油站id
				    company_name,--公司名称
				    province_name,--省份名称
				    city_name,--城市名称
				    county_name,--区域名称
				    customer_classify_name,--客户名称
				    customer_province_name--客户省份
				from dim_oilstation;
				
				```
				- dim\_date:时间维度表
				
				 
				```
				select
				    date_id,--天
				    week_in_year_id,--周
				    year_month_id --月
				from dim_date;
				
				```
				- dim\_emporg:组织机构维度
				
				 
				```
				select
				    empid,--人员id
				    orgname,--部门名称
				    posiname,--岗位名称
				    empname --员工名称
				from dim_emporg;
				
				
				```
	- 分析
	
	 
	```
	select
	    srv_user_id,--工程师id
	    vst_user_id,--回访人员id
	    satisfied_num,--满意个数
	    unsatisfied_num,--不满意个数
	    srv_atu_num,--态度满意个数
	    srv_bad_atu_num,--态度不满意个数
	    srv_rpr_prof_num,--水平满意个数
	    srv_rpr_unprof_num,--水平不满意个数
	    srv_high_res_num,--响应速度满意个数
	    srv_low_res_num,--响应速度不满意个数
	    rtn_rpr_num, --返修数量
	    b.wait_dispatch_num,--待派工个数
	    b.wait_departure_num,--待出发个数
	    b.alread_complete_num,--已完成个数
	    b.processing_num, --正在处理个数
	    c.orgname,--部门名称
	    c.posiname,--岗位名称
	    c.empname --员工名称
	    wrkodr_id, --工单id
	    os_id,--油站id
	    dt --日期id
	from fact_srv_rtn_visit a
	join fact_worker_order b on a.wrkodr_id = b.wo_id
	join one_make_dws.dim_emporg c on a.srv_user_id = c.userid
	join one_make_dws.dim_oilstation d on a.os_id = d.id
	join one_make_dws.dim_date e on a.dt = e.date_id;
	
	```
  • 小结

    • 掌握回访主题的需求分析

12:服务域:回访主题实现

  • 目标:实现回访主题表的维度指标构建

  • 实施

    • 建表

    drop table if exists one_make_st.subj_rtn_visit;
    create table if not exists one_make_st.subj_rtn_visit(
        rtn_srv_num int comment '回访服务人员数量'
        ,vst_user int comment '回访人员数量'
        ,wait_dispatch_num bigint comment '待派工数量'
        ,wait_departure_num bigint comment '待出发数量'
        ,alread_complete_num bigint comment '已完工工单数量'
        ,processing_num bigint comment '正在处理工单数量'
        ,satisfied_num int comment '满意数量'
        ,unsatisfied_num int comment '不满意数量'
        ,srv_atu_num int comment '服务态度满意数量'
        ,srv_bad_atu_num int comment '服务态度不满意数量'
        ,srv_rpr_prof_num int comment '服务维修水平满意数量'
        ,srv_rpr_unprof_num int comment '服务维修水平不满意数量'
        ,srv_high_res_num int comment '服务响应速度满意数量'
        ,srv_low_res_num int comment '服务响应速度不满意数量'
        ,rtn_rpr_num int comment '返修数量'
        ,max_vst_user int comment '回访人员最大数量'
        ,min_vst_user int comment '回访人员最小数量'
        ,dws_day string comment '日期维度-按天'
        ,dws_week string comment '日期维度-按周'
        ,dws_month string comment '日期维度-按月'
        ,orgname string comment '组织机构维度-回访人员所属部门'
        ,posiname string comment '组织机构维度-回访人员所属岗位'
        ,empname string comment '组织机构维度-回访人员名称'
        ,oil_type string comment '油站维度-油站类型'
        ,oil_province string comment '油站维度-油站所属省'
        ,oil_city string comment '油站维度-油站所属市'
        ,oil_county string comment '油站维度-油站所属区'
        ,customer_classify string comment '客户维度-客户类型'
        ,customer_province string comment '客户维度-客户所属省'
    ) comment '回访主题表'
    partitioned by (month String, week String, day String)
    stored as orc
    location '/data/dw/st/one\_make/subj\_rtn\_visit'
    ;
    
    
    • 构建

    insert overwrite table one_make_st.subj_rtn_visit partition(month = '202101', week='2021W1', day='20210101')
    select
    	sum(rtn_srv_num) rtn_srv_num,                                --回访工程师数量
    	sum(vst_user) vst_user,                                      --回访人员数量
    	sum(wait_dispatch_sumnum) wait_dispatch_sumnum,              --待派工数量
        sum(wait_departure_sumnum) wait_departure_sumnum,            --待出发数量
    	sum(alread_complete_sumnum) alread_complete_sumnum,          --已完工数量
    	sum(processing_sumnum) processing_sumnum,                    --处理中数量
        sum(satisfied_sumnum) satisfied_sumnum,                      --满意数量
    	sum(unsatisfied_sumnum) unsatisfied_sumnum,                  --不满意数量
    	sum(srv_atu_sumnum) srv_atu_sumnum,                          --态度满意数量
        sum(srv_bad_atu_sumnum) srv_bad_atu_sumnum,                  --态度不满意数量
    	sum(srv_rpr_prof_sumnum) srv_rpr_prof_sumnum,                --水平满意数量
    	sum(srv_rpr_unprof_sumnum) srv_rpr_unprof_sumnum,            --水平不满意数量
        sum(srv_high_res_sumnum) srv_high_res_sumnum,                --响应速度满意数量
    	sum(srv_low_res_sumnum) srv_low_res_sumnum,                  --响应速度不满意数量
    	sum(rtn_rpr_sumnum) rtn_rpr_sumnum,                          --返修数量
        max(vst_user) max_vst_user,                                  --回访人员最大数量
    	min(vst_user) min_vst_user,                                  --回访人员最小数量
    	dws_day,                                                     --日期天
    	dws_week,                                                    --日期周
    	dws_month,                                                   --日期月
    	orgname,                                                     --组织机构人员部门
    	posiname,                                                    --组织机构人员岗位
    	empname,                                                     --组织机构人员姓名
    	oil_type,                                                    --油站类型
    	oil_province,                                                --油站省份
        oil_city,                                                    --油站城市
    	oil_county,                                                  --油站区域
    	customer_classify,                                           --客户类型
    	customer_province                                            --客户省份
    from (
    		 --查询得到每个工单的指标
    
    

img img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!