数据仓库

ETL介绍与ETL工具比较

隐身守侯 提交于 2019-12-06 06:56:03
本文转载自:http://blog.csdn.net/u013412535/article/details/43462537 ETL ,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过萃取(extract)、转置(transform)、加载(load)至目的端的过程。 ETL 一词较常用在 数据仓库 ,但其对象并不限于 数据仓库 。 ETL负责将分布的、异构数据源中的数据如关系数据、 平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。 ETL是数据仓库中的非常重要的一环。它是承前启后的必要的一步。相对于关系数据库,数据仓库技术没有严格的数学理论基础,它更面向实际工程应用。所以从工程应用的角度来考虑,按着物理数据模型的要求加载数据并对数据进行一些系列处理,处理过程与经验直接相关,同时这部分的工作直接关系数据仓库中数据的质量,从而影响到联机分析处理和数据挖掘的结果的质量。 数据仓库是一个独立的数据环境,需要通过抽取过程将数据从联机事务处理环境、外部数据源和脱机的数据存储介质导入到数据仓库中;在技术上,ETL主要涉及到关联、转换、增量、调度和监控等几个方面;数据仓库系统中数据不要求与联机事务处理系统中数据实时同步,所以ETL可以定时进行。但多个ETL的操作时间

ETL工程师和数据挖掘工程师的区别?

限于喜欢 提交于 2019-12-06 06:55:17
ETL工程师: Extraction-Transformation-Loading的缩写,中文名称为数据抽取、转换和加载。 ETL负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。 ETL是数据仓库中的非常重要的一环。它是承前启后的必要的一步。相对于关系数据库, 数据仓库技术 没有严格的数学理论基础,它更面向实际工程应用。所以从工程应用的角度来考虑,按着物理数据模型的要求加载数据并对数据进行一些系列处理,处理过程与经验直接相关,同时这部分的工作直接关系数据仓库中数据的质量,从而影响到联机分析处理和数据挖掘的结果的质量。 数据仓库是一个独立的数据环境,需要通过抽取过程将数据从联机事务处理环境、外部数据源和脱机的 数据存储 介质导入到数据仓库中;在技术上,ETL主要涉及到关联、转换、增量、调度和监控等几个方面;数据仓库系统中数据不要求与联机事务处理系统中数据实时同步,所以ETL可以定时进行。但多个ETL的操作时间、顺序和成败对数据仓库中信息的有效性至关重要。 数据挖掘工程师: 数据挖掘(Data Mining),又称为数据库中的知识发现(Knowledge Discovery in Database, KDD),就是从大量数据中获取有效的、新颖的、潜在有用的

数据仓库的ETL抽取-转换-装载

折月煮酒 提交于 2019-12-06 06:54:59
ETL是数据仓库建设中一个最重要和具有挑战性的工作,也是一个耗时而且费劲的工作。 数据抽取 数据仓库与操作型系统数据抽取的有一些:数据仓库必须从不同的系统中抽取数据;必须根据增量装载工作和初始完全装载的变化来抽取数据;而操作型系统只需要一次性抽取和数据转换。 数据抽取的要点 数据源确认:确认数据的源系统和结构; 抽取方法:针对每个数据源,定义抽取过程是人工抽取还是基于工具抽取; 抽取频率:对于每个数据源,确定数据抽取的频率,每天、每星期、每季度; 时间窗口:对于每个数据源,表示抽取过程进行的时间窗口; 工作顺序:决定抽取任务中某项工作是否必须等到前面的工作成功完成才能开始; 异常处理:决定如何处理无法抽取的输入记录; 数据源确认 首先确认是否拥有源系统提供需要的数据;然后,从源系统中建立每一个数据元素对应的正确的数据源;进行论证来保证确认的数据源是真正需要的。 数据抽取技术 操作型系统的源数据一般来说分当前值和周期性状态两类。当前值,源系统中的大多数数据属于这个类型,这里存储的属性值代表当前时刻的属性值,一般这种值在数据库中只保存一条记录;周期性状态值,属性值存储的是每次变化发生时的状态,在每一个时间点,状态值根据新值有效的时候进行存储,这个类型的数据变化的历史存储在源系统本身中,一般在数据库中保存多条记录。 从源操作型系统中抽取数据主要分静态数据和修正数据两种类型

初识DataLake数据湖

夙愿已清 提交于 2019-12-06 06:43:18
维基百科对Data lake的解释 : 数据湖是一种在系统或存储库中以自然格式存储数据的方法,它有助于以各种模式和结构形式配置数据,通常是对象块或文件。数据湖的主要思想是对企业中的所有数据进行统一存储,从原始数据(这意味着源系统数据的精确副本)转换为用于报告、可视化、分析和机器学习等各种任务的转换数据。湖中的数据包括结构化数据从关系数据库(行和列),半结构化数据(CSV、XML、JSON的日志),非结构化数据(电子邮件,文档,PDF)和二进制数据(图像、音频、视频)从而形成一个集中式数据存储容纳所有形式的数据。 数据湖的核心思想是把不同结构的数据统一存储,使不同数据有一致的存储方式,在使用时方便连接,真正解决数据集成问题。 数据湖泊和数据仓库的区别,主要就是数据仓库的数据进入这个池之前是预先分类的,这可以指导其后面如何进行数据的分析。但在大数据时代,这些都是素材而已,你根本不知道以后如何用它。也就是数据湖泊给后面的数据分析带来了更大的弹性。因此,这个放大数据的仓库,专家建议叫数据湖泊,以区别于数据仓库。 数据湖泊是包含下面两个特征的信息系统: 可以保存大数据的并行系统; 能够在数据不移动的情况下进行计算的系统。 数据湖泊的成熟度分为四个级别: 1、第一级是在没有用Hadoop之前,这个时候各个大型应用都有自己的数据库,也有自己的数据仓库来做数据分析。 2

数据仓库_重刷机制(抛砖引玉)

六月ゝ 毕业季﹏ 提交于 2019-12-06 03:50:52
先抛出几个问题 1. 存储是不是基石? 2. 假如存储不挂,数据真的准确吗? 3. 存储挂了,数据还准确吗? 4. 如何校验是否正确?如何让其正确?机制是不是必须有? 注: sqoop 抽数据,无 error 丢数据的概率很小 数据质量校验:数据量校验 count 相同吗? count 相同内容相同吗? 数据量相同-->数据量不同 重刷机制 补 or 删 spark 95%-->数据内容不同? 抽样 5% 现在重点理解一下重刷机制 背景:用 count 校验上下游的数据不准确 引入重刷机制:通过对上下游的两个表求 full outer join 来对比字段的 null 值 上游表a 1 data1 18 2 data2 19 3 data3 20 7 data7 22 下游表b 1 data1 18 3 data3 19 5 data5 20 6 data6 21 我们发现表 a 和表 b 对比 表 a 少了 5 和 6 多了 7 ,表 b 少了 2 和 7 多了 6,我们现在对两个表做 full outer join aid bid 1 ruoze1 18 1 2 ruoze2 19 null 3 ruoze3 20 3 7 ruoze7 22 null null null null 5 null null null 6 以表 a 为标准,对生成后的大表做筛选,分别查找 aid

ETL讲解

别说谁变了你拦得住时间么 提交于 2019-12-06 02:02:39
ETL讲解 ETL讲解(很详细!!!) ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。 ETL是BI项目重要的一个环节。 通常情况下,在BI项目中ETL会花掉整个项目至少1/3的时间,ETL设计的好坏直接关接到BI项目的成败。   ETL的设计分三部分:数据抽取、数据的清洗转换、数据的加载。在设计ETL的时候我们也是从这三部分出发。数据的抽取是从各个不同的数据源抽取到ODS(Operational Data Store,操作型数据存储)中——这个过程也可以做一些数据的清洗和转换),在抽取的过程中需要挑选不同的抽取方法,尽可能的提高ETL的运行效率。ETL三个部分中,花费时间最长的是“T”(Transform,清洗、转换)的部分,一般情况下这部分工作量是整个ETL的2/3。数据的加载一般在数据清洗完了之后直接写入DW(Data Warehousing,数据仓库)中去。   ETL的实现有多种方法,常用的有三种。一种是借助ETL工具(如Oracle的OWB、SQL Server 2000的DTS、SQL Server2005的SSIS服务、Informatic等)实现,一种是SQL方式实现,另外一种是ETL工具和SQL相结合。前两种方法各有各的优缺点

数据仓库_hadoop(1)

左心房为你撑大大i 提交于 2019-12-05 22:48:01
1.安装hadoop的hdfs伪分布式部署 2.hadoop fs常规命令 3.配置文件在官方哪里找 4.整理 jdk、ssh、hosts文件 1.安装hadoop的hdfs伪分布式部署 1.1 创建用户和目录 [root@aliyun ~]# useradd hadoop [root@aliyun ~]# su - hadoop [hadoop@aliyun ~]$ mkdir app software sourcecode log tmp data lib [hadoop@aliyun ~]$ ll total 28 drwxrwxr-x 2 hadoop hadoop 4096 Nov 28 11:26 app    #解压的文件夹 软连接 drwxrwxr-x 2 hadoop hadoop 4096 Nov 28 11:26 data   #数据 drwxrwxr-x 2 hadoop hadoop 4096 Nov 28 11:26 lib    #第三方的jar drwxrwxr-x 2 hadoop hadoop 4096 Nov 28 11:26 log    #日志文件夹 drwxrwxr-x 2 hadoop hadoop 4096 Nov 28 11:26 software #压缩包 drwxrwxr-x 2 hadoop hadoop 4096 Nov

数据仓库_第七次笔记

人走茶凉 提交于 2019-12-05 18:09:51
1.整理 sql的where各种条件 2.整理 sql的group 3.整理 sql的join 4. 04txt文件的案例 9句sql 5.整理刚才分享的小知识点 6.补充资料文件夹 去看看执行 7.彩蛋 视频 sql 1.整理 sql 的 where 各种条件 WHERE 子句   如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。 语法 SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 下面的运算符可在 WHERE 子句中使用: 操作符 描述 = 等于 <> 不等于 > 大于 < 小于 >= 大于等于 <= 小于等于 BETWEEN 在某个范围内 LIKE 搜索某种模式 2.整理 sql 的group 聚合函数 (比如 SUM) 常常需要添加 GROUP BY 语句。 GROUP BY 语句   GROUP BY 语句用于结合聚合函数,根据一个或多个列对结果集进行分组。 SQL GROUP BY 语法 SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name 3.整理 sql 的 join join分为inner join、left join

配置Hive数据仓库

家住魔仙堡 提交于 2019-12-05 14:17:27
1、在线安装mysql服务 #下载安装mysql yum install mysql mysql-server mysql-devel #启动mysql服务 cd /etc/ init.d/mysqld start #mysql连接并登录 mysql #修改登录mysql用户名及密码 USE mysql; UPDATE user SET Password=PASSWORD('password') WHERE user='root'; #设置允许远程登录 GRANT ALL PRIVILEGES ON *.* TO 'root'@'% ' IDENTIFIED BY 'password' WITH GRANT OPTION; #强制写入 FLUSH PRIVILEGES; 2、配置hive #1.上传安装包并解压 #然后,cd /export/servers/hive-1.2.1/conf #2.修改hive-env.sh # Set HADOOP_HOME to point to a specific hadoop install directory HADOOP_HOME=/export/servers/hadoop-2.6.0-cdh5.14.0 # Hive Configuration Directory can be controlled by: export HIVE

数据仓库009 - SQL命令实战 - where GROUP BY join 部门综合案例

依然范特西╮ 提交于 2019-12-05 12:33:44
一、where条件 WHERE 子句中主要的运算符,可以在 WHERE 子句中使用,如下表: 运算符 描述 = 等于 <> 不等于。 注释: 在 SQL 的一些版本中,该操作符可被写成 != > 大于 < 小于 >= 大于等于 <= 小于等于 BETWEEN 在某个范围内 LIKE 搜索某种模式 IN 指定针对某个列的多个可能值 二、SQL GROUP BY 语法 SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name; 三、SQL连接查询   1、左、右和内连接的图示:      2、join查询   1)、左连接:join的左连接查询,以左边的表为主,为全;右表是匹配的,匹配到就显示,匹配不到就null select a.*,b.* from a left join b as bb on a.id=b.id 输出结果:      2)、右连接:右连接,以右边的表为主,为全;左表是匹配的,匹配到就显示,匹配不到就nul1 select a.*,b.* from a right join b on a.id=b.id;      3)、内连接:内连接,根据id关联,两张表数据都存在的显示