助力工业物联网,工业大数据之其他维度:组织机构【十五】

这篇具有很好参考价值的文章主要介绍了助力工业物联网,工业大数据之其他维度:组织机构【十五】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

01:其他维度:组织机构

  • 目标实现组织机构维度的设计及构建

  • 路径

    • step1:需求
    • step2:设计
    • step3:实现
  • 实施

    • 需求:实现组织机构维度表的构建,得到每个工程师对应的组织机构信息

      助力工业物联网,工业大数据之其他维度:组织机构【十五】

      • 统计不同服务人员的工单数、核销数等
    • 设计

      • org_employee:员工信息表【员工id、员工编码、员工名称、用户系统id】

        select empid,empcode,empname,userid from org_employee;
        
      • org_empposition:员工岗位信息表【员工id、岗位id】

        select empid,positionid from org_empposition;
        
      • org_position:岗位信息表【岗位id、岗位编码、岗位名称、部门id】

        select positionid,posicode,posiname,orgid from org_position;
        
      • org_organization:部门信息表【部门id、部门编码、部门名称】

        select orgid,orgcode,orgname from org_organization;
        

      助力工业物联网,工业大数据之其他维度:组织机构【十五】

    • 实现

      • 建维度表

        -- 创建组织机构维度表,组织机构人员是经常变动的,所以按照日期分区
        create external table if not exists one_make_dws.dim_emporg(
            empid string comment '人员id'   
            , empcode string comment '人员编码(erp对应的账号id)'
            , empname string comment '人员姓名'
            , userid string comment '用户系统id(登录用户名)'
            , posid string comment '岗位id'
            , posicode string comment '岗位编码'
            , posiname string comment '岗位名称'
            , orgid string comment '部门id'
            , orgcode string comment '部门编码'
            , orgname string comment '部门名称'
        ) comment '组织机构维度表'
        partitioned by (dt string)
        stored as orc
        location '/data/dw/dws/one_make/dim_emporg';
        
      • 抽取数据

        -- 先根据dwd层的表进行关联,然后分别把数据取出来
        insert overwrite table one_make_dws.dim_emporg partition(dt='20210101')
        select
            emp.empid as empid
            , emp.empcode as empcode
            , emp.empname as empname
            , emp.userid as userid
            , pos.positionid as posid
            , pos.posicode as posicode
            , pos.posiname as posiname
            , org.orgid as orgid
            , org.orgcode as orgcode
            , org.orgname as orgname
        from  one_make_dwd.org_employee emp
        left join one_make_dwd.org_empposition emppos
            on emp.empid = emppos.empid and emp.dt = '20210101' and emppos.dt = '20210101'
        left join one_make_dwd.org_position pos
            on emppos.positionid = pos.positionid and pos.dt = '20210101'
        left join one_make_dwd.org_organization org
            on pos.orgid = org.orgid and org.dt = '20210101';
        
  • 小结**

    • 实现组织机构维度的设计及构建

02:其他维度:仓库、物流

  • 目标实现仓库维度、物流维度的构建

  • 路径

    • step1:仓库维度
    • step2:物流维度
  • 实施

    • 仓库维度

      • 建表

        -- 仓库维度表
        create external table if not exists one_make_dws.dim_warehouse(
            code string comment '仓库编码'
            , name string comment '仓库名称'
            , company_id string comment '所属公司'
            , company string comment '公司名称'
            , srv_station_id string comment '所属服务网点ID'
            , srv_station_name string comment '所属服务网点名称'
        )comment '仓库维度表'
        partitioned by (dt string)
        stored as orc
        location '/data/dw/dws/one_make/dim_warehouse';
        
      • 加载

        insert overwrite table one_make_dws.dim_warehouse partition(dt='20210101')
        select
            warehouse.code as code
            , warehouse.name as name
            , warehouse.company as company_id
            , cmp.compmay as compmay
            , station.id as srv_station_id
            , station.name as srv_station_name
        from
            one_make_dwd.ciss_base_warehouse warehouse
        -- 关联公司信息表
        left join (
             select
                   ygcode as company_id, max(companyname) as compmay
             from one_make_dwd.ciss_base_baseinfo where dt='20210101'
             -- 需要对company信息进行分组去重,里面有一些重复数据 
             group by ygcode) cmp
             on warehouse.dt = '20210101' and cmp.company_id = warehouse.company
        -- 关联服务网点和仓库关系表
        left join one_make_dwd.ciss_r_serstation_warehouse station_r_warehouse
             on station_r_warehouse.dt = '20210101' and station_r_warehouse.warehouse_code = warehouse.code
        -- 关联服务网点表 
        left join one_make_dwd.ciss_base_servicestation station
             on station.dt = '20210101' and station.id = station_r_warehouse.service_station_id;
        
    • 物流维度

      • 建表

        -- 物流维度表(和服务属性表类似)
        create external table if not exists one_make_dws.dim_logistics(
            prop_name string comment '字典名称'
            , type_id string comment '属性id'
            , type_name string comment '属性名称'
        )comment '物流维度表'
        partitioned by (dt string)
        stored as orc
        location '/data/dw/dws/one_make/dim_logistics';
        
      • 加载

        insert overwrite table one_make_dws.dim_logistics partition(dt = '20210101')
        select
            dict_t.dicttypename as prop_name
            , dict_e.dictid as type_id
            , dict_e.dictname as type_name
        from  one_make_dwd.eos_dict_type dict_t
        inner 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
                and dict_t.dicttypename in (
                    '物流公司'
                    , '物流类型'
                )
        order by dict_t.dicttypename, dict_e.dictid;
        
      • 使用如下写法会好一些

        insert overwrite table one_make_dws.dim_logistics partition (dt = '20210101')
        select dict_t.dicttypename as prop_name
             , dict_e.dictid       as type_id
             , dict_e.dictname     as type_name
        from one_make_dwd.eos_dict_type dict_t
                inner 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   -- 通过状态字符串进行关联
                and dict_t.dicttypename in ('物流公司', '物流类型') -- 通过和物流相关的字样进行过滤
        order by prop_name, type_id;
        
  • 小结**文章来源地址https://www.toymoban.com/news/detail-474406.html

    • 实现仓库维度、物流维度的构建

附录一:常见问题

1.错误:没有开启Cross Join

Exception in thread "main" org.apache.spark.sql.AnalysisException: Detected implicit cartesian product for INNER join between logical plans.Use the CROSS JOIN syntax to allow cartesian products between these relations
  • Spark2.x默认不允许执行笛卡尔积,除非显示申明cross join或者开启属性:spark.sql.crossJoin.enabled true

2.错误:Unable to move source

Error: org.apache.spark.sql.AnalysisException: org.apache.hadoop.hive.ql.metadata.HiveException: Unable to move source hdfs://hadoop.bigdata.cn:9000/data/dw/dws/one_make/dim_warehouse/.hive-staging_hive_2020-12-23_04-26-01_363_5663538019799519260-16/-ext-10000/part-00000-63069107-6405-4e31-a55a-6bdeefcd7d9b-c000 to destination hdfs://hadoop.bigdata.cn:9000/data/dw/dws/one_make/dim_warehouse/dt=20210101/part-00000-63069107-6405-4e31-a55a-6bdeefcd7d9b-c000; (state=,code=0)
  • 重启SparkSQL的ThriftServer,与MetaStore构建新的会话连接

到了这里,关于助力工业物联网,工业大数据之其他维度:组织机构【十五】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 助力工业物联网,工业大数据之ODS层构建:申明分区代码及测试【十】

    目标 :阅读ODS申明分区的代码及实现测试 路径 step1:代码讲解 step2:代码测试 实施 代码讲解 step1:为什么要申明分区? 表的分区数据由Sqoop采集到HDFS生成AVRO文件 HiveSQL基于表的目录实现了分区表的创建 但是Hive中没有对应分区的元数据,无法查询到数据 step2:怎么申明分区

    2024年02月06日
    浏览(38)
  • 助力工业物联网,工业大数据之ODS层及DWD层建表语法【七】

    一站制造项目的数仓设计为几层以及每一层的功能是什么? ODS:原始数据层:存放从Oracle中同步采集的所有原始数据 DW:数据仓库层 DWD:明细数据层:存储ODS层进行ETL以后的数据 DWB:轻度汇总层:对DWD层的数据进行轻度聚合:关联和聚合 基于每个主题构建主题事务事实表

    2023年04月26日
    浏览(38)
  • 助力工业物联网,工业大数据之服务域:node_exporter插件【三十七】_node_expoter 电源(1)

    小结 实现node_exporter插件的安装监控Linux指标 07:mysqld_exportor插件 目标 : 实现mysqld_exportor插件的安装监控MySQL指标 实施 上传安装 配置MySQL用户授权 注册服务 启动服务 配置Prometheus 自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入

    2024年04月15日
    浏览(33)
  • 探工业互联网的下一站!腾讯云助力智造升级

    数字化浪潮正深刻影响着传统工业形态。作为第四次工业革命的重要基石,工业互联网凭借其独特的价值快速崛起,引领和推动着产业变革方向。面对数字化时代给产业带来的机遇与挑战,如何推动工业互联网的规模化落地,加速数字经济与实体经济的深度融合,已成为全行

    2024年02月11日
    浏览(41)
  • Ruff物联网数采网关助力工业企业数字化转型,降本增效

    如今,随着工厂数字化转型进程的加速,越来越多的企业对于设备数据感知层及传输层的应用越来越重视,因此工业数采网关也走进了很多人的视野,在工厂数字化转型中扮演着关键角色。 物联网数据采集网关能将各种传感器、执行器等设备连接在一起,通过收集、处理和传

    2024年02月03日
    浏览(46)
  • 聚道云连接器助力钉钉与金蝶云星辰无缝对接,实现多维度数据同步

    某企业服务有限公司专注于为企业提供全方位、高质量的企业服务,致力于于企业管理咨询、企业形象策划、市场营销策划、财务管理咨询等方面。该公司拥有一支经验丰富、专业化的团队,他们深入了解企业需求,为客户提供个性化的解决方案。我们已经成功地帮助众多企

    2024年01月25日
    浏览(86)
  • 物联网制糖工业如何数据采集与远程监控

    智慧糖厂是实现从原料处理、制糖煮炼、成品包装、码垛仓储等全生产流程的自动化智能工厂。其中多个撕解设备、压榨设备、加热设备、搅拌设备、烘干设备、分离设备等相互连接、协同工作,达到高效生产、流畅生产等目的、因此,对于制糖设备的数据采集与远程监控十

    2024年02月20日
    浏览(42)
  • ADManager Plus:简化员工管理,助力组织高效运营

    在现代组织中,高效的员工管理是成功的关键之一。然而,随着员工数量的增加和组织结构的复杂化,手动处理员工管理任务变得繁琐而耗时。在这种情况下,ADManager Plus作为一款出色的员工管理解决方案,通过其卓越的功能和自动化流程,帮助组织简化员工管理过程,提高

    2024年02月07日
    浏览(43)
  • 物联网网关助力水表数据采集,打造节水型高校

    近日,教育部、水利部、国家机关事务管理局联合印发《全面建设节水型高校行动方案(2023—2028年)》,加快推动全面建设节水型高校。其中要求建立健全节水管理制度和目标责任制,对漏损严重的老旧管网及设备实施改造,加大智慧用水监管平台建设应用;同时教育、水

    2024年02月21日
    浏览(39)
  • 在工业物联网应用中保护数据隐私和安全的最佳实践

    在工业物联网(IIoT)应用中,保护数据隐私和安全是一项至关重要的工作,因为这些设备常常连接到关键基础设施,并处理敏感数据。以下是一些保护数据隐私和安全的最佳实践: 实施严格的访问控制 : 使用身份验证和授权机制来确保只有授权用户和设备可以访问数据和资

    2024年03月25日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包