当前位置:网站首页># ODS及DWD层自动化构建##, 220731,
# ODS及DWD层自动化构建##, 220731,
2022-08-02 02:57:00 【啊六六六】
OracleMetaUtil:根据表名从Oracle中获取这张表的元数据
限定元素类型,,
stored as orc
ODS层建表的时候不用指定列
Avro格式的Schema文件
hdfs放文件,自动映射,,
普通表:表的目录下就是文件
手动将数据同步到HDFS
实现自动化建表:表对应HDFS地址
申明分区
修改partition(dt=),修改hdfs,,
为什么没有数据??怎么添加数据??
为了避免读取整张表的所有数据,只读取这个分区的数据
HiveSQL来生成分区
load xxx into table partition
insert into table partition (dt) select …… dt from table
数据清洗(Data cleaning)是对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据一致性。空值,,重复值,,
class是关键词,,
list[学生对象]
dwd字段提取思路????????
表名
字段名
select
for
元数据对象,,添加对象,
注释,
列表推导式
flatmap
int:整形
float:浮点型
自动化就是1拼接字段,2schma文件格式,,,
难点就是封装类,模块,
读文件可以复用一个工具类,,
指定了分区的值:叫做静态
根据一列的值自动划分:叫做动态
差一列,就注意动态分区和静态分区问题,,,
review,,,,,,
视频注释???
有时间总结一下大致思路,总的+细节难点,,
ods层
获取数据库连接,创建库,
表名列表循环创建表,全量增量表,
拼接SQL,(获取连接,表名),(拼接建表语句,),获取表的注释通过Oracle,通过表名对应存储格式,location中判断分层 全量增量表 表名前缀 表名,
游标执行SQL(.join),
ods映射表流程,申明分区,
说明分区位置,
1msck修复分区,
2alter xxx partition(dt=20210101),循环拼接SQL,alter xxx partition(dt=20210101),修改location修改所在的hdfs地址,
dwd层,
建表,select,for每一行遍历各个列,获取到字段信息,表名,注释,
全量增量表区分,sqoop数据同步不一样,,Oracle数据类型和sparkSQL不一样,
步骤
SparkSQL连接,
拼接建库语句,库名变量,
获取表名,append拼接,
获取Oracle字段,
数据类型,(if判断,timestamp--long,精度为0或1--bigint或decimal,string),pop(-1)删除最后一位,,
dwd的hdfs路径,,
自动化建表,循环表名,拼接SQL,游标执行,
抽取数据,,partition固定值抽取数据要少一个,,
preview
边栏推荐
猜你喜欢
随机推荐
just write blindly = feelings
ReentrantLock工作原理
Go语学习笔记 - gorm使用 - 原生sql、命名参数、Rows、ToSQL Web框架Gin(九)
很有意思的经历,很有意思的项目--文件夹对比工具
数仓:为什么说 ETL 的未来不是 ELT,而是 EL (T)
pyqt上手体验
Difference between #{} and ${}
Tree Chain Segmentation-
MySQL索引优化实战
Navicat cannot connect to database Mysql because of WiFi
【LeetCode】104. Maximum depth of binary tree
PHP WebShell Free Kill
指针数组和数组指针
7、MySQL Workbench 导出导入数据库
ASP WebShell 后门脚本与免杀
2022年最新一篇文章教你青龙面板拉库,拉取单文件,安装依赖,设置环境变量,解决没有或丢失依赖can‘t find module之保姆教程(附带几十个青龙面板脚本仓库)
MySQL修改最大连接数限制
mysql8.0.28下载和安装详细教程,适配win11
树链剖分-
cadence landscape bindkey