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

本文涉及的产品
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 助力工业物联网,工业大数据之数仓维度层DWS层构建【十二】

数仓维度层DWS层构建

01:项目回顾

  1. ODS层与DWD层的功能与区别是什么?
  • ODS:原始数据层
  • 存储格式:AVRO
  • 数据内容:基本与原始数据是一致的
  • DWD:明细数据层
  • 存储格式:Orc
  • 数据内容:基于与ODS层是一致的
  1. ODS层的需求是什么?
  • 自动化建库建表
  • 建表
create table one_make_ods.表名
tableproperties(schema文件)
  • 表名
  • 表的注释
  • 表对应的HDFS地址
  • Schema文件的地址
  1. DWD层的需求是什么?
  • 自动化建库建表
  • 建表
create table one_make_dwd.表名(
  字段信息
)
location
  • 表名
  • 表的注释
  • 表对应的HDFS地址
  • 字段信息
  1. 怎么获取表的Schema信息?
  • 表的注释、Schema信息
  • ODS:Oracle中获取表的注释、Schema文件从Sqoop生成的
  • DWD:Oracle中获取表的信息
  • TableMeta:表名,表的注释,列的信息:List
  • ColumnMeta:列名、列的注释、列的类型、长度、精度
  1. 如何使用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文件的运行
  1. 如果实现SQL语句的执行?
  • 服务端地址:主机名 + 端口
  • 用户名和密码
  • step2:基于这个连接构建一个游标
  • step3:通过游标来执行SQL语句:execute(String:SQL)
  • step4:释放资源
  1. 集中问题
  • 连接构建不上
  • 映射不对: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. 回顾维度建模
  • 建模流程:划分主题域和主题
  • 维度设计:构建维度矩阵
  • 维度模型:雪花模型、星型模式
  1. 项目中的建模流程和维度设计
  • 划分了哪些主题域,每个主题域有哪些主题?
  • 每个主题基于哪些维度进行分析?
  1. 维度层构建
  • 时间维度
  • 地区维度
  • 油站维度
  • 服务网点维度
  • 组织机构维度
  • 仓库维度
  • 物流维度

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

  • 目标掌握维度建模的建模流程
  • 实施
  • step1-需求调研:业务调研和数据调研
  • 了解整个业务实现的过程
  • 收集所有数据使用人员对于数据的需求
  • 整理所有数据来源
  • step2-划分主题域:面向业务将业务划分主题域及主题
  • 用户域、店铺域
  • 商品域、交易域、
  • 客服域、信用风控域、采购分销域
  • step3-构建维度总线矩阵:明确每个业务主题对应的维度关系
  • step4-明确指标统计:明确所有原生指标与衍生指标
  • 原生指标:基于某一业务事件行为下的度量,是业务定义中不可再拆分的指标,如支付总金额
  • 衍生指标:基于原子指标添加了维度:近7天的支付总金额等
  • step5-定义事实与维度规范
  • 命名规范、类型规范、设计规范等
  • step6-代码开发
  • 实现具体的代码开发
  • 只要知道指标的计算方式,基于维度分组计算指标
  • 小结
  • 掌握维度建模的建模流程

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

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

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

  • 目标掌握维度设计的常用模型
  • 路径
  • step1:雪花模型
  • step2:星型模型
  • step3:星座模型
  • 实施
  • 雪花模型
  • 设计:部分维度通过其他维度间接关联事实表
  • 优点:避免数据的冗余
  • 缺点:关联层次比较多,数据大的情况下,底层层层Join,查询数据性能降低

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

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

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


相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
相关文章
|
3月前
|
消息中间件 分布式计算 大数据
大数据-166 Apache Kylin Cube 流式构建 整体流程详细记录
大数据-166 Apache Kylin Cube 流式构建 整体流程详细记录
93 5
|
3月前
|
存储 SQL 分布式计算
大数据-162 Apache Kylin 全量增量Cube的构建 Segment 超详细记录 多图
大数据-162 Apache Kylin 全量增量Cube的构建 Segment 超详细记录 多图
72 3
|
2天前
|
人工智能 分布式计算 数据处理
MaxCompute Data + AI:构建 Data + AI 的一体化数智融合
本次分享将分为四个部分讲解:第一部分探讨AI时代数据开发范式的演变,特别是MaxCompute自研大数据平台在客户工作负载和任务类型变化下的影响。第二部分介绍MaxCompute在资源大数据平台上构建的Data + AI核心能力,提供一站式开发体验和流程。第三部分展示MaxCompute Data + AI的一站式开发体验,涵盖多模态数据管理、交互式开发环境及模型训练与部署。第四部分分享成功落地的客户案例及其收益,包括互联网公司和大模型训练客户的实践,展示了MaxFrame带来的显著性能提升和开发效率改进。
|
2天前
|
存储 关系型数据库 BI
实时计算UniFlow:Flink+Paimon构建流批一体实时湖仓
实时计算架构中,传统湖仓架构在数据流量管控和应用场景支持上表现良好,但在实际运营中常忽略细节,导致新问题。为解决这些问题,提出了流批一体的实时计算湖仓架构——UniFlow。该架构通过统一的流批计算引擎、存储格式(如Paimon)和Flink CDC工具,简化开发流程,降低成本,并确保数据一致性和实时性。UniFlow还引入了Flink Materialized Table,实现了声明式ETL,优化了调度和执行模式,使用户能灵活调整新鲜度与成本。最终,UniFlow不仅提高了开发和运维效率,还提供了更实时的数据支持,满足业务决策需求。
|
2天前
|
SQL 存储 分布式计算
Hologres+Paimon构建一体化实时湖仓
Hologres 3.0全新升级,面向未来的一体化实时湖仓。它支持多种Table Format,提供湖仓存储、多模式计算、分析服务和Data+AI一体的能力。Hologres与Paimon结合,实现统一元数据管理、极速查询性能、增量消费及ETL功能。Dynamic Table支持流式、增量和全量三种刷新模式,满足不同业务需求,实现一份数据、一份SQL、一份计算的多模式刷新。该架构适用于高时效性要求的场景,也可用于成本敏感的数据共享场景。
|
21天前
|
DataWorks 数据挖掘 大数据
方案实践测评 | DataWorks集成Hologres构建一站式高性能的OLAP数据分析
DataWorks在任务开发便捷性、任务运行速度、产品使用门槛等方面都表现出色。在数据处理场景方面仍有改进和扩展的空间,通过引入更多的智能技术、扩展数据源支持、优化任务调度和可视化功能以及提升团队协作效率,DataWorks将能够为企业提供更全面、更高效的数据处理解决方案。
|
2月前
|
消息中间件 人工智能 监控
Paimon x StarRocks 助力喜马拉雅直播实时湖仓构建
本文由喜马拉雅直播业务与仓库建设负责人王琛撰写,介绍了喜马拉雅直播业务的数据仓库架构迭代升级。文章重点分享了基于 Flink + Paimon + StarRocks 实现实时湖仓的架构及其成效,通过分钟级别的收入监控、实时榜单生成、流量监测和盈亏预警,大幅提升了运营效率与决策质量,并为未来的业务扩展和 AI 项目打下坚实基础。
229 5
Paimon x StarRocks 助力喜马拉雅直播实时湖仓构建
|
3月前
|
Java 大数据 数据库连接
大数据-163 Apache Kylin 全量增量Cube的构建 手动触发合并 JDBC 操作 Scala
大数据-163 Apache Kylin 全量增量Cube的构建 手动触发合并 JDBC 操作 Scala
42 2
大数据-163 Apache Kylin 全量增量Cube的构建 手动触发合并 JDBC 操作 Scala
|
2月前
|
存储 人工智能 大数据
物联网、大数据、云计算、人工智能之间的关系
物联网、大数据、云计算、人工智能之间的关系是紧密相连、相互促进的。这四者既有各自独立的技术特征,又能在不同层面上相互融合,共同推动信息技术的发展和应用。
633 0
|
2月前
|
分布式计算 大数据 OLAP
AnalyticDB与大数据生态集成:Spark & Flink
【10月更文挑战第25天】在大数据时代,实时数据处理和分析变得越来越重要。AnalyticDB(ADB)是阿里云推出的一款完全托管的实时数据仓库服务,支持PB级数据的实时分析。为了充分发挥AnalyticDB的潜力,将其与大数据处理工具如Apache Spark和Apache Flink集成是非常必要的。本文将从我个人的角度出发,分享如何将AnalyticDB与Spark和Flink集成,构建端到端的大数据处理流水线,实现数据的实时分析和处理。
73 1

热门文章

最新文章