数仓
文章平均质量分 71
从项目架构的搭建,到数据采集模块的设计、数仓架构的设计、实战需求实现,另外补充了大数据etl工具kettle,后续还会更新补充数仓相关技术
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
曾牛
成功的三个关键,坚持,坚持,再坚持
展开
-
Kylin BI工具集成
可以与Kylin结合使用的可视化工具很多,例如:ODBC:与Tableau、Excel、PowerBI等工具集成JDBC:与Saiku、BIRT等Java工具集成RestAPI:与JavaScript、Web网页集成Kylin开发团队还贡献了Zepplin的插件,也可以使用Zepplin来访问Kylin服务。1. JDBC1)新建项目并导入依赖 <dependencies> <dependency> <groupId&.原创 2022-03-29 22:13:20 · 239 阅读 · 0 评论 -
CentOS7虚拟机部署Kylin
1. Kylin 定义Apache Kylin是一个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay Inc开发并贡献至开源社区。它能在亚秒内查询巨大的Hive表。2. Kylin架构1)REST ServerREST Server是一套面向应用程序开发的入口点,旨在实现针对Kylin平台的应用开发工作。 此类应用程序可以提供查询、获取结果、触发cube构建任务、获取元数据以及获取用户权限等等。另外可以通过Restf原创 2022-03-29 18:38:40 · 350 阅读 · 0 评论 -
Linux部署可视化报表superset(python3.7.11版)
1.Superset概述Apache Superset是一个开源的、现代的、轻量级BI分析工具,能够对接多种数据源、拥有丰富的图表展示形式、支持自定义仪表盘,且拥有友好的用户界面,十分易用。2. Superset应用场景由于Superset能够对接常用的大数据分析工具,如Hive、Kylin、Druid等,且支持自定义仪表盘,故可作为数仓的可视化工具。3.Superset安装及使用3.1 安装Python环境Superset是由Python语言编写的Web应用,要求Python3.7的环境。3原创 2022-03-28 22:28:00 · 312 阅读 · 0 评论 -
Linux CentOS7部署元数据管理Atlas
1. Atlas 概述Apache Atlas 为组织提供开放式元数据管理和治理功能,用以构建其数据资产目录,对 这些资产进行分类和管理,并为数据分析师和数据治理团队,提供围绕这些数据资产的协作功能。1)表与表之间的血缘依赖2)字段与字段之间的血缘依赖2. Atlas 架构原理2. Atlas 安装1)Atlas 官网地址:https://atlas.apache.org/2)文档查看地址:https://atlas.apache.org/2.1.0/index.html3)下载地址:原创 2022-03-28 22:24:22 · 2548 阅读 · 0 评论 -
StarRocks部署
Step 1:安装JDK1.1上传JDK安装包文件/usr/local/src/ jdk-8u162-linux-x64.tar.gz1.2.解压JDK安装包文件tar -zxvf jdk-8u162-linux-x64.tar.gz1.3.配置Java环境变量[root@master jdk1.8.0_162]# vim /root/.bash_profileJAVA_HOME=/usr/local/src/jdk1.8.0_162export JAVA_HOME原创 2022-03-15 00:24:59 · 2126 阅读 · 0 评论 -
Kettle12:Kettle作业和参数
本章讲解的作业和参数有如下几个案例01 作业02 参数03 表输入参数传递-常量传递04 表输入参数传递-变量传递-转换命名参数05 表输入参数传递-变量传递-转换内设置变量和获取变量06 表输入参数传递-变量传递-作业里设置变量07 发送邮件1.作业作业简介大多数ETL项目都需要完成各种各样的维护工作。例如,如何传送文件;验证数据库表是否存在,等等。而这些操作都是按照一定顺序完成。因为转换以并行方式执行,就需要一个可以串行执行的作业来处理这些操作。一个作业包含一个或者多个作业项.原创 2021-05-12 16:32:44 · 550 阅读 · 0 评论 -
Kettle11:Kettle脚本控件
本章讲解以下三种脚本的案例01 javascript脚本02 java脚本03 执行SQL脚本脚本1.脚本是转换里面的第七个分类。2.脚本就是直接通过程序代码完成一些复杂的操作。1.javascript脚本javascript脚本就是使用javascript语言通过代码编程来完成对数据流的操作。JS中有很多内置函数,可以在编写JS代码时查看。存在两种不同的模式:不兼容模式和兼容模式不兼容模式:是默认的,也是推荐的兼容模式:兼容老版本的kettlejavascript脚本-获.原创 2021-05-12 16:32:05 · 332 阅读 · 0 评论 -
Kettle10:Kettle映射控件
映射1.映射是转换里面的第十八个分类。2.映射是用来定义子转换,便于封装和重用。映射(子转换)映射(子转换)是用来配置子转换,对子转换进行调用的一个步骤。映射输入规范映射输入规范是输入字段,由调用的转换输入。映射输出规范映射输出规范是向调用的转换输出所有列,不做任何处理。案例:从t_orders表中获取数据,根据u_id查询t_users表,获取用户信息,并把数据保存到Excel分析:输入:表数据映射:映射(子转换)输出:Excel输出映射:映射输入规范查询:数据原创 2021-05-12 16:31:18 · 587 阅读 · 0 评论 -
Kettle09:Kettle统计控件
统计1.统计是转换里面的第十三个分类。2.统计是提供数据的采样和统计功能。分组分组是按照某一个或某几个进行分组,同时可以将其余字段按照某种规则进行合并。注意:分组之前数据应该进行排序!案例:从Excel读取数据,按照group进行分组统计,把结果保存到Excel分析:输入:Excel输入统计:分组输出:Microsoft Excel输出...原创 2021-05-12 16:30:41 · 725 阅读 · 0 评论 -
Kettle08:Kettle连接控件
本章讲解一下连接控件的案例:01 合并记录02 记录关联(笛卡尔积)03 记录集连接连接1.连接是转换里面的第八个分类。2.连接是结果集通过关键字进行连接。1.合并记录合并记录是用于将两个不同来源的数据合并,这两个来源的数据分别为旧数据和新数据,该步骤将旧数据和新数据按照指定的关键字匹配、比较、合并。需要设置的参数:旧数据来源:旧数据来源的步骤新数据来源:新数据来源的步骤标志字段:设置标志字段的名称,标志字段用于保存比较的结果,比较结果有下列几种。“identical” .原创 2021-05-12 16:30:02 · 402 阅读 · 0 评论 -
Kettle07:Kettle查询控件
本章讲解Kettle如下四个查询控件的使用案例:01 HTTP client02 数据库查询03 数据库连接04 流查询查询查询是转换里面的第七个分类。查询是用来查询数据源里的数据并合并到主数据流中。1.HTTP clientHTTP client是使用GET的方式提交请求,获取返回的页面内容。自定义常量数据自定义常量数据是用来生成一些不变的数据。案例:从网络上获取xml,解析出ProductID、ProductName、SupplierID、CategoryID,保.原创 2021-05-12 14:56:51 · 335 阅读 · 0 评论 -
Kettle06:Kettle流程控件
本章讲解一下流程控件的案例:01 Switch-case02 过滤记录03 空操作04 中止流程流程是转换里面的第六个分类。流程主要用来控制数据流程和数据流向。1.Switch-caseSwitch/case让数据流从一路到多路。案例:从Excel输入读取数据,按sex进行数据分类,把女性、男性、保密分别保存不同的Excel文件里面。1表示男性0表示女性2表示保密分析:输入:Excel输入流程:Switch/case输出:Microsoft Excel输出.原创 2021-05-11 18:48:43 · 236 阅读 · 0 评论 -
Kettle05:Kettle应用控件
本章讲如下应用控件的案例:01 替换NULL值02 写日志03 发送邮件应用应用是转换里面的第五个分类。应用都是一些工具类。1.替换NULL值替换NULL值就是把null转换为其它的值。NULL值不好进行数据分析案例:从Excel中读取数据,age列的空值值使用28来替换,并保存在Excel分析:输入:Excel输入应用:替换NULL值输出:Microsoft Excel输出2.写日志写日志主要是在调试的时候使用,把日志信息打印到日志窗口。案例:从Exc.原创 2021-05-11 18:46:56 · 363 阅读 · 0 评论 -
Kettle04:Kettle转换控件
本章讲解如下几种转换组件案例:01 Concat fields02 值映射03 增加常量04 增加序列05 字段选择06 计算器07 字符串-剪切-操作-替换08 去除重复记录+排序记录09 唯一行(哈希值)10 拆分字段11 列拆分为多行12 列转行13 行转列14 行扁平化1.Concat fields转换转换是转换里面的第四个分类。转换属于ETL的T,T就是Transform清洗、转换。ETL三个部分中,T花费时间最长,是“一般情况下这部分工作量是整个ETL的.原创 2021-05-10 15:55:04 · 326 阅读 · 0 评论 -
Kettle03:kettle输出控件
本章讲的kettle输出组件,以下几种类型的案例01 Excel输出02 文本文件输出03 SQL文件输出04 表输出05 更新06 插入更新07 删除1.Excel输出:从mysql数据库的mysql库的user表读取数据插入到excel的.xls和.xlsx的文件中输出是转换里面的第二个分类。输出属于ETL的L,L就是Load加载。输出组件如下图:Excel:微软的Excel目前有两种后缀名的文件分别为:xls和xlsx。xls:2007年之前xlsx:2007年之后.原创 2021-05-10 13:45:44 · 303 阅读 · 0 评论 -
Kettle02:kettle输入控件
本章介绍以下输入控件的使用案例:01 CSV文件输入02 文本文件输入03 Excel输入04 多文件合并05 XML06 JSON Input07 生成记录08 数据库表输入1.CSV文件输入:把CSV文件的数据复制到excel文件CSV文件:CSV文件是一种带有固定格式的文本文件任务分析输入:csv文件输入输出:excel输出2.文本文件输入:把文本文件的数据复制到excel文件提取日志信息的数据是开发常见的操作,日志信息基本都是文本类型。如下.原创 2021-05-10 13:45:10 · 164 阅读 · 0 评论 -
Kettle01:Kettle入门
1.kettle简介kettle简介ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可少,这里我要学习的ETL工具是Kettle!Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后原创 2021-05-07 21:07:05 · 212 阅读 · 0 评论 -
数仓实战07:数仓搭建-ADS层
1.设备主题1.1 活跃设备数(日、周、月)需求定义:日活:当日活跃的设备数周活:当周活跃的设备数月活:当月活跃的设备数1)建表语句hive (gmall) > DROP TABLEIF EXISTS ads_uv_count;CREATE external TABLE ads_uv_count ( `dt` string COMMENT '统计日期', `day_count` BIGINT COMMENT '当日用户数量', `wk_count` BIGINT COMMEN原创 2020-08-19 09:39:48 · 794 阅读 · 0 评论 -
数仓实战06:数仓搭建-DWT层
1.设备主题宽表1)建表语句hive (gmall) > DROP TABLEIF EXISTS dwt_uv_topic;CREATE external TABLE dwt_uv_topic ( `mid_id` string COMMENT '设备唯一标识', `user_id` string COMMENT '用户标识', `version_code` string COMMENT '程序版本号', `version_name` string COMMENT '程序版本名',原创 2020-08-19 09:39:08 · 1168 阅读 · 0 评论 -
数仓实战05:数仓搭建-DWS层
1.业务术语1)用户用户以设备为判断标准,在移动统计中,每个独立设备认为是一个独立用户。Android 系统根据 IMEI 号,IOS 系统根据 OpenUDID 来标识一个独立用户,每部手机一个用户。2)新增用户首次联网使用应用的用户。如果一个用户首次打开某 APP,那这个用户定义为新增用 户;卸载再安装的设备,不会被算作一次新增。新增用户包括日新增用户、周新增用户、月新增用户。3)活跃用户打开应用的用户即为活跃用户,不考虑用户的使用情况。每天一台设备打开多次会被计为一个活跃用户。4)周(月原创 2020-08-19 09:38:26 · 753 阅读 · 0 评论 -
数仓实战04:数仓搭建-DWD层
1)对用户行为数据解析2)对核心数据进行判空过滤。3)对业务数据采用维度模型重新建模,即维度退化。1.用户行为启动表数据解析1.1创建启动表1)建表语句hive (gmall) > DROP TABLEIF EXISTS dwd_start_log;CREATE EXTERNAL TABLE dwd_start_log ( `mid_id` string, `user_id` string, `version_code` string, `version_name` st.原创 2020-08-19 09:37:53 · 830 阅读 · 0 评论 -
数仓实战03:数仓搭建-ODS 层
1.创建数据库1)启动hive[atguigu@hadoop102 hive]$ nohup bin/hive --service metastore &[atguigu@hadoop102 hive]$ nohup bin/hive --service hiveserver2 &[atguigu@hadoop102 hive]$ bin/hive2)显示数据库hive (default)> show databases;3)创建数据库hive (default)&g原创 2020-08-19 09:37:13 · 829 阅读 · 0 评论 -
数仓实战02:数仓理论
1.范式理论1. 范式概念1)定义范式可以理解为设计一张数据表的表结构,符合的标准级别。 规范和要求2)优点关系型数据库设计时,遵照一定的规范要求,目的在于降低数据的冗余性。为什么要降低数据冗余性?(1)十几年前,磁盘很贵,为了减少磁盘存储。(2)以前没有分布式系统,都是单机,只能增加磁盘,磁盘个数也是有限的(3)一次修改,需要修改多个表,很难保证数据一致性3)缺点范式的缺点是获取数据时,需要通过 Join 拼接出最后的数据。4)分类目前业界范式有:第一范式(1NF)、第二范式(原创 2020-08-19 09:36:37 · 328 阅读 · 0 评论 -
数仓实战01:数仓分层
1.为什么分层1.1 数仓分层:1.2 为什么分层2.数据集市和数据仓库概念3.数仓命名规范3.1 表命名ODS层命名为ods_表名DWD层命名为dwd_dim/fact_表名DWS层命名为dws_表名DWT层命名为dwt_购物车ADS层命名为ads_表名临时表命名为xxx_tmp用户行为表,以log为后缀。3.2 脚本命名数据源_to_目标_db/log.sh用户行为脚本以log为后缀;业务数据脚本以db为后缀。...原创 2020-08-19 09:36:06 · 602 阅读 · 1 评论 -
数仓项目实战05:ADS数据应用层
5. ADS应用数据层5.1 流量类指标_平台统计表【ADS】建库:create database ads_nshop;use ads_nshop;建表:CREATE external TABLEIF NOT EXISTS ads_nshop.ads_nshop_platform_flow_stat (customer_gender TINYINT COMMENT '性别:1男 0女',age_range string COMMENT '年龄段',customer_natives st原创 2020-07-01 09:50:03 · 1301 阅读 · 0 评论 -
数仓项目实战04:中间层和维表层
3.维表层中文含义MYSQL表名HIVE表名商品分类表nshop.categorydim_nshop.dim_pub_category店铺表nshop.supplierdim_nshop.dim_pub_supplier商品表nshop.productdim_nshop.dim_pub_product页面布局表nshop.page_dimdim_nshop.dim_pub_page通用字典表nshop comm_dimdim nshop d原创 2020-07-01 09:49:29 · 650 阅读 · 0 评论 -
数仓项目实战03:DWS公共汇总粒度事实层
2.2 DWS公共汇总粒度事实层Hive数据库建库建表:创建Hive库并进入:create database if not exists dws_nshop;use dws_nshop;2.2.1 用户主题2.2.2.1 用户启动【DWS】CREATE external TABLEIF NOT EXISTS dws_nshop.dws_nshop_ulog_launch (user_id string COMMENT '用户id',device_num string COMMENT '原创 2020-07-01 09:48:57 · 558 阅读 · 0 评论 -
数仓项目实战2:ODS贴源层
1. 第一层ODS层1 ODS层存放您从业务系统获取的最原始的数据,是其他上层数据的源数据。2 本项目中使用的ODS层数据主要包括: 用户基本信息、商品分类信息、商品信息、店铺信息、 订单数据、订单支付信息、活动信息、行为日志信息1.1 业务数据表数仓ods层和业务数据表的对应关系中文含义MYSQL表名HIVE表名用户基本信表nshop.customerods_nshop.ods_nshop_02_customer用户关注表nshop.customer_att原创 2020-07-01 09:48:03 · 8721 阅读 · 0 评论 -
数仓项目实战01:电商数仓架构介绍
1.数仓分层概述数据仓库分为三层,自下而上为:数据引入层(ODS,Operation Data Store)数据公共层(CDM,Common Data Model)数据应用层(ADS,Application Data Service)数据引入层(ODS,Operation Data Store):将原始数据几乎无处理的存放在数据仓库系统,结构上与源系统基本保持一致,是数据仓库的数据准备区。数据公共层(CDM,Common Data Model,又称通用数据模型层),包含DIM维度表、DWD原创 2020-07-01 09:47:12 · 2255 阅读 · 0 评论