字段信息
)
location
```
+ 表名
+ 表的注释
+ 表对应的HDFS地址
+ 字段信息
-
怎么获取表的Schema信息?
- 表的注释、Schema信息
- ODS:Oracle中获取表的注释、Schema文件从Sqoop生成的
- DWD:Oracle中获取表的信息
- TableMeta:表名,表的注释,列的信息:List
- ColumnMeta:列名、列的注释、列的类型、长度、精度
-
如何使用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文件的运行
- Oracle:cx_Oracle
-
如果实现SQL语句的执行?
-
step1: 先构建服务端的远程连接
- 服务端地址:主机名 + 端口
- 用户名和密码
-
step2:基于这个连接构建一个游标
-
step3:通过游标来执行SQL语句:execute(String:SQL)
-
step4:释放资源
-
-
集中问题
- 连接构建不上
- 映射不对: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程序:实时程序,不停止的
- Spark的TriftServer没有启动
- Oracle:cx_Oracle + 本地客户端:D:\instantclient_12_2
- 映射不对:spark.bigdata.cn:Can not Connect[46.xxx.xxxx.xx,10001]
- 安装
- Python版本:Python 3.7.4
- 命令sasl
- 连接构建不上
02:项目目标
- 回顾维度建模
- 建模流程:划分主题域和主题
- 维度设计:构建维度矩阵
- 维度模型:雪花模型、星型模式
- 项目中的建模流程和维度设计
- 划分了哪些主题域,每个主题域有哪些主题?
- 每个主题基于哪些维度进行分析?
- 维度层构建
- 时间维度
- 地区维度
- 油站维度
- 服务网点维度
- 组织机构维度
- 仓库维度
- 物流维度
03:维度建模回顾:建模流程
-
目标:掌握维度建模的建模流程
-
实施
-
step1-需求调研:业务调研和数据调研
- 了解整个业务实现的过程
- 收集所有数据使用人员对于数据的需求
- 整理所有数据来源
-
step2-划分主题域:面向业务将业务划分主题域及主题
- 用户域、店铺域
- 商品域、交易域、
- 客服域、信用风控域、采购分销域
-
step3-构建维度总线矩阵:明确每个业务主题对应的维度关系
-
step4-明确指标统计:明确所有原生指标与衍生指标
- 原生指标:基于某一业务事件行为下的度量,是业务定义中不可再拆分的指标,如支付总金额
- 衍生指标:基于原子指标添加了维度:近7天的支付总金额等
-
step5-定义事实与维度规范
- 命名规范、类型规范、设计规范等
-
step6-代码开发
- 实现具体的代码开发
- 只要知道指标的计算方式,基于维度分组计算指标
-
-
小结
- 掌握维度建模的建模流程
04:维度建模回顾:维度设计
-
目标:掌握维度建模中维度的设计
-
实施
- 功能:基于组合维度来更加细化我们的指标,来更加精确的发现问题
- 指标如果不基于组合维度进行分析得到,指标的结果是没有意义的
- 实现:开发中维度就是指标聚合时的分组字段
- 特点
- 数据量小
- 很少发生变化
- 采集方式:全量
- 常见维度
- 时间维度:年、季度、月、周、天、小时
- 地区维度:国家、省份、城市
- 平台维度:网站、APP、小程序、H5
- 操作系统维度:Windows、Mac OS、Android、Linux、IOS
- ……
- 功能:基于组合维度来更加细化我们的指标,来更加精确的发现问题
-
小结
- 掌握维度建模中维度的设计
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!