助力工业物联网,工业大数据之服务域:安装主题分析实现【二十七】

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 助力工业物联网,工业大数据之服务域:安装主题分析实现【二十七】

09:服务域:安装主题分析实现

  • 目标掌握安装主题的需求分析及实现
  • 路径
  • step1:需求
  • step2:分析
  • step3:实现
  • 实施
  • 需求:统计不同维度下的安装主题指标的结果

  • 分析
  • 指标:安装数量、支付金额
  • 维度
  • 安装方式
  • 日期维度:天、周、月
  • 油站维度:类型、省份、城市、地区
  • 客户维度:类型、省份
  • 数据
  • 事实表
  • fact_srv_install:安装事务事实表
select
    inst_id, --安装单id
    inst_type_id, --安装方式id 1-设备安装,2-设备联调
    exp_device_money, --安装费用
    dt,--日期
os_id --油站id
from one_make_dwb.fact_srv_install;
  • 维度表
  • 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;
  • 实现
  • 建表
create table if not exists one_make_st.subj_install(
    install_way string comment '安装方式'
    ,install_sum bigint comment '安装数量'
    ,sum_money int comment '支付费用'
    ,dws_day string comment '日期维度-按天'
    ,dws_week string comment '日期维度-按周'
    ,dws_month 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_install';
  • 构建
insert overwrite table one_make_st.subj_install partition(month = '202101', week='2021W1', day='20210101')
  select
    --安装方式
      max(case when install.inst_type_id = 1 then '设备安装' when install.inst_type_id = 2 then '设备联调' else '未知' end) install_way
      , count(install.inst_id) install_sum                                     --安装数量
    , sum(install.exp_device_money) sum_money                      --支付金额
      , dd.date_id dws_day                                                     --日期天
      , dd.week_in_year_id dws_week                                            --日期周
      , dd.year_month_id dws_month                                             --日期月
      , dimoil.company_name oil_type                                           --油站类型
      , dimoil.province_name oil_province                                      --油站省份
      , dimoil.city_name oil_city                                              --油站城市
      , dimoil.county_name oil_county                                          --油站地区
      , dimoil.customer_classify_name customer_classify                        --客户类型
      , dimoil.customer_province_name customer_province                        --客户省份
  --安装事务事实表
  from one_make_dwb.fact_srv_install install
  --关联日期维度表
  left join one_make_dws.dim_date dd on install.dt = dd.date_id
  --关联油站维度表
  left join one_make_dws.dim_oilstation dimoil on install.os_id = dimoil.id
  where dd.year_month_id = '202101' and dd.week_in_year_id = '2021W1' and dd.date_id = '20210101'
  --按照维度分组
  group by
      inst_type_id,
      dd.date_id, dd.week_in_year_id, dd.year_month_id,
      dimoil.company_name, dimoil.province_name, dimoil.city_name, dimoil.county_name,
      dimoil.customer_classify_name, dimoil.customer_province_name
  ;
  • 小结
  • 掌握安装主题的需求分析及实现

10:服务域:维修主题分析实现

  • 目标掌握维修主题的需求分析及实现
  • 路径
  • step1:需求
  • step2:分析
  • step3:实现
  • 实施
  • 需求:统计不同维度下的维修主题指标的结果

  • 分析
  • 指标
  • 支付费用、工时费用、零部件费用、交通费用
  • 故障总数、最大数量、平均数量
  • 维度
  • 日期维度:天、周、月
  • 油站维度:类型、省份、城市、地区
  • 客户维度:类型、省份
  • 物流公司
  • 数据
  • 事实表
  • fact_srv_repair:维修事务事实表
select
    hour_money,--工时费用
    parts_money,--配件物料费用
    fars_money,--交通费用
    fault_type_ids, --故障id集合
    dt,--日期
    os_id,--油站id
  ss_id --服务网点id
from fact_srv_repair;
  • fact_srv_stn_ma:网点物料事务事实表
select
  ss_id,--服务网点id
  logi_cmp_id --物流公司id
from fact_srv_stn_ma;
  • 维度表
  • 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_logistics:物流维度表
select 
  type_id,  --物流公司id
type_name --物流公司名称
from one_make_dws.dim_logistics where prop_name = '物流公司';
  • 实现
  • 建表
drop table if exists one_make_st.subj_repair;
create table if not exists one_make_st.subj_repair(
    sum_pay_money decimal(20,1) comment '支付费用'
    ,sum_hour_money decimal(20,1) comment '小时费用'
    ,sum_parts_money decimal(20,1) comment '零部件费用'
    ,sum_fars_money decimal(20,1) comment '交通费用'
    ,sum_faulttype_num bigint comment '故障类型总数'
    ,max_faulttype_num int comment '故障类型最大数量'
    ,avg_faulttype_num int comment '故障类型平均数量'
    ,dws_day string comment '日期维度-按天'
    ,dws_week string comment '日期维度-按周'
    ,dws_month 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 '客户维度-客户所属省'
    ,logi_company string comment '物流公司维度-物流公司名称'
) comment '维修主题表'
partitioned by (month String, week String, day String)
stored as orc
location '/data/dw/st/one_make/subj_repair';
  • 构建
insert overwrite table one_make_st.subj_repair partition(month = '202101', week='2021W1', day='20210101')
  select
      sum(pay_money) sum_pay_money,         --支付费用
    sum(hour_money) sum_hour_money,             --工时费用
      sum(parts_money) sum_parts_money,           --物料费用
    sum(fars_money) sum_fars_money,             --交通费用
      sum(fault_type_num) sum_faulttype_num,      --故障类型总数
    max(fault_type_num) max_faulttype_num,      --最大故障数量
      avg(fault_type_num) avg_faulttype_num,      --平均故障数量
    dws_day,                                    --日期天
    dws_week,                                   --日期周
    dws_month,                                  --日期月
    oil_type,                                   --油站类型
      oil_province,                               --油站省份
    oil_city,                                   --油站城市
    oil_county,                                 --油站区域
    customer_classify,                          --客户类型
    customer_province,                          --客户省份
    logi_company                                --物流公司
  from (
       select
         (hour_money + parts_money+fars_money) pay_money,
         hour_money,
         parts_money,
         fars_money,
         case when (size(split(fault_type_ids, ','))) <= 0 then 0 else (size(split(fault_type_ids, ','))) end fault_type_num,
         dd.date_id dws_day,
         dd.week_in_year_id dws_week,
         dd.year_month_id dws_month,
         dimoil.company_name oil_type,
         dimoil.province_name oil_province,
         dimoil.city_name oil_city,
         dimoil.county_name oil_county,
         dimoil.customer_classify_name customer_classify,
         dimoil.customer_province_name customer_province,
         type_name logi_company
       --维修事务事实表
       from one_make_dwb.fact_srv_repair repair
       --关联日期维度表
       left join one_make_dws.dim_date dd on repair.dt = dd.date_id
       --关联油站维度表
       left join one_make_dws.dim_oilstation dimoil on repair.os_id = dimoil.id
       --关联网点物料事实表:获取物流公司id
       left join one_make_dwb.fact_srv_stn_ma fssm on repair.ss_id = fssm.ss_id
       --关联物流维度表:获取物流公司名称
       left join (
            select type_id, type_name from one_make_dws.dim_logistics where prop_name = '物流公司'
                  ) dl on fssm.logi_cmp_id = dl.type_id
       where dd.year_month_id = '202101'and dd.week_in_year_id = '2021W1' and  dd.date_id = '20210101' and exp_rpr_num = 1
      ) repair_tmp
  group by dws_day, dws_week, dws_month, oil_type, oil_province, oil_city, oil_county,customer_classify, customer_province,logi_company;
  • 小结
  • 掌握维修主题的需求分析与实现


相关实践学习
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
2月前
|
存储 数据采集 搜索推荐
Java 大视界 -- Java 大数据在智慧文旅旅游景区游客情感分析与服务改进中的应用实践(226)
本篇文章探讨了 Java 大数据在智慧文旅景区中的创新应用,重点分析了如何通过数据采集、情感分析与可视化等技术,挖掘游客情感需求,进而优化景区服务。文章结合实际案例,展示了 Java 在数据处理与智能推荐等方面的强大能力,为文旅行业的智慧化升级提供了可行路径。
Java 大视界 -- Java 大数据在智慧文旅旅游景区游客情感分析与服务改进中的应用实践(226)
|
3月前
|
分布式计算 搜索推荐 算法
Java 大视界 -- Java 大数据在智慧养老服务需求分析与个性化服务匹配中的应用(186)
本篇文章探讨了Java大数据技术在智慧养老服务需求分析与个性化服务匹配中的应用。通过整合老年人健康数据与行为数据,结合机器学习与推荐算法,实现对老年人健康风险的预测及个性化服务推荐,提升养老服务的智能化与精准化水平,助力智慧养老高质量发展。
|
3月前
|
SQL 缓存 监控
大数据之路:阿里巴巴大数据实践——实时技术与数据服务
实时技术通过流式架构实现数据的实时采集、处理与存储,支持高并发、低延迟的数据服务。架构涵盖数据分层、多流关联,结合Flink、Kafka等技术实现高效流计算。数据服务提供统一接口,支持SQL查询、数据推送与定时任务,保障数据实时性与可靠性。
|
12月前
|
自然语言处理 大数据 应用服务中间件
大数据-172 Elasticsearch 索引操作 与 IK 分词器 自定义停用词 Nginx 服务
大数据-172 Elasticsearch 索引操作 与 IK 分词器 自定义停用词 Nginx 服务
220 5
|
监控 供应链 安全
物联网卡在工业领域的应用
物联网卡在工业领域的应用极大地推动了行业的智能化、自动化和高效化进程。以下是物联网卡在工业领域中各操作类型中的具体应用作用:
|
12月前
|
存储 数据采集 监控
大数据技术:开启智能决策与创新服务的新纪元
【10月更文挑战第5天】大数据技术:开启智能决策与创新服务的新纪元
|
8月前
|
传感器 物联网 大数据
物联网与大数据:揭秘万物互联的新纪元
物联网与大数据:揭秘万物互联的新纪元
277 7
|
DataWorks Kubernetes 大数据
飞天大数据平台产品问题之DataWorks提供的商业化服务如何解决
飞天大数据平台产品问题之DataWorks提供的商业化服务如何解决
|
12月前
|
消息中间件 监控 Ubuntu
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
337 3
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
|
11月前
|
存储 人工智能 大数据
物联网、大数据、云计算、人工智能之间的关系
物联网、大数据、云计算、人工智能之间的关系是紧密相连、相互促进的。这四者既有各自独立的技术特征,又能在不同层面上相互融合,共同推动信息技术的发展和应用。
2915 0

热门文章

最新文章

  • 1
    人工智能平台PAI产品使用合集之如何在odps上启动独立的任务
    185
  • 2
    DataWorks操作报错合集之出现报错“odps-0123055:用户脚本异常-Traceback(最后一次调用)”,如何解决
    431
  • 3
    人工智能平台PAI操作报错合集之在ODPS的xxx_dev项目空间调用easyrec训练,需要访问yyy项目空间的OSS,出现报错,是什么导致的
    139
  • 4
    MaxCompute操作报错合集之创建oss外部表时出现了报错:"Semantic analysis exception - external table checking failure, error message:,该怎么办
    413
  • 5
    MaxCompute操作报错合集之在本地用tunnel命令上传excel表格到mc遇到报错: tunnel upload C:\Users***\Desktop\a.xlsx mc里的非分区表名 -s false;该怎么办
    169
  • 6
    DataWorks操作报错合集之数据源同步时,使用脚本模式采集mysql数据到odps中,使用querySql方式采集数据,在脚本中删除了Reader中的column,但是datax还是报错OriginalConfPretreatmentUtil - 您的配置有误。如何解决
    379
  • 7
    MaxCompute操作报错合集之通过UDF调用异常(其他使用http调用正常)。报错:java.lang.NoSuchMethodError:是什么导致的
    178
  • 8
    MaxCompute操作报错合集之查询外部表insert到内部表报错,两表字段一致,是什么原因
    165
  • 9
    MaxCompute操作报错合集之出现报错:invalid dynamic partition value: \ufffd\ufffd\ufffd\ufffd\ufffd\ufffd是什么原因
    369
  • 10
    MaxCompute产品使用合集之如何设置每次返回超过10000行记录
    192