自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(159)
  • 资源 (11)
  • 收藏
  • 关注

原创 一文探究数据仓库体系(2.7万字建议收藏)

​一什么是数据仓库1.1数据仓库概念数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它出于分析性报告和决策支持目的而创建。1.2数据仓库特点1.2.1面向主题普通的操作型数据库主要面向事务性处理,而数据仓库中的所有数据一般按照主题进行划分。主题是对业务数据的一种抽象,是从较高层次上对信息系统中的数据进行归纳和整理。面向主题的数据可以划分成两部分--...

2020-10-19 10:02:41 2506 8

原创 数据仓库架构及模型设计基础

注:本文所有内容摘自《Hadoop构建数据仓库实践》1.数仓架构1.1数据集市架构数据集市是按主题域组织的数据集合,用于支持部门级的决策。有两种类型的数据集市:独立数据集市和从属数据集市。独立数据集市集中于部门所关心的单一主题域,数据以部门为基础部署,无须考虑企业级别的信息共享与集成。例如,制造部门、人力资源部门和其他部门都各自有他们自己的数据集市。独立数据集市从一个主题域或一个部...

2019-06-26 21:58:18 10309 1

原创 hive之left join详解

目录一 表结构1.1 医生主表1.2 医生服务次数表二 left join查询1.1 on后面加and条件1.1.1 sql语句1.1.2 查询结果1.1.3 执行计划1.2 把条件放在where后面1.2.1 sql语句1.2.2 查询结果1.2.3 执行计划1.3 子查询1.3.1 sql语句1.3.2 查询结果1.3.3 执行计...

2019-05-21 21:57:01 29620 1

原创 学习MapReduce?这一篇就够了

目录1 MapReduce原理1.1 为什么要MapReduce1.2 MapReduce框架结构及核心运行机制1.2.1 结构1.2.2 MR程序运行流程1.3 MapTask并行度决定机制1.3.1 mapTask并行度的决定机制1.3.2 FileInputFormat切片机制1.4 ReduceTask并行度的决定1.5MapReduce程序演...

2018-09-01 08:18:08 18664 13

原创 Logstash安装及使用

目录1 简介1.1 Inputs1.1.1 Input plugins1.2 Filters1.3 Output1.3.1 Output plugins1.3.2 Csv输出插件示例1.4 Logstash特点1.4.1 即插即用1.4.2 可扩展性1.4.3 耐用性和安全性1.4.4 检测1.4.5 管理与检查2 安装2.1 下载...

2018-08-18 13:40:14 12778 2

原创 Flume日志采集

目录一 前言二 概述2.1 什么是Flume2.2 Flume特性三 Flume原理3.1 Flume组件详解3.2 Flume采集结构图3.2.1 简单结构3.2.2 复杂结构4 Flume实战案例4.1 Flume的安装部署4.2 采集案例4.2.1 采集目录到HDFS4.2.2 采集文件到HDFS4.3 更多source和si...

2018-08-08 15:21:36 14830 3

原创 Hbase从入门到入坑

目录一 什么是HBASE二 安装HBASE三 hbase初体验四 HBASE客户端API操作五 HBASE运行原理5.1 master职责5.2 Region Server 职责5.3 zookeeper集群所起作用5.4 HBASE读写数据流程5.5 hbase:meta表5.6 Region Server内部机制一 什么是HBASEH...

2018-08-06 13:59:20 12602

原创 数仓建模(数据模型)

目录1.什么是数据模型2.为什么需要数据仓库模型3.如何建设数据仓库模型3.1 数据仓库数据模型架构3.2 数据仓库建模阶段划分3.4 数据仓库建模方法1.什么是数据模型数据模型是抽象描述现实世界的一种工具和方法,是通过抽象的实体及实体之间联系的形式,来表示现实世界中事务的相互关系的一种映射。在这里,数据模型表现的抽象的是实体和实体之间的关系,通过对实体和实...

2018-08-05 20:04:52 22635 4

原创 0005-对于大数据学习与复习,我想给你划个重点

近期陆陆续续的会有一些读者朋友咨询一些学习大数据或者大数据面试的事,由于时间关系,我一般会简单的说一些大方向,然后会让去b站找一些认可度比较高的项目,但是这样的话,总感觉有点敷衍了,还是想好好的给大家画个重点可以看出,其实迷茫的小伙伴还是非常多的,他们有的是外行转IT大数据,有些是互联网其他岗位转大数据,比如java开发,软件测试,大数据运维等,还有的是本身干着大数据或者数仓,但是不知从哪些方向进行提升。

2023-07-28 13:36:56 203

原创 数据治理脑图

2023-06-21 14:47:14 179

原创 数据治理(数据模型,数据规范,数据安全,数据成本,元数据,数据质量等)

因此,数据质量管理要形成完善的体系,建立持续改进的流程和良性机制,持续监控各系统数据质量波动情况及数据质量规则分析,适时升级数据质量监控的手段和方法,确保持续掌握系统数据质量状况,最终达到数据质量的平稳状态,为业务系统提供良好的数据保障。数据质量管理相对来说成本比较高。常见的业务元数据有维度及属性(包括维度编码,字段类型,创建人,创建时间,状态等)、业务过程、指标(包含指标名称,指标编码,业务口径,指标类型,责任人,创建时间,状态,sql等),安全等级,计算逻辑等的规范化定义,用于更好地管理和使用数据。

2023-06-21 14:45:53 920

原创 数据血缘分析

例如:有的企业是直接引用现有的开源工具,有的企业是结合自身的产品进行自研,有的企业可能只做到表级别,有的企业做到字段级别。那么本篇将会为读者们提供一种表级别粒度的分析功能,并通过可视化的方式为大家展示,当然本篇文章是属于抛砖引玉,主要是给大家提供一种思路。2、spark通过analyzer结合catalog对未解析的逻辑计划,进行一系列的规则绑定,应用数据信息,生成Resolved Logical Plan,此时的计划也是按照原来的节点原封不动进行绑定,并没有做任何的优化.1、什么是血缘分析?

2023-06-21 14:24:44 1165

原创 数据成本治理

很多时间,我们的任务不但有实时,t+1,甚至还会有小时任务,每小时跑一次,众所周知,这是非常占资源的,我们要和业务方,需求方取沟通,看一下没必要的小时任务是否可以转化为日任务。数据开发的开发水平参差不齐,所以对于任务来说,是有非常大的优化空间的,可以从各方面取调优,比如数据倾斜,小文件,存储,压缩。用阿里云服务器还好,会有实际的账单,但是如果是自己买的服务器搭建的大数据生态,可能不知道怎么去量化成本,然后做成本治理。通过数据地图,找出无用数据或者是用频次很低的数据,跟业务方沟通后及时下线。

2023-06-21 14:22:32 355

原创 202303最新各大厂大数据核心面试题

2. 字节:你说的分组聚合的数据倾斜,利用map-side在map端预聚合,但是如果倾斜的key分布比较散乱在不同的mapTask上,每个mapTask预聚合的条数有限,预聚合后还是有大量倾斜的key要做shuffle怎么办?flink的数据倾斜,flink的背压。1. 阿里:上面的回答都是理论上的,有没有实际中的hive的优化,高级一点的?面试官立刻追问:你的事实表的数据是当日实时来的,但是维度表的数据还是前一日全量同步来的,那么事实表就拿不到维度表的当日数据啊,维度的数据就不是最新的啊,你怎么解决的?

2023-04-18 17:12:01 312 1

原创 一文带你全方位(架构,原理及代码实现)了解Flink(3.2W字建议收藏)

注:最底部有PDF目录​一 flink简介1.1 什么是flinkApache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。Flink以数据并行和流水线方式执行任意流数据程序,Flink的流水线运行时系统可以执行批处理和流处理程序。此外,Flink的运行时本身也支持迭代算法的执行。1.2 flink特点 批流统一 支持高吞吐、低延迟、高性能的流处 支持带有事件...

2021-09-12 13:32:20 3282 7

原创 0001-2-Hive常用开窗函数

一row_number() over()有如下数据: 江西,高安,100 江西,南昌,200 江西,丰城,100 江西,上高,80 江西,宜春,150 江西,九江,180 湖北,黄冈,130 湖北,武汉,210 湖北,宜昌,140 湖北,孝感,90 湖南,长沙,170 湖南,岳阳,120 湖南,怀化,100 需要查询出每个省下人数最多的2个市 create table we..

2021-09-12 13:31:23 543 1

原创 0001-1-HiveSql(解释,编译,优化,执行)源码

一 架构图1.1 官网架构图Driver组件:该组件包括Parser、Compiler、Optimizer和Executor,它的作用是将hivesql进行解析、编译、优化,生成执行计划,然后调用底层的mapreduce计算框架。解释器(Parser):将SQL转化为抽象语法树AST;编译器(Compiler):将AST编译成逻辑执行计划;优化器(Optimizer):对逻辑执行计划进行优化;执行器(Executor):将逻辑执行计划转成可执行的物理计划;1.2..

2021-09-12 13:30:17 545

原创 0037-数据集市,Inmon架构及Kimball架构

在数据仓库持续演进的过程中,逐渐产生了不少的架构方法,主要有Inmon架构,Kimball架构,数据集市架构及混合架构等。一 数据集市先说说数据集市吧,数据集市也不是之前单独按照每个部门去搭建的,都是出自搭建好的企业级数据仓库。属于从属数据集市,可以有效消除各部门数据不一致的情况。早期数据集市:从属数据集市:二 Inmon架构我们先来看下面一张图可以发现:Inmon架构的数据仓库存储的是最细粒度的数据...

2021-09-12 13:26:55 676

原创 0009-维表的拆分与整合

之前有讲到如何设计维表,对应的主键设计及维度属性选择,但是我们在设计完相关维表并且上线后,可能会根据实际情况对维表进行相关的优化操作。一 整合1.1 垂直整合选择一个主维度表,把其他的相关维度表的属性关联上去,可以丰富主维表的维度属性,方便使用,减少关联。 用户id 微信号 手机号 。。。 ..

2021-09-12 13:26:34 675

原创 0007-缓慢变化维(SCD)

一 什么是缓慢变化维在实际生产情况中,我们的很多维度属性并不是一成不变的,比如医院等级,vip等级,英雄联盟段位等如,LOL游戏中,最开始你没段位,经过定级赛之后,你定到了白银,经过3个月的努力,你升到了黄金段位,这种变化,我们称其为缓慢变维那么我们应该怎么去处理这种数据呢?处理方案是有很多种的,但是不变的是,我们必须得根据我们的业务场景去选择合适的解决方案,甚至要和业务方去沟通,熟悉业务才能寻找最优解。二 解决方案1.属性值不变啥也不用改,就..

2021-09-12 13:24:23 349

原创 0005-数据开发规范

俗话说,无规矩不成方圆,在数据开发领域同样也是适用的。是不是经常听到这样的抱怨:我擦,这张表怎么特么的注释都没有? 我日,这个字段命名怎么是拼音全称?怎么这张表的订单id是string类型,那张表的是订单id是bigint类型? 害,烦死了,这是谁开发的任务,库名/项目名都没写,我这去其他项目下跑还得一个个加上。这代码谁写的?2张表join获取相关字段,也不写一下表的别名,我哪知道这是这是取自哪张表的 ? 运维任务又报错了? 这是谁写的select * ,union all呀,..

2021-09-04 10:47:49 578

原创 0004-数据清洗

在我们想尽各种办法把数据弄进数据仓库ods层后,接下来的事情就比较有意思了,并且比较重要,对后续的数据模型建设,数据质量的保证,甚至影响管理层的决策(就问你怕不怕?)那么,对于ETL过程中的数据清洗,你一般会怎么做呢?但凡你真正的做过数仓,我认为这些都是轻车熟路的,因为这是数据研发的必经之路我在对候选人进行考察的时候,也经常会问到这个问题,主要是看一下候选人有没有真实工作经验,然后在开发过程中有没有独立思考,并且知其然更知其所以然,但是候选人回答的都比较片面,比如只是处理空值,可..

2021-09-04 10:47:02 369 1

原创 0003-数据同步策略

我们要搭建数据仓库,那么数据是来自哪里呢?答案很明显,一般来说,数据会来自3个方向,业务库数据,日志数据及爬虫数据,对于爬虫数据,我们就不做过多的分析,一般就是爬一些竞品信息,维表信息。业务库数据什么是业务库数据,指的是业务系统产生的数据,这个业务系统可以是你们公司的官网,app或者小程序。对于业务库数据,如果是t+1同步抽取的话,我们一般会选择sqoop或者datax,当然,有些传统企业会使用kettle,不过个人认为kettle还是比较重的,而且好像也不太方便,所..

2021-09-04 10:46:18 256 1

原创 0002-数据探查

给你一个需求或者一条新的业务线可能需要搭建数仓,做数据处理,然后提供一些指标数据给到需求方,你这边会怎么开始呢?当你接到这个需求的时候,直接开干?抽表,清洗,分层,建模?呵呵,这就是瞎搞。啥也不知道不了解的情况下,对数据源一无所知的情况下,是谁给你勇气直接开干的?正常情况下,接到新的数据需求或者任务的时候,我们最开始应该需要做一下数据调研,或者说数据探查。那么问题来了,具体我们应该做些啥呢?就拿接到一个需求来举例说明吧:业务方让你统计一些数..

2021-09-04 10:45:30 650

原创 0006-9-使用SQL实现DQC

一 前言在本系列文章中,我们会介绍如何从0到1做DQC。数据可能由于很多原因而出现错误,比如数据重复,schema变动等。DQC是我们保证数据准确性的第一道防线。好的DQC应当在观察到数据出现问题时,能够自动进行报警,进而通知相关人员进行修复。DQC有五个方面:Freshness:我的数据是最新的吗? 我的数据是否存在滞后的情况? Distribution:在字段这个级别上,我的数据是准确的吗?每个字段的值的范围是否都符合预期?Volume:我的收集到的数据是否有缺失? Schem..

2021-09-04 10:44:31 340

原创 0006-4-数据成本治理

数据成本治理1 为什么要做成本治理最主要的原因应该是减少企业成本,让企业走提效降本的可持续发展道路。2 目前存在的问题2.1 机器利用率低比如所有任务都是在晚上跑,白天机器大部分空闲,直接导致资源浪费,利用率非常低2.2 存储周期过长,存储资源增长过快有的表,大家没有设置生命周期,或者没有定时删除分区,导致分区太多,数据膨胀,存储资源需要补充2.3 成本没有量化标准用阿里云服务器还好,会有实际的账单,但是如果是自己买的服务器搭建的大数据生态,可能不知道怎么去量化成本,..

2021-09-04 10:33:49 489

原创 0006-1-数据质量管理.ppt

一 数据质量二 数据质量概述2.1 基本概念2.2 影响因素三 数据质量评价方法四 数据质量管理4.1 事情定义监控规则4.2 事中稽核数据质量4.3 事后分析数据质量五 数据质量愿景...

2021-09-04 10:26:47 388

原创 0004-3-数据模型.ppt

2021-09-04 10:25:55 174

原创 0004-1-模型好坏评判标准

一 完善度汇总数据能直接满足多少查询需求,即应用层访问汇总层数据的查询比例 跨层引用率:ODS 层直接被 DWS/ADS/DM 层引用的表,占所有 ODS 层表(仅统计活跃表)比例快速响应业务方的需求比较好的模型,使用方是可以直接从该模型获取所有想要的数据的,如果dws,ads,dm层直接引用ods层的表比例太大,即跨层引用率太高,则该模型不是最优,可以继续优化二 复用度模型引用系数:模型被读取并产出下游模型的平均数量三 规范度主题域归属 分层信息脚本及任务明明规范 表命..

2021-09-04 10:24:53 1368

原创 0001-1-HiveSql(解释,编译,优化,执行)源码

一 架构图1.1 官网架构图Driver组件:该组件包括Parser、Compiler、Optimizer和Executor,它的作用是将hivesql进行解析、编译、优化,生成执行计划,然后调用底层的mapreduce计算框架。解释器(Parser):将SQL转化为抽象语法树AST;编译器(Compiler):将AST编译成逻辑执行计划;优化器(Optimizer):对逻辑执行计划进行优化;执行器(Executor):将逻辑执行计划转成可执行的物理计划;1.2..

2021-09-04 10:22:56 503

原创 一文带你全方位(架构,原理及代码实现)了解Flink(3.2W字建议收藏)

注:最底部有PDF目录一 flink简介1.1 什么是flinkApache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。Flink以数据并行和流水线方式执行任意流数据程序,Flink的流水线运行时系统可以执行批处理和流处理程序。此外,Flink的运行时本身也支持迭代算法的执行。​1.2 flink特点 批流统一 支持高吞吐、低延迟、高性能的流处 支持带有事件...

2021-02-03 19:54:57 2670

原创 面试官:说一下数仓宽表的优缺点吧

​群友爆料,经常面试会遇到面试官问宽表优缺点的问题,问法也是有所不同 说一下数仓宽表的优缺点吧? 你们公司宽表用起来感觉怎么样,遇到什么问题吗? 你们为什么要设计成宽表呢? 一 什么是宽表 宽表,通常是指业务主题相关的指标、维度、属性关联在一起的一张数据库表。 在数据仓库建设中,组织相关和相似数据,采用明细宽表,复用关联计算,减少数据扫描,提高明细数据表的易用性 在汇总数据层,加...

2021-02-03 19:48:47 4107

原创 Hive高阶聚合函数

如果需要多维度做一些指标统计,数据量比较大的话,我们一般会选择olap引擎,比如kylin等,但是如果数据量不是很大的话,hive也是可以实现的。 create table wedw_tmp.hive_function_test_df ( province_name string comment '省份名称' ,city_name string comment '城市名称' ,area_...

2021-02-03 19:47:32 511

原创 面试官:说一下row_number等3大排名函数的区别

面试官:说一下row_number,rank和dense_rank的区别答:啥,我不知道呀,没用过面试官:好的,今天咱们就先到这吧,回去等通知!一 数据准备 create table wedw_tmp.t_province_people_cnt_info_df( province_name string COMMENT '省份' ,people_cnt int COMMENT '人口数' ) row format delim...

2021-02-03 19:46:39 442

原创 面试官Kylin夺命十三问

一 数据准备 create table wedw_dw.t_kylin_test_df( province_id string ,city_id string ,hosp_id string ,user_id string ,date_id string ,amt double ) row format delimited fields terminated by ', 浙江,杭州,浙一,小明,20...

2021-02-03 19:45:33 544

原创 一文带你走进clickhouse的世界(3W字建议收藏)

​一clickhouse简介1.1什么是clickhouseClickHouse是俄罗斯的Yandex于2016年开源的一个用于联机分析(OLAP:Online Analytical Processing)的列式数据库管理系统(DBMS:Database Management System),简称CH ,主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告。ClickHouse是一个完全的列式数据库管理系统,允许在运行时创建表和数据库,加载数据和运...

2021-02-03 19:43:32 2014 1

原创 Hive/Spark小文件解决方案(企业级实战)

​程序产生小文件的原因程序运行的结果最终落地有很多的小文件,产生的原因: 读取的数据源就是大量的小文件 动态分区插入数据,会产生大量的小文件,从而导致map数量剧增 Reduce/Task数量较多,最终落地的文件数量和Reduce/Task的个 数是一样的 小文件带来的影响 文件的数量决定了MapReduce/Spark中Mapper/Task数量,小文件越多,Mapper/Task的任务越多,每个Map...

2021-02-03 19:41:15 889

原创 Superset从入门到真香

​一 superset概述1.1官网https://superset.apache.org/1.2简介Superset快速,轻巧,直观,并带有各种选项,使各种技能的用户都可以轻松浏览和可视化其数据,从简单的折线图到高度详细的地理空间图。Apache Superset(Incubating)是一种现代的,可用于企业的商业智能Web应用程序。它快速,轻巧,直观,并带有各种选项,使所有技能的用户都可以轻松浏览和可视化其数据,从简单的饼图到高度详细的deck.gl...

2021-02-03 19:13:58 28416 1

原创 Hive常见开窗函数(工作常用,面试常问)

一row_number() over()有如下数据: 江西,高安,100 江西,南昌,200 江西,丰城,100 江西,上高,80 江西,宜春,150 江西,九江,180 湖北,黄冈,130 湖北,武汉,210 湖北,宜昌,140 湖北,孝感,90 湖南,长沙,170 湖南,岳阳,120 湖南,怀化,100 ​需要查询出每个省下人数最多的2个市 create table..

2021-02-03 19:10:17 548

原创 令人害怕的数据部门值班制度,此时的你是否也在经历呢?

​ 首先跟大家说一声抱歉,由于前段时间比较忙,一直没有时间产出原创干货,一直是在转载其他公众号的文章,对此我也做了深刻的检讨,感觉辜负了大家的厚望.之后我还是会持续产出干货的,希望各位大佬一如既往的支持!!!1什么是数据部门值班制度 值班制度就是每个数据开发人员轮流负责晚上的任务运行状况,有异常或延迟及时处理或者通知相关负责人及时处理,避免第二天数据延迟产出.2每家有数据部门的公司都有值班制度吗 据我所知,并不是这样的,很多做工具...

2020-12-11 15:31:54 523

squirrel-sql-3.8.1-standard.zip

squirrel-sql-3.8.1-standard.zip

2019-07-03

jdk-8u171-windows-x64.zip

jdk-8u171-windows-x64.exe,本人亲测有用

2019-07-03

mongodbreader-0.0.1-SNAPSHOT.zip

背景:由于在mongoDB的业务库数据量较大,且使用方比较多,搜索,业务方和数仓,使得主节点和其他从节点压力很大,为了不影响正常的业务,DBA新增了一台隐藏节点作为搜索和数仓抽取数据用,用datax抽取mongo的数据默认是主节点优先,所以需要修改datax-mongodbreader的源码,使得抽数据时只访问隐藏节点

2019-06-28

hdfsreader-0.0.1-SNAPSHOT.jar

用datax抽取hdfs数据,当hdfs文件夹下面有空文件时会报错,所以修改源码过滤掉空文件

2019-06-28

jdk-8u121-linux-x64.tar.gz

jdk-8u121-linux-x64.tar.gz

2019-04-25

plugin-unstructured-storage-util-0.0.1-SNAPSHOT.jar

修改datax源码plugin-unstructured-storage-util下的UnstructuredStorageReaderUtil.class 加上一个判断,因为在hdfs中,null值存储的是 \N ,所以需要把它转换成 null存储到Mysql中

2019-02-21

datax抽取数据到hdfs的null值变成''(引号)的问题

mysql的null值通过datax抽取到hdfs,会变成引号,这不是我们所需要的,所以需要修改一下datax的源码

2019-02-20

mongodbreader增强版(修复老版本列错位问题)

mongodbreader增强版(修复老版本列错位问题),当然,新版本datax已经修复了这个问题

2018-10-23

flum-poll所需jar包

commons-lang3-3.3.2.jar,scala-library-2.10.5.jar,spark-streaming-flume-sink_2.10-1.6.1.jar

2018-08-06

ojdbc6+maven

ojdbc6.jar以及与maven的oracle依赖,ojdbc6.jar以及与maven的oracle依赖

2017-12-05

json开发所需的6个jar包

commons-beanutils-1.8.3,commons-collections-3.2.1,commons-lang-2.5,commons-logging-1.1.1,ezmorph-1.0.6,json-lib-2.4-jdk15

2017-11-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除