助力工业物联网,工业大数据之数仓维度层DWS层构建【十二】

news2024/11/24 7:42:04

文章目录

  • 数仓维度层DWS层构建
    • 01:项目回顾
    • 02:项目目标
    • 03:维度建模回顾:建模流程
    • 04:维度建模回顾:维度设计
    • 05:维度建模回顾:维度模型

数仓维度层DWS层构建

01:项目回顾

  1. ODS层与DWD层的功能与区别是什么?

    • ODS:原始数据层
      • 存储格式:AVRO
      • 数据内容:基本与原始数据是一致的
    • DWD:明细数据层
      • 存储格式:Orc
      • 数据内容:基于与ODS层是一致的
  2. ODS层的需求是什么?

    • 自动化建库建表

    • 建表

      create table one_make_ods.表名
      tableproperties(schema文件)
      
      • 表名
      • 表的注释
      • 表对应的HDFS地址
      • Schema文件的地址
  3. DWD层的需求是什么?

    • 自动化建库建表

    • 建表

      create table one_make_dwd.表名(
      	字段信息
      )
      location
      
      • 表名
      • 表的注释
      • 表对应的HDFS地址
      • 字段信息
  4. 怎么获取表的Schema信息?

    • 表的注释、Schema信息
    • ODS:Oracle中获取表的注释、Schema文件从Sqoop生成的
    • DWD:Oracle中获取表的信息
      • TableMeta:表名,表的注释,列的信息:List
      • ColumnMeta:列名、列的注释、列的类型、长度、精度
  5. 如何使用Python构建Oracle和Hive的连接?

    • Oracle:cx_Oracle
      • conn(host,port,user,passwd,sid)
    • Hive/SparkSQL:pyHive
      • SparkSQL用法
      • 编程方式:python文件 | jar包
        • 流程
          • step1:SparkSession
          • step2:读取数据源
          • step3:处理
            • 注册视图
            • spark.sql(“”)
        • spark-submit
        • 优点:灵活
        • 场景:DSL
      • 提交SQL:ThriftServer
        • 场景:SQL,调度开发
        • 流程
          • JDBC | PyHive | Beeline:代码中开发
          • spark-sql -f xxxx.sql:SQL文件的运行
  6. 如果实现SQL语句的执行?

    • step1: 先构建服务端的远程连接

      • 服务端地址:主机名 + 端口
      • 用户名和密码
    • step2:基于这个连接构建一个游标

    • step3:通过游标来执行SQL语句:execute(String:SQL)

    • step4:释放资源

  7. 集中问题

    • 连接构建不上
      • 映射不对:spark.bigdata.cn:Can not Connect[46.xxx.xxxx.xx,10001]
        • 修改host文件
        • 修改config.txt:node1
      • 服务端问题:spark.bigdata.cn:Can not Connect[192.168.88.100,10001]
        • Spark的TriftServer没有启动
          • 启动完成先用dg或者beeline先测试一下
        • ThriftServer:依赖于MetaStore + YARN
          • 检查YARN:本质就是一个Spark程序:实时程序,不停止的
      • Oracle:cx_Oracle + 本地客户端:D:\instantclient_12_2
    • 安装
      • Python版本:Python 3.7.4
      • 命令sasl

02:项目目标

  1. 回顾维度建模
    • 建模流程:划分主题域和主题
    • 维度设计:构建维度矩阵
    • 维度模型:雪花模型、星型模式
  2. 项目中的建模流程和维度设计
    • 划分了哪些主题域,每个主题域有哪些主题?
    • 每个主题基于哪些维度进行分析?
  3. 维度层构建
    • 时间维度
    • 地区维度
    • 油站维度
    • 服务网点维度
    • 组织机构维度
    • 仓库维度
    • 物流维度

03:维度建模回顾:建模流程

  • 目标掌握维度建模的建模流程

  • 实施

    • step1-需求调研:业务调研和数据调研

      • 了解整个业务实现的过程
      • 收集所有数据使用人员对于数据的需求
      • 整理所有数据来源
    • step2-划分主题域:面向业务将业务划分主题域及主题

      • 用户域、店铺域
      • 商品域、交易域、
      • 客服域、信用风控域、采购分销域
    • step3-构建维度总线矩阵:明确每个业务主题对应的维度关系

      image-20210518171252351
    • step4-明确指标统计:明确所有原生指标与衍生指标

      • 原生指标:基于某一业务事件行为下的度量,是业务定义中不可再拆分的指标,如支付总金额

      • 衍生指标:基于原子指标添加了维度:近7天的支付总金额等

    • step5-定义事实与维度规范

      • 命名规范、类型规范、设计规范等
    • step6-代码开发

      • 实现具体的代码开发

      • 只要知道指标的计算方式,基于维度分组计算指标

  • 小结

    • 掌握维度建模的建模流程

04:维度建模回顾:维度设计

  • 目标掌握维度建模中维度的设计

  • 实施

    • 功能:基于组合维度来更加细化我们的指标,来更加精确的发现问题
      • 指标如果不基于组合维度进行分析得到,指标的结果是没有意义的
    • 实现:开发中维度就是指标聚合时的分组字段
    • 特点
      • 数据量小
      • 很少发生变化
    • 采集方式:全量
    • 常见维度
      • 时间维度:年、季度、月、周、天、小时
      • 地区维度:国家、省份、城市
      • 平台维度:网站、APP、小程序、H5
      • 操作系统维度:Windows、Mac OS、Android、Linux、IOS
      • ……
  • 小结

    • 掌握维度建模中维度的设计

05:维度建模回顾:维度模型

  • 目标掌握维度设计的常用模型

  • 路径

    • step1:雪花模型
    • step2:星型模型
    • step3:星座模型
  • 实施

    • 雪花模型

      • 设计:部分维度通过其他维度间接关联事实表
      • 优点:避免数据的冗余
      • 缺点:关联层次比较多,数据大的情况下,底层层层Join,查询数据性能降低

      image-20210507225008950

    • 星型模型

      • 设计:所有维度表直接关联事实表
      • 优点:每次查询时候,直接获取对应的数据结果,不用关联其他的维度子表,可以提高性能
      • 缺点:数据冗余度相比雪花模型较高

      image-20210507225442704

    • 星座模型

      • 星座模型:基于星型模型的演变,多个事实共同使用一个维度表

        image-20210507225834413

  • 小结

    • 掌握维度设计的常用模型

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/531252.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《现代中学生》期刊简介及投稿要求

《现代中学生》期刊简介及投稿要求 《现代中学生》 主管单位:吉林省教育厅 主办单位: 吉林教育杂志社 国际刊号ISSN:1009-5748;国内刊号CN:22-1046/G4;邮发代号:12-52 出版周期&#xff1a…

刷题day65:整数拆分

题意描述: 给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k > 2 ),并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。. 思路: 首先dp[i]代表将i拆分,并得到的最大乘积&#xf…

springboot+jsp高校招生宣传系统java校园网站

学校招生管理系统的用户是系统最根本使用者,按需要分析系统包括两类用户:学生、管理员。这两类用户对系统的功能简要如下。 管理员通过后台的登录页面,选择管理员权限后进行登录,管理员的权限包括招生计划管理、招生录取信息管理和…

知识变现海哥:我们不生产知识,我们只是知识的搬运工!

现在大家都在谈知识付费,而且有一些东西就是书本上有的,但被录制成视频!加上专业的讲师去讲,配上PPT文档,然后发布出去,标上一定的价格后,就会有人去付费购买学习。 想想是不是很暴利&#xff1…

如何使用ArcGIS生成随机数

(本文首发于“水经注GIS”公号,关注公号免费领取地图数据) 在制图的过程中,制作某些效果需要根据字段的随机数来生成对应的颜色,所以需要操作字段生成随机数,这里为大家介绍一下ArcGIS生成随机数的方法&…

对话金现代|轻骑兵低代码开发平台,破局企业“数字化焦虑

当今世界正经历百年未有之大变局,大数据、云计算、区块链、人工智能等新技术飞速发展,越来越多的企业经营者,开始投入到数字化转型的浪潮中,期望通过数字化帮助企业实现业务增长,开启无限可能。但随着时间的推移&#…

基于平台视角下的数据交易模式及特点分析

基于平台视角下的数据交易模式及特点分析 陈宏民1, 熊红林1, 胥莉1,杨云鹏1, 卓训方2 1 上海交通大学安泰经济与管理学院,上海 200030 2 上海数据交易所有限公司,上海 201203 摘要:基于国内外数据交易市场的发展现状与平台思维视角…

用GDB调试cmake编译后的C++程序

文章目录 编译时添加参数用GDB运行程序参考 编译时添加参数 cmake -DCMAKE_BUILD_TYPEDebug <path and other arguments>用GDB运行程序 开始调试 start设置断点&#xff0c;这样会在运行到源码第6行时停止&#xff0c;可以查看变量的值、堆栈情况等&#xff1b;这个行…

71.建立一个轮播图组件第二部分

这节课我们通过绝对定位的方式来实现上一届未实现的内容&#xff01; ● 首先我们先设置一下button和图标 /* CONTROLS */.btn {background-color: #fff;border: none;height: 40px;width: 40px;}.btn-icon {height: 24px;width: 24px;}● 接着我们来设置绝对定位 .carousel {p…

如何在 FPGA 中做数学运算

FPGA 非常适合进行数学运算&#xff0c;但是需要一点技巧&#xff0c;所以我们今天就看看如何在 FPGA 中进行简单和复杂的数学运算。 介绍 由于FPGA可以对算法进行并行化&#xff0c;所以FPGA 非常适合在可编程逻辑中实现数学运算。我们可以在 FPGA 中使用数学来实现信号处理、…

Java进阶-面向对象进阶(static和继承)

1 复习回顾 1.1 如何定义类 类的定义格式如下: 修饰符 class 类名 {// 1.成员变量&#xff08;属性&#xff09;// 2.成员方法 (行为) // 3.构造方法 &#xff08;初始化类的对象数据的&#xff09; }例如: public class Student {// 1.成员变量public String name ;public…

简易axure设计原型流程

我们这里做的是移动端的项目&#xff0c;基于提供的参考视频&#xff0c;截图了app的图片&#xff0c;作为实现原型时候的背景图。 原来实现的移动端的项目是基于vant开发的&#xff0c;因而下载了vant的元件库。参考地址: Vant 4 - A lightweight, customizable Vue UI libr…

python入门(八) 书体检测和识别

文章目录 实现思路:python环境开发工具传统形态学侵蚀&#xff0c;膨胀&#xff0c;张开&#xff0c;闭合侵蚀膨胀张开闭合 canny边缘检测算法检测书法文字案例实现步骤 本人工作中&#xff0c;用到了ai相关技术&#xff0c;但是java出身&#xff0c;所以从0开始学习&#xff0…

如何高效实现客户服务自助,打造在线产品帮助中心即可

随着互联网技术的不断发展&#xff0c;越来越多的企业开始重视客户服务自助和在线产品帮助中心的建设。这不仅可以提高客户满意度&#xff0c;还可以减轻客服人员的工作压力&#xff0c;降低企业的运营成本。本文将从以下几个方面探讨如何高效实现客户服务自助&#xff0c;打造…

干旱导致狮子捕猎家畜,马赛族人猎杀十余只,人与动物如何共存

最近&#xff0c;肯尼亚马赛族人在一场血腥的激战中&#xff0c;猎杀了数十头在野外流浪的狮子&#xff0c;对于这个事&#xff0c;大家也是议论纷纷。 肯尼亚旅游部长Peninah Malonza亲自乘坐直升机从内罗毕前来处理此事&#xff0c;足见问题的严重性。值得注意的是&#xff0…

Java 17 用户采用率在一年内增长了 430%

New Relic 最新发布了一份 “2023 年 Java 生态系统状况报告”&#xff0c;旨在提供有关当今 Java 生态系统状态的背景和见解。该报告基于从数百万个提供性能数据的应用程序中收集的数据&#xff0c;对生产中使用最多的版本、最受欢迎的 JDK 供应商、容器的兴起等多方面进行了调…

激光雷达「逆势而上」,70%理想新车主的选择就是最佳答案

眼下&#xff0c;年初的整车降价潮带来的负面影响&#xff0c;还在发酵。对处于增长周期的智能驾驶赛道来说&#xff0c;受终端车型销量不确定性、白热化竞争带来的降本压力以及定点交付的备货现金流紧张等因素影响&#xff0c;可以说是对整个行业的巨大挑战。 首当其冲&#…

国内AI大模型汇总-附申请网址

文章目录 前言1. AI文本工具站效率工具自媒体创作工具代码工具 2.道和顺ChatIC3.星期五4.文心一言5.讯飞星火认知大模型6.通义千问7.商汤-日日新8.Moss9.ChatGLM10. 360智脑写在最后 前言 随着ChatGPT迅速走红,国内各大企业纷纷发力认知大模型领域。经过一段时间的酝酿&#x…

在外远程登录公司局域网下的象过河ERP管理系统,无需公网IP

文章目录 概述1.查看象过河服务端端口2.内网穿透3. 异地公网连接4. 固定公网地址4.1 保留一个固定TCP地址4.2 配置固定TCP地址 5. 使用固定地址连接 转发自CSDN远程穿透的文章&#xff1a;公网远程访问公司内网象过河ERP系统「内网穿透」 概述 ERP系统对于企业来说重要性不言而…

5.16黄金能否继续受阻?今日多空如何布局

近期有哪些消息面影响黄金走势&#xff1f;今日黄金多空该如何研判&#xff1f; ​黄金消息面解析&#xff1a;周二&#xff08;5月16日&#xff09;亚盘时段&#xff0c;现货黄金继续承压窄幅震荡&#xff0c;目前交投于2017美元/盎司附近。金价上周五触及一周最低&#xff0…