Warehouse

数仓分层

扶醉桌前 提交于 2020-08-10 09:09:53
数仓分层 ODS :Operation Data Store 原始数据 DWD :data warehouse detail(数据清洗) 数据明细详情,去除空置,脏数据,超过极限范围的 明细解析 具体表 DWS :data warehouse service(宽表-用户行为,轻度聚合) 服务层-留存-转化-GMV-复购率-日活 点赞、评论、收藏 轻度聚合对DWD ADS :Application data store(出报表结果) 做分析同步到RDS数据库里边 数据集市 :狭义ADS层,广义上指DWD,DWS,ADS从hadoop同步到RDS的数据 数据搭建之ODS & DWD 1)创建gmall数据库 create database gmall 说明:如果数据库存在且有数据,需要强制删除时执行:drop database gmall cascade; 2)使用gmall数据库 use gmall; 1.ODS层 原始数据层,存放原始数据,直接加载日志、数据,数据保持原貌不做处理 1)创建启动日志表ods_start_log 创建输入数据是lzo输出时text,支持Json解析的分区数据 drop table if exists ods_start_log; create external table ods_start_log('line' string) partition

Hive 之 DDL 数据库定义语言应用(重点)

痞子三分冷 提交于 2020-08-09 10:45:54
文章目录 四、DDL 数据定义 1、创建数据库 2、查询数据库 2.1 显示数据库 2.2 查看数据库详情 2.3 切换当前数据库 3、 修改数据库 4、 删除数据库 5 、创建表 5.1 管理表 5.2 外部表 5.3 管理表与外部表的互相转换 6、 修改表 6.1 重命名表 6.2 增加、修改和删除表分区 6.3 增加/修改/替换列信息 7、 删除表 8、 清除表 四、DDL 数据定义 data defination language:数据库定义语言 1、创建数据库 (库和表在 HDFS 上都是以文件夹的形式存在) 1.1 创建一个数据库,数据库在 HDFS 上的默认存储路径是/user/hive/warehouse/*.db。 hive ( default ) > create database db_hive ; 1.2 避免要创建的数据库已经存在错误,增加 if not exists 判断。(标准写法) hive ( default ) > create database db_hive ; FAILED: Execution Error , return code 1 from org . apache . hadoop . hive . ql . exec . DDLTask . Database db_hive already exists hive (

Kafka Connect 启动服务以及提交任务初体验

只谈情不闲聊 提交于 2020-08-07 04:51:18
Kafka提供两种启动方式,一种是单机版standalone,一种是分布式版distributed,与之想对应的配置文件也是分开的 单机版的配置文件:connect-standalone.properties 分布式的配置文件:connect-distributed.properties 单机启动方式:bin/connect-standalone.sh -daemon config/connect-standalone.properties config/connect-console-sink.properties 分布式启动方式:bin/connect-distributed.sh -daemon config/connect-distributed.properties 启动完之后就能通过curl的方式请求确认服务是否正常 curl localhost:8083/connectors 单机模式配置信息在提交的配置文件里面,例如:config/connect-console-sink.properties 集群模式需要通过REST API去提交 基于Debezium 的CDC为例,介绍下如何提交一个Kafka Connect source 任务: curl -X POST -H "Content-Type: application/json" http://localhost

深入解读Flink资源管理机制

跟風遠走 提交于 2020-08-06 10:09:15
作者:宋辛童(五藏) 整理:王文杰(Flink 社区志愿者) 摘要:本文根据 Apache Flink 系列直播整理而成,由阿里巴巴高级开发工程师宋辛童分享。文章主要从基本概念、当前机制与策略、未来发展方向等三个方面帮助开发者深入理解 Flink 的资源管理机制。 基本概念 当前机制与策略 未来发展方向 Tips: 点击「下方链接」可查看更多数仓系列视频~ https://ververica.cn/developers/flink-training-course-data-warehouse/ 1. 基本概念 1.1 相关组件 我们今天介绍的主要是与 Flink 资源管理相关的组件,我们知道一个 Flink Cluster 是由一个 Flink Master 和多个 Task Manager 组成的,Flink Master 和 Task Manager 是进程级组件,其他的组件都是进程内的组件。 图1. Flink 资源管理相关组件 如图1所示,一个 Flink Master 中有一个 Resource Manager 和多个 Job Manager ,Flink Master 中每一个 Job Manager 单独管理一个具体的 Job ,Job Manager 中的 Scheduler 组件负责调度执行该 Job 的 DAG 中所有 Task ,发出资源请求

大数据篇:一文读懂@数据仓库(PPT文字版)

坚强是说给别人听的谎言 提交于 2020-08-06 03:59:24
大数据篇:一文读懂@数据仓库 1 网络词汇总结 1.1 数据中台 数据中台是聚合和治理跨域数据,将数据抽象封装成服务,提供给前台以业务价值的逻辑概念。 数据中台是一套可持续“让企业的数据用起来”的机制,一种战略选择和组织形式,是依据企业特有的业务模式和组织架构,通过有形的产品和实施方法论支撑,构建一套持续不断把数据变成资产并服务于业务的机制。 数据中台连接数据前台和后台,突破数据局限,为企业提供更灵活、高效、低成本的数据分析挖掘服务,避免企业为满足具体某部门某种数据分析需求而投放大量高成本、重复性的数据开发成本。 数据中台是指通过数据技术,对海量数据进行采集、计算、存储、加工,同时统一标准和口径。数据中台把数据统一之后,会形成标准数据,再进行存储,形成大数据资产层,进而为客户提供高效服务。 数据中台,包括平台、工具、数据、组织、流程、规范等一切与企业数据资产如何用起来所相关的。 可以看出,数据中台是解决如何用好数据的问题,目前还缺乏一个标准,而说到数据中台一定会提及大数据,而大数据又是由数据仓库发展起来的。 1.1.1 数据仓库(Data WareHouse) 数据仓库,按照传统的定义,数据仓库是一个面向主题的、集成的、非易失的、反映历史变化(随时间变化),用来支持管理人员决策的数据集合。 为企业所有决策制定过程,提供所有系统数据支持的战略集合 面向主题

MYSQL数据库学习系列四

…衆ロ難τιáo~ 提交于 2020-07-27 07:56:36
MYSQL数据库学习系列四 四.MYSQL的应用优化 4.1-MySQL索引优化与设计 什么是索引 索引的意义 —— 快速定位要查找的数据 数据库索引查找 全表扫描 VS 索引查找 如何根据首字母找到所在行 二分查找 B+tree InnoDB表聚簇索引 索引中只放着排序字段和ID 创建索引 单列索引 create index idx_test1 on tb_student (name); 联合索引 create index idx_test2 on tb_student (name, age); 索引中先根据name排序,name相同的情况下,根据age排序 索引维护 索引维护由数据库自动完成 插入/修改/删除每一个索引行都会变成一个内部封装的事务 索引越多,事务越长,代价越高 索引越多对表的插入和索引字段修改就越慢 控制表上索引的数量,切忌胡乱添加无用索引 如何使用索引 依据WHERE查询条件建立索引 select a, b from tab_a where c=? ; idx_c (c)select a, b from tab_a where c=? and d=?; idx_cd (c, d) 排序order by, group by, distinct字段添加索引 select from tb_a order by a;select a,

ANTVUE项目实战三

五迷三道 提交于 2020-05-02 11:43:14
多选和默认 <a-form-item label="选择仓库" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-select v-decorator="['WarehouseId', { rules: [{ required: true ,message:'请选择'}],initialValue: warhousecollection[0].Id }]"> <a-select-option v- for ="d in warhousecollection" :key="d.Id" :value="d.Id">{{d.Warehouse}}</a-select-option> </a-select> </a-form-item> mounted() { this .loading = true this .$http.get('/BaseWarehouse/T_Warehouse/GetDataListAll').then(resJson => { this .loading = false if (resJson.Success) { // this.$message.success('操作成功!') this .warhousecollection= resJson.Data // this.form

数据库与数据仓库的区别实际讲的是OLTP与OLAP的区别

扶醉桌前 提交于 2020-05-01 21:50:25
什么是数据仓库 数据仓库,英文名称为 Data Warehouse ,可简写为 DW 或 DWH 。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它出于分析性报告和决策支持目的而创建。 为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。 数据仓库的特点 1 .数据仓库的数据是面向主题的 与传统数据库面向应用进行数据组织的特点相对应,数据仓库中的数据是面向主题进行组织的。什么是主题呢?首先,主题是一个抽象的概念,是较高层次上企业信息系统中的数据综合、归类并进行分析利用的抽象。在逻辑意义上,它是对应企业中某一宏观分析领域所涉及的分析对象。面向主题的数据组织方式,就是在较高层次上对分析对象的数据的一个完整、一致的描述,能完整、统一地刻划各个分析对象所涉及的企业的各项数据,以及数据之间的联系。所谓较高层次是相对面向应用的数据组织方式而言的,是指按照主题进行数据组织的方式具有更高的数据抽象级别。 2. 数据仓库的数据是集成的 数据仓库的数据是从原有的分散的数据库数据抽取来的。操作型数据与 DSS 分析型数据之间差别甚大。第一,数据仓库的每一个主题所对应的源数据在原有的各分散数据库中有许多重复和不一致的地方,且来源于不同的联机系统的数据都和不同的应用逻辑捆绑在一起;第二,数据仓库中的综合数据不能从原有的数据库系统直接得到

Kettle解决方案: 第五章 ETL相关知识

匆匆过客 提交于 2020-04-25 05:54:17
早期, ETL知识作为BI系统的一部分来介绍. 后来在The Data Warehouse ETL Tooket一书中, 系统性的整理了ETL的相关内容, 形成了一篇"ETL里的34个子系统"的介绍, 总结了ETL项目面临的不同任务. 安装类型分类其实主要分为: 1抽取 对应原文子系统1~3 2清洗更正 对应原文4~8 3发布 34个子系统有13个属于这个范畴 4管理 对应原文22~34 5.1 抽取 从不同数据源抽取数据. 访问数据源的政策性风险, 安全性和性能都是挑战. 对应子系统1,2,3 (数据剖析, 增量数据捕获, 抽取系统) 5.2 清洗更正 数据加载到目标数据仓库之前所做的必要的清洗和更正工作. 例如处理用户的性别, 用新的数据类型来存储管理. 对应子系统4 (数据清洗和质量处理系统) 子系统5(错误事件处理) 子系统6 (审计纬度) 子系统7 (排除重复记录系统) 子系统8 (数据一致性) 5.3 数据发布 保证正确的更新/新增数据到目标数据库. 对应 子系统9 (缓慢变更纬度处理) 子系统10 (代理键生成系统) :增加序列之类的. 子系统11 (层次维度构建) 比如时间纬度, 地理纬度等 子系统12 (特殊纬度生成系统) : 杂项纬度, 小纬度,自定义纬度等 子系统13 (事实表加载) 单独出来是为了签到三种不同类型的事实表: 事务粒度事实表, 周期快照事实表,

Arouter核心思路和源码详解

末鹿安然 提交于 2020-04-24 17:55:40
前言 阅读本文之前,建议读者: 对Arouter的使用有一定的了解。 对Apt技术有所了解。 Arouter是一款Alibaba出品的优秀的路由框架,本文不对其进行全面的分析,只对其最重要的功能进行源码以及思路分析,至于其拦截器,降级,ioc等功能感兴趣的同学请自行阅读源码,强烈推荐阅读云栖社区的 官方介绍 。 对于一个框架的学习和讲解,我个人喜欢先将其最核心的思路用简单一两句话总结出来:ARouter通过Apt技术,生成保存 路径(路由path) 和 被注解(@Router)的组件类 的映射关系的类,利用这些保存了映射关系的类,Arouter根据用户的请求postcard(明信片)寻找到要跳转的目标地址(class),使用Intent跳转。 原理很简单,可以看出来,该框架的核心是利用apt生成的映射关系,这里要用到Apt技术,读者可以自行搜索了解一下。 分析 我们先看最简单的代码的使用: 首先需要在需要跳转的组件添加注解 @Route(path = "/main/homepage") public class HomeActivity extends BaseActivity { onCreate() .... } 然后在需要跳转的时候调用 Arouter.getInstance().build("main/hello").navigation; 这里的路径“main/hello