摘要:一、任务调度系统Airflow ### Airflow简介 ~~~ Airflow 是 Airbnb 开源的一个用 Python 编写的调度工具。 ~~~ 于 2014 年启动,2015年春季开源,2016 年加入 Apache 软件基金会的孵化计划。 ~~~ Airflow将一个工作流制定为一组任
阅读全文
摘要:一、数据导出 ### 数据导出 ~~~ ads.ads_trade_order_analysis 分区表,使用DataX导出到MySQL 二、小结 ### 脚本调用次序: ~~~ # 加载ODS数据(含DataX迁移数据) sh /data/yanqidw/script/trade/ods_load
阅读全文
摘要:NO: Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of
阅读全文
摘要:一、ADS层开发 ### 需求:计算当天 ~~~ 全国所有订单信息 ~~~ 全国、一级商品分类订单信息 ~~~ 全国、二级商品分类订单信息 ~~~ 大区所有订单信息 ~~~ 大区、一级商品分类订单信息 ~~~ 大区、二级商品分类订单信息 ~~~ 城市所有订单信息 ~~~ 城市、一级商品分类订单信息
阅读全文
摘要:一、DWS层建表及数据加载说明 ### DIM、DWD => 数据仓库分层、数据仓库理论 ~~~ # 需求:计算当天 ~~~ 全国所有订单信息 ~~~ 全国、一级商品分类订单信息 ~~~ 全国、二级商品分类订单信息 ~~~ 大区所有订单信息 ~~~ 大区、一级商品分类订单信息 ~~~ 大区、二级商品
阅读全文
摘要:一、DIM层建表加载数据:DIM层建表加载数据概述 ### 首先要确定哪些是事实表、哪些是维表。绿色的是事实表,灰色的维表 ~~~ 用什么方式处理维表,每日快照、拉链表? ~~~ 小表使用每日快照:产品分类表、商家店铺表、商家地域组织表、支付方式表 ~~~ 大表使用拉链表:产品信息表 二、DIM层建
阅读全文
摘要:一、DWD层建表加载数据说明 ### 要处理的表有两张:订单表、订单产品表。其中: ~~~ 订单表是周期性事实表;为保留订单状态,可以使用拉链表进行处理; ~~~ 订单产品表普通的事实表,用常规的方法进行处理; ~~~ 如果有数据清洗、数据转换的业务需求,ODS => DWD ~~~ 如果没有数据清
阅读全文
摘要:一、周期性事实表:有如下订单表,6月20号有3条记录(001/002/003): 订单创建日期 订单编号 订单状态 2020-06-20 001 创建订单 2020-06-20 002 创建订单 2020-06-20 003 支付完成 6月21日,表中有5条记录。其中新增2条记录(004/005),
阅读全文
摘要:一、拉链表的回滚:数据 ### 06-20拉链表数据(sh xxx.sh 2020-06-20;在2020-06-21日凌晨发出命令): ~~~ # 06-20拉链表数据(sh xxx.sh 2020-06-20;在2020-06-21日凌晨发出命令): 001 13551111111 2020-0
阅读全文
摘要:一、构建拉链表 ### 拉链表的实现 ~~~ userinfo(分区表) => userid、mobile、regdate => ~~~ 每日变更的数据(修改的+新增的) / 历史数据(第一天) ~~~ userhis(拉链表)=> 多了两个字段 start_date / end_date 二、拉链
阅读全文
摘要:一、维表拉链表应用案例:维表拉链表案例说明 二、维表拉链表建表加载数据 ### 创建用户信息表 ~~~ 用户信息 DROP TABLE IF EXISTS test.userinfo; CREATE TABLE test.userinfo( userid STRING COMMENT '用户编号',
阅读全文
摘要:一、缓慢变化维与周期性事实表 ### 缓慢变化维 ~~~ 缓慢变化维(SCD;Slowly Changing Dimensions)。 ~~~ 在现实世界中,维度的属性随着时间的流失发生缓慢的变化 ~~~ 缓慢是相对事实表而言,事实表数据变化的速度比维度表快。 ~~~ 处理维度表的历史变化信息的问题
阅读全文
摘要:一、增量数据导入 ### 增量数据导入概述 ~~~ # 3张增量表: ~~~ 订单表 yanqi_trade_orders ~~~ 订单产品表 yanqi_order_produce ~~~ 产品信息表 yanqi_product_info ~~~ 初始数据装载(执行一次); ~~~ 可以将前面的全
阅读全文
摘要:一、ODS层建表与数据加载 ### ODS建表: ~~~ ODS层的表结构与源数据基本类似(列名及数据类型); ~~~ ODS层的表名遵循统一的规范; ~~~ 所有的表都是分区表;字段之间的分隔符为, ;为表的数据数据文件指定了位置; 二、ODS层建表与数据加载 ### ODS层建表:订单表 DRO
阅读全文
摘要:一、全量数据导入 ### 全量数据导入 ~~~ MySQL => HDFS => Hive ~~~ 每日加载全量数据,形成新的分区;(ODS如何建表有指导左右) 二、全量数据导入:导入产品分类表 ### 产品分类表导入json文件 ~~~ 数据量小的表没有必要使用多个channel;使用多个chan
阅读全文
摘要:一、数据导入 ## 数据导入架构说明 ~~~ 已经确定的事情:DataX、导出7张表的数据。 ~~~ MySQL 导出:全量导出、增量导出(导出前一天的数据)。 ~~~ 业务数据保存在MySQL中,每日凌晨导入上一天的表数据。 ~~~ 表数据量少,采用全量方式导出MySQL ~~~ 表数据量大,而且
阅读全文
摘要:一、电商分析之--核心交易 ### 业务需求 ~~~ 本主题是电商系统业务中最关键的业务,电商的运营活动都是围绕这个主题展开。 ~~~ 选取的指标包括:订单数、商品数、支付金额。对这些指标按销售区域、商品类型进行分析。 二、业务数据库表结构 三、实验案例操作表 ### 业务数据库:数据源 ~~~ 交
阅读全文
摘要:一、高仿日志数据测试 ### 数据采集 ~~~ 1000W左右日活用户 ~~~ 按 30条日志 / 人天,合计3亿条事件日志 ~~~ 每条日志 650字节 左右 ~~~ 总数据量大概在180G ~~~ 采集数据时间约2.5小时 二、事件日志采集 ### 清理环境 ~~~ # 清理本地环境 ~~~ 删
阅读全文
摘要:NO: Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of
阅读全文
摘要:一、ADS层数据导出(DataX) ### 步骤: ~~~ 在MySQL创建对应的表 ~~~ 创建配置文件(json) ~~~ 执行命令,使用json配置文件;测试 ~~~ 编写执行脚本(shell) ~~~ shell脚本的测试 二、在mysql建表 ### 语法:MySQL 建表 drop ta
阅读全文