
数仓设计和数据预处理
文章平均质量分 78
整理数据仓库的基本模型和相关理论,这是大数据集群和大数据开发的必备知识。为hadoop集群和数仓搭建提供理论支撑
清平乐的技术博客
学如逆水行舟,不进则退。
展开
-
HDFS常用命令整理
HDFS 文件系统提供了相当多的shell 操作命令,大大方便了程序员和系统管理人员查看、修改HDFS 上的文件。进一步,HDFS 的操作命令和Unix/Linux 的命令名称和格式相当一致,因而学习HDFS 命令的成本也大为缩小。一.命令帮助注:hdfs dfs等同于hadoop fs,这里均以hdfs dfs演示[root@node01 ~]# hdfs dfsUsage: hadoo...原创 2020-04-11 16:30:35 · 950 阅读 · 0 评论 -
DataX部署和使用方法
DataX 是阿里巴巴集团内被广泛使用的异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、MaxCompute(原ODPS)、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。框架设计DataX采用Framework + plugin架构构建。将数据源读取和写入抽象成为Reader/Writer插件,Reader从源数据库中读取数据转换成datax内部的数据格式,Writer从datax中把数据读出来并且转换成目的端的数据格式。Read原创 2020-07-27 11:37:24 · 4649 阅读 · 0 评论 -
【数仓设计】数据仓库逻辑分层(最新版)
一、分层必要性清晰数据结构:每一个数据分层都有它的作用域,这样我们在使用表的时候能更方便地定位和理解脏数据清洗:屏蔽原始数据的异常屏蔽业务影响:不必改一次业务就需要重新接入数据数据血缘追踪:简单来讲可以这样理解,我们最终给业务呈现的是能直接使用的一张业务表,但是它的来源有很多,如果有一张来源表出问题了,我们希望能够快速准确地定位到问题,并清楚它的危害范围。减少重复开发:规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算。把复杂问题简单化。将一个复杂的任务分解成多个步骤来完成,每一.原创 2020-07-15 13:43:35 · 1673 阅读 · 2 评论 -
【数仓设计】宽表和窄表
宽表:从字面意义上讲就是字段比较多的数据库表。通常是指业务主题相关的指标、维度、属性关联在一起的一张数据库表。由于把不同的内容都放在同一张表存储,宽表已经不符合三范式的模型设计规范,随之带来的主要坏处就是数据的大量冗余,与之相对应的好处就是查询性能的提高与便捷。这种宽表的设计广泛应用于数据挖掘模型训练前的数据准备,通过把相关字段放在同一张表中,可以大大提高数据挖掘模型训练过程中迭代计算时的效率问...原创 2019-09-10 13:14:13 · 2259 阅读 · 0 评论 -
【数仓设计】(一):数仓拉链表的使用和设计
全文由下面几个部分组成:第一部分:先分享一下什么是拉链表,以及拉链表的应用场景;第二部分:通过两个使用案例来对拉链表做近一步的阐释第三部分:举一个具体的应用场景,来设计并实现一份拉链表,最后并通过一些例子说明如何使用我们设计的这张表 (因为现在Hive的大规模使用,我们会以Hive场景下的设计为例)。最后:分析一下拉链表的优缺点,并进行补充说明,比如说拉链表和流水表的区别。一、拉链表的定...原创 2020-04-18 14:24:44 · 1680 阅读 · 0 评论 -
【数仓设计】数仓建模的四种方法
一.数据仓库建模的目的为什么要进行数据仓库建模?大数据的数仓建模是通过建模的方法更好的组织、存储数据,以便在 性能、成本、效率和数据质量之间找到最佳平衡点。一般主要从下面四点考虑访问性能:能够快速查询所需的数据,减少数据I/O数据成本:减少不必要的数据冗余,实现计算结果数据复用,降低大数 据系统中的存储成本和计算成本使用效率:改善用户应用体验,提高使用数据的效率数据质量:改善数据统计口...原创 2020-04-17 10:55:30 · 6964 阅读 · 0 评论 -
大数据常用同步工具(DataX/Sqoop/Nifi/Canal等)
一、离线数据同步DataX阿里的Datax是比较优秀的产品,基于python,提供各种数据村塾的读写插件,多线程执行,使用起来也很简单,定义好配置json文件执行脚本就可以了,非常适合离线数据,增量数据可以使用一些编码的方式实现,但是也仅仅针对insert数据比较有效,update数据就不适合github地址:https://github.com/alibaba/DataXSqoopSq...原创 2020-04-16 10:44:25 · 18373 阅读 · 0 评论 -
数据倾斜及解决办法
一、什么是数据倾斜简单来说数据倾斜就是数据的key 的分化严重不均,造成一部分数据很多,一部分数据很少的局面。举例说明:举个 word count 的入门例子: 它的map 阶段就是形成 (“aaa”,1)的形式,然后在reduce 阶段进行 value 相加,得出 “aaa” 出现的次数。若进行 word count 的文本有100G,其中 80G 全部是 “aaa” 剩下 20G 是其...原创 2020-01-17 15:18:45 · 2427 阅读 · 1 评论 -
数据预处理06_ 数据变换和数据离散化
1.策略概述光滑:去掉数据中的噪声,包括分箱、回归和聚类。属性构造(特征构造):可以由给定的属性构造新的属性并添加到属性集中。聚集:把数据进行汇总或聚集。例如:可以聚集日销售数据,计算月和年销售量。规范化:把属性数据按比例缩放,使之落入指定区间。离散化:数值属性(例如:年龄)的原始值用区间标签或者概念标签替换。这些标签可以递归的组织成更高层概念,导致数值属性的概念分层。由标称数据产生...原创 2019-08-22 09:57:26 · 742 阅读 · 0 评论 -
数据预处理05_ 数据归约
数据归约数据集非常大的时候在海量数据上进行复杂的数据分析和挖掘需要很长的时间,使得这种分析不现实或者不可行 。数据归约:可以用来将得到的数据集进行归约表示,它小的多,但是仍然接近于保持原始数据的完整性。在归约后的数据集上挖掘将更有效,仍然产生相同(或者几乎相同)的分析结果。1.数据归约策略概述数据归约包括维归约、数量归约和数据压缩。(1)维归约(dimensionality redu...原创 2019-08-22 09:50:45 · 2609 阅读 · 0 评论 -
数据预处理04_ 数据集成
数据集成数据集成就是将多个数据源中的数据合并,存放在一个一致的数据存储中:如存放在数据仓库中。这些数据源可能包括多个数据库、数据立方体或一般文件。1.实体识别问题:实体识别问题就是要合理匹配来自多个信息源的等价实体。例如:如何确信一个数据库中的customer_id和另一个数据库中的cust_number指的是相同的属性?每个属性的元数据包括名字、含义、数据类型和属性的允许取值范围,以及...原创 2019-08-22 09:39:23 · 1002 阅读 · 0 评论 -
数据预处理03_ 数据清理
现实世界的数据一般是不完整的有噪音的和不一致的。数据清理是填充缺失值、光滑噪声并识别离群点。1.缺失值处理方式(1)忽略元组:当缺少类标号的时候通常这样做(假定挖掘任务设计分类),除非元组有多个属性值缺少,否则该方法不是很有效。(2)人工填写缺失值:费时费力,且需要数据集小(3)使用一个全局常量填充将缺失的属性值用同一个常量(如:unknown)替换。如果缺失的值都用如“unknow...原创 2019-08-22 09:36:04 · 588 阅读 · 0 评论 -
数据预处理02_数据预处理的步骤
数据清理–>数据集成 —>数据归约–>数据变换1.数据清理就是处理脏数据,包括填写缺失值、清除噪声数据(降噪)、纠正不一致数据、识别或删除离群点等。常用工具例如:ETL工具2.数据集成(data integration)集成多个数据库数据。将数据由多个数据源合并成一个一致数据存储,如:数据仓库。【注意】不同数据库相同字段可能具有不同的名字,导致不一致和冗余,所以在为数仓...原创 2019-08-22 09:33:53 · 2737 阅读 · 0 评论 -
数据预处理的步骤
数据清理–>数据集成 —>数据归约–>数据变换1.数据清理就是处理脏数据,包括填写缺失值、清除噪声数据(降噪)、纠正不一致数据、识别或删除离群点等。常用工具例如:ETL工具2.数据集成(data integration)集成多个数据库数据。将数据由多个数据源合并成一个一致数据存储,如:数据仓库。【注意】不同数据库相同字段可能具有不同的名字,导致不一致和冗余,所以在为数仓...原创 2019-12-08 13:26:54 · 1149 阅读 · 0 评论 -
数据预处理01_脏数据产生的原因
数据预处理01_脏数据产生的原因一、预处理概述(1)现状:现实世界的数据库极易受到噪声、缺失值和不一致数据的侵扰,因为数据库太大并且多半来源于异种数据源。(2)数据质量要求准确性、完整性、一致性、实效性、可信性和可解释性。二、脏数据产生的原因收集数据设备故障人或计算机的错误导致数据输入时出现个人不希望提交个人信息时强制输入不正确值(掩盖的缺失数据)数据传输中出现错误错误的命名约...原创 2019-08-21 17:46:35 · 3445 阅读 · 0 评论 -
数仓知识10_数据泛化
数据泛化(面向属性的归纳;个性–>一般化)1.定义数据泛化:把较低层次的概念层(例如:年龄的数值范围)用较高层次的概念(例如:青年、中年和 老年)替换来汇总数据。或者通过减少维度在设计较少维度的概念空间汇总数据(例如汇总学生组群时,删除生日和电话号码属性)2.两种泛化方法(1)基于数据立方体的数据聚集(data focusing):a.复杂数据类型和聚集数据仓库和OLAP工具基于...原创 2019-08-19 17:14:50 · 1799 阅读 · 0 评论 -
数仓知识09_数据仓库的实现(计算和OLAP)
数据仓库海量数据–>OLAP服务器在数秒内回答决策支持查询因此数仓要支持高校的数据立方体计算技术、存取方法和查询处理技术1.数据立方体的有效计算核心:有效计算多维集合上的聚集(分组),每个聚集(分组)用一个方体表示,分组的集合形成定义数据立方体的方体的格。(1)computer cube操作和维灾难一种方法是扩充SQL使之包含computer cube操作,这个操作在操作制定的维的...原创 2019-08-19 17:12:58 · 480 阅读 · 0 评论 -
数仓知识08_数仓设计步骤和使用
1.数仓优势提供相关信息进行分析和性能估计,提高行业竞争优势提高企业生产力。可以快速收集准确描述组织机构的信息有利于客户联系管理,因为他跨越所有商务、所有部门和市场可以降低成本。通过可靠的方式进行长期趋势跟踪,发现异常。2.商务分析框架(4种视图)建立数仓前需要分析商务需求,搭建商务分析框架。a.自上向下视图:选取数仓所需信息,包括现在和未来的相关需求b.数据源视图:被操作的...原创 2019-08-19 17:10:06 · 607 阅读 · 0 评论 -
数仓知识07_数据仓库建模(数据立方体和三种模式)
数据仓库建模(数据立方体和三种模式)1.数据立方体(data cube)(1)常用概念数据立方体:数据立方体允许以多维对数据建模和观察。实际是N维结构,可以简单看做3-D集合结构维:一个单位想要记录的透视或者实体例如:一个数仓sales记录商店的销售设计维time、item、branch和location维度表:每个维都可以有一个与之相关联的表,里面会有相关的属性(字段)该表称作维表...原创 2019-08-19 16:53:02 · 3093 阅读 · 0 评论 -
数仓知识06_数仓的三层结构和三种模型
一、三层结构(1)底层:仓库数据库服务器(基本是一个关系型数据库)由ods或者其他外部数据源提取数据,放入底层。ETL工具和程序进行数据提取、数据清洗和变换(例如:将来自不同数据源的数据合并成一致的格式),已经装入和刷新,以更新数据仓库。数据提取方式:信关程序a.信关(使用后端程序或者工具提取数据):信关由DBMS支持,允许产生SQL代码例如:微软的ODBC(开放数据库连接)、OL...原创 2019-08-19 16:45:36 · 1847 阅读 · 0 评论 -
数仓知识05_认识OLAP
1.OLAP和OLTPOLAP 数据分析的目标则是探索并挖掘数据价值,作为企业高层进行决策的参考,通常被称为OLAP(On-Line Analytical Processing,联机分析处理) .OLTP 业务类系统主要供基层人员使用,进行一线业务操作,通常被称为OLTP(On-Line Transaction Processing,联机事务处理)。 从功能角度来看,OLTP负责基本业务的正常...原创 2019-08-19 16:41:01 · 280 阅读 · 0 评论 -
数仓知识04_为什么要ODS和数仓分离
a提高两个数据库系统的性能数据仓库查询复杂需要特殊的多维视图的数据组织、存储方法;在操作数据库中操作OLAP会降低性能b.操作数据库支持多事务并发而OLAP查询只需要汇总和聚集数据,对数据只读访问c.数仓和操作数据库两种系统中的数据结构、内容、用法不同...原创 2019-08-19 16:34:08 · 842 阅读 · 0 评论 -
数仓知识01_数据仓库和元数据库
1.基础概念数据仓库是一种数据库,他与单位对的操作数据库分别维护数据仓库系统将各种应用系统集成在一起,为统一的历史数据分析搭建平台,对信息处理提供支持。数据仓库是面向主题的、集成的、时变的、非易失的数据集合,支持管理者的决策过程。2.数据仓库的四个特征(1)面向主题的(subject-oriented)数仓围绕一些重要主题,如顾客、供应商、产品和销售组织(2)集成的(integra...原创 2019-08-19 16:31:28 · 693 阅读 · 0 评论 -
数仓知识03_基于ODS的三种模型
一、前言传统数据库( Database, DB) 在联机事务处理( OLT P) 中获得了较大的成功, 但是对管理人员的决策分析要求却无法满足, 数据仓库( Data Warehouse, DW) 能把日常业务处理中所收集到的各种数据转为具有商业价值的信息, 从而为企业决策分析提供了强大的技术支持。传统的数据仓库系统是两层的DB- DW 体系结构, 该结构不能涵盖企业所有的数据处理要求, 如:...原创 2019-08-19 11:07:23 · 898 阅读 · 0 评论 -
数仓知识02_相关名词解释(英文缩写)
随着大数据的到来,经常听到相关的词汇,维度、指标、BI、PV、UV等等,今天整理了这些词汇。DWDW是Data Warehouse的缩写,即数据仓库。DW要区别于普通数据库,数据仓库用于支持决策,面向分析型数据处理;而普通数据库主要服务于软件/网站,对于一致性/事物要求较高。BIBI是Business Intelligence的英文缩写,中文解释为商务智能,用来帮助企业更好地利用数据提高...原创 2019-08-08 14:05:21 · 1226 阅读 · 0 评论 -
数据仓库DW、ODS、DM及其区别
一、基本概念DW数据仓库(Data Warehouse):是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。ODSODS:是一个面向主题的、集成的、可变的、当前的细节数据集合,用于支持企业对于即时...原创 2019-08-08 13:53:36 · 13721 阅读 · 0 评论 -
KDD读书笔记03_数据仓库和联机分析处理(OLAP)
1.数据仓库(1)基础概念数据仓库是一种数据库,他与单位对的操作数据库分别维护数据仓库系统将各种应用系统集成在一起,为统一的历史数据分析搭建平台,对信息处理提供支持。数据仓库是面向主题的、集成的、时变的、非易失的数据集合,支持管理者的决策过程。(2)元数据库元数据是关于数据的数据,元数据是定义仓库对象的数据。元数据库在数据仓库体系结构的底层。元数据包含的内容:数据仓库结构的描述:...原创 2019-08-07 15:55:38 · 401 阅读 · 0 评论 -
数据挖掘笔记01_数据的基本形式
当今社会,我们被数据(医疗数据、金融数据、人口统计数据、科学数据等)所淹没,但是人们没有时间去关注这些数据,人们的关注点转移到可贵的应付手段上。我们必须找到有效的方法,进行数据分析、分类、汇总、发现和描述数据趋势、对异常数据进行标记、处理。计算机和互联网的发展增强了我们获取数据的能力,同时也产生了爆炸性增长的数据,以此激发了新的技术和自动化工具对的需求,由此对数据挖掘、数据科学有了更高的要求。...原创 2019-08-06 17:14:27 · 1527 阅读 · 0 评论 -
数据挖掘笔记02_数据挖掘的模式
当今社会,我们被数据(医疗数据、金融数据、人口统计数据、科学数据等)所淹没,但是人们没有时间去关注这些数据,人们的关注点转移到可贵的应付手段上。我们必须找到有效的方法,进行数据分析、分类、汇总、发现和描述数据趋势、对异常数据进行标记、处理。计算机和互联网的发展增强了我们获取数据的能力,同时也产生了爆炸性增长的数据,以此激发了新的技术和自动化工具对的需求,由此对数据挖掘、数据科学有了更高的要求。...原创 2019-08-06 17:11:25 · 553 阅读 · 0 评论 -
数据分析OLAP与OLTP区别
一、数据从何而来企业日常的各个环节都会产生数据,一个企业从小到大的过程中,最初建设IT系统的时刻是一个分隔点。在此之前,数据零散分布在邮箱、发票、单据、APP等各种地方。企业规模达到一定程度时则必须要建设IT系统,此时,数据开始在各种系统(ERP、CRM、MES等)中积累。二、数据分析体系数据价值随着其体量不断的累积也在一直增加。获取其中的知识,能够帮助企业发现问题与机遇并进行正确的...原创 2019-08-06 10:51:21 · 938 阅读 · 0 评论 -
数据分析(挖掘)的三大目标
(1)把握趋势和模式通过分析网购交易的记录数据、呼叫中心内的投诉数据、顾客满意度的调查数据、购物数据等,可以把把握顾客的购买意愿和类型、投诉的种类等信息。数据挖掘工具(方法)中神经网络、购物篮分析,粗糙(Rough)集、对应分析(双尺度法)、主成分分析、聚类分析等。(2)预测利用数万个数据进行预测,最有效的方法是神经网络法,它是具有强大功能的工具,即使数据是非线性关系也无妨。伹缺点是,需要...原创 2019-06-06 14:11:40 · 2668 阅读 · 0 评论