【项目实战】DWD 层创建&数据接入
时间:2022-07-25
本文章向大家介绍【项目实战】DWD 层创建&数据接入,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
DWD 层分析
DWD 层的作用是对 ODS 层的数据进行清洗,但因为业务数据库的数据质量很高,所以只需要去除空数据即可。
除了数据清洗外,DWD 层还需要对 ODS 层的数据进行维度退化。而所有的表中,分类表可以被退化,维度合并到商品表中。即为商品表增加 6 列,分别存放一二三级品类的名称和 ID,并删除三张分类表。
DWD 层创建
在 DWD 层,基本保留所有表,然后减少分类表,并入到商品表中。
1. 在 Node03 节点,/home/warehouse/sql 目录下编写 dwd_ddl.sql,创建 DWD 层数据表:
vim /home/warehouse/sql/dwd_ddl.sql
脚本内容如下:
-- 进入数据库
use mall;
-- 创建订单表
drop table if exists dwd_order_info;
create external table dwd_order_info (
`id` string COMMENT '',
`total_amount` decimal(10,2) COMMENT '',
`order_status` string COMMENT ' 1 2 3 4 5',
`user_id` string COMMENT 'id' ,
`payment_way` string COMMENT '',
`out_t
- HBase 写优化之 BulkLoad 实现数据快速入库
- 玩转 Linux 之:由 Nginx log rotation 聊聊 mv 的妙用
- 玩转 SHELL 脚本之:linux date 知多少?
- Hive 中的 LEFT SEMI JOIN 与 JOIN ON 的前世今生
- Yaffs_guts
- 4大分析工具的代码表白术,520花式秀恩爱!
- yaffsfs.c
- yaffs_bitmap
- 原创 | 实战:R环境下Echart的8种可视化
- Yarn(MapReduce 2.0)下分布式缓存(DistributedCache)的注意事项
- Yaffs_guts(三)
- 浅谈 python multiprocessing(多进程)下如何共享变量
- 文件地址映射之yaffs_GetTnode
- bash/shell 解析命令行参数工具:getopts/getopt
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android Studio实现简单的QQ登录界面的示例代码
- Android 自定义SeekBar 实现分段显示不同背景颜色的示例代码
- 从约瑟夫环看循环链表
- Android 自定义LineLayout实现满屏任意拖动功能的示例代码
- Android scheme 跳转的设计与实现详解
- Android获取与设置系统环境变量的方法指南
- Android 通过腾讯TBS实现文件预览功能
- 使用VideoView播放App中的资源文件
- android 限制某个操作每天只能操作指定的次数(示例代码详解)
- pymysql connect 连接mysql 报错keyerror255
- 使用android studio开发工具编译GBK转换三方库iconv的方法
- Android在类微信程序中实现蓝牙聊天功能的示例代码
- python中的yield和return—迭代器和生成器
- Android studio有关侧滑的实现代码
- 图片按照宽度等比例缩放