etl工具

Hive入门级教程(详细)

偶尔善良 提交于 2020-01-13 08:30:20
什么是Hive Hive 是建立在 Hadoop上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL ),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。 Hive是SQL解析引擎,它将SQL语句转译成M/R Job然后在Hadoop执行。 Hive的表其实就是HDFS的目录/文件,按表名把文件夹分开。如果是分区表,则分区值是子文件夹,可以直接在M/R Job里使用这些数据。 Hive的metastore metastore是hive元数据的集中存放地(元数据存在hive数据库的数据表与HDFS存储文件的对应关系) metastore默认使用内嵌的derby数据库作为存储引擎 Derby引擎的缺点:一次只能打开一个会话 使用Mysql作为外置存储引擎,多用户同时访问 Hive系统架构 Hive安装 把hive-0.12.0.tar.gz解压到/data/目录下 [root@master conf]# tar -zxvf hive-0.12.0.tar.gz -C /data 配置Hive环境变量,可参考java环境变量配置。 [root@master conf]# source /etc/profile 配置mysql metastore 上传mysql数据库驱动mysql-connector-java-5.1.28.jar到

数据仓库经验小结

左心房为你撑大大i 提交于 2019-12-26 21:17:00
以主题域规划 DW 主题域包含了某方面决策者关注的事物。一个主题域通常会覆盖多个业务部门,例如产品主题域涉及到销售、财务、物流、采购等部门。 主题域下包括了主题,例如产品主题 域中包括成本、发运、库存等主题。 主题域模型是对业务模型的抽象,需要从决策者和管理者的角度反映企业业务模型。决策者不需要了解每个部门详细的业务细节;销售部门的管理者需要知道产品的库存和采购计划以安排销售,但是他不知道物流部和采购部的业务流程。因此在整合多业务部门数据同时,尽量减少 OLTP 数据库中的具体业务逻辑,以实现数据交付时更易于理解、更具效率。 EDW 开发 在开发模式上,一种是逐个开发多个数据集市,然后将这些数据集市合并成数据仓库。这种方法的优点是在初期效率高、见效快,但由于这些数据集市独立运作,后期的管理、整合就会碰到问题,最后往往成为一种 Hub 的形式,多个数据集市支撑着一个中心数据集市。 另一种开发模式是,先开发统一的数据仓库,然后由数据仓库支撑多个数据集市。但这种方式在大型企业实施困难,甚至是难以实现的。 实际上比较可行的是平行开发,每开始着手新的数据集市同时,调整数据仓库,将新的内容加入到数据仓库中。这种模式需要一定经验和对企业整体的了解,以便为数据仓库的下一次调整和扩充留下空间和弹性。 熟悉 Business Applications 企业中通常会有多种商业应用程序,比如 ERP 、

ETL工具Informatica开发流程 综合应用 电信通话计费系统开发项目案例10

一世执手 提交于 2019-12-25 11:42:52
一、准备数据源 在Oracle数据库中创建 OLTP用户导入源数据 oracle_oltp_data.sql 在Mysql数据库中创建表,插入产品相关数据 mysql_product_data.sql 用户表ods_cust_info(oltp) 地区表department(oltp) 通话表call_record(oltp) 产品表product(mysql) 二、需求: 电信运营情况分析:从各业务系统数据分析一下公司运营情况(只分析通话,不分析流量) 报表结果: 统计各维度与各指标的用户量与运营收入情况 维度(时间,地区,产品) 指标(用户数,运营收入) 三、开发思路 1:对地区维度表进行相应的处理 社区 ----> 端局 ------> 区局 村 镇 县 create table department_dimension as select a.dept_id dq_id,a.dept_name dq_name,a.level_no dq_level_no, b.dept_id ju_id,b.dept_name ju_name,b.level_no ju_level_no, c.dept_id sq_id,c.dept_name sq_name,c.level_no sq_level_no from (select dept_id,dept_name,level_no

[SQL]~ETL讲解

我的未来我决定 提交于 2019-12-16 04:52:45
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相结合。前两种方法各有各的优缺点,借助工具可以快速的建立起ETL工程

ETL数据抽取方案

淺唱寂寞╮ 提交于 2019-12-09 11:30:04
ETL 过程中的主要环节就是数据抽取、数据转换和加工、数据装载。为了实现这些功能,ETL 工具会进行一些功能上的扩充,例如工作流、调度引擎、规则引擎、脚本支持、统计信息等。 一、数据抽取 数据抽取是从数据源中抽取数据的过程。实际应用中,数据源较多采用的是关系数据库。 从数据库中抽取数据一般有以下几种方式: 1.全量抽取 全量抽取类似于数据迁移或数据复制,它将数据源中的表或视图的数据原封不动的从数 据库中抽取出来,并转换成自己的ETL 工具可以识别的格式。全量抽取比较简单。 2.增量抽取 增量抽取只抽取自上次抽取以来数据库中要抽取的表中新增或修改的数据。在ETL 使用过程中,增量抽取较全量抽取应用更广。如何捕获变化的数据是增量抽取的关键。 对捕获方法一般有两点要求: 准确性:能够将业务系统中的变化数据按一定的频率准确地捕获到; 性能:不能对业务系统造成太大的压力,影响现有业务。目前增量数据抽取中常用的捕获变化数据的方法有: (1) 触发器方式(又称快照式) 在要抽取的表上建立需要的触发器,一般要建立插入、修改、删除三个触发器,每当源表中的数据发生变化,就被相应的触发器将变化的数据写入一个临时表,抽取线程从临时表中抽取数据,临时表中抽取过的数据被标记或删除。 优缺点 优点:数据抽取的性能高,ETL 加载规则简单,速度快,不需要修改业务系统表结构,可以实现数据的递增加载。 缺点

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

ETL 抽取方案

走远了吗. 提交于 2019-12-06 06:51:13
ETL 抽取方案 ETL 过程中的主要环节就是数据抽取、数据转换和加工、数据装载。为了实现这些功 能,ETL 工具会进行一些功能上的扩充,例如工作流、调度引擎、规则引擎、脚本支持、 统计信息等。 数据抽取 数据抽取是从数据源中抽取数据的过程。实际应用中,数据源较多采用的是关系数据库。 从数据库中抽取数据一般有以下几种方式: 2.1.1 全量抽取 全量抽取类似于数据迁移或数据复制,它将数据源中的表或视图的数据原封不动的从数 据库中抽取出来,并转换成自己的ETL 工具可以识别的格式。全量抽取比较简单。 2.1.2 增量抽取 增量抽取只抽取自上次抽取以来数据库中要抽取的表中新增或修改的数据。在ETL 使 用过程中,增量抽取较全量抽取应用更广。如何捕获变化的数据是增量抽取的关键。对捕获 方法一般有两点要求:准确性,能够将业务系统中的变化数据按一定的频率准确地捕获到; 性能,不能对业务系统造成太大的压力,影响现有业务。目前增量数据抽取中常用的捕获变 化数据的方法有: 2.1.2.1 触发器方式(又称快照式): 在要抽取的表上建立需要的触发器,一般要建立插入、修改、删除三个触发器,每当源 表中的数据发生变化,就被相应的触发器将变化的数据写入一个临时表,抽取线程从临时表 中抽取数据,临时表中抽取过的数据被标记或删除。 优点:数据抽取的性能高,ETL 加载规则简单,速度快,不需要修改业务系统表结构

基于ETL的抽取数据的报表实现

我们两清 提交于 2019-12-06 06:29:05
1、查询分析器 查询分析器主要工作是从不同来源的数据库中抽取对应指标值。 界面原型参考如下(仿 IREPORT): 图1 数据来源切换 2、报表科目与查询分析字段映射 图2 字段映射 这里,字段选择的地方增加一列,用作选择数据科目的映射。 图3 SQL最后修改 图形化界面生成SQL后,可以手工修改SQL,点击OK生成XML格式的数据抽取脚本。 3、ETL工具 我使用的是Scriptella,这个工具的好处是,我不用去把查找指定数据的SQL用xml工具去重新解析封装,这种设计对于后期的产品维护,二次开发省了不少事。 在Scriptella启动之前,我们可以通过查询分析器来指定数据连接的数据表,通过对表的查询,获取到表中的数据字段,字段类型等信息,接着,在系统界面中设置字段对应的数据科目,设置过程可以选择老版本的配置映射进行修改,保存后生产新的映射模板。 在所有模板设置完成以后,出发脚本生成事件,生成供Scriptella执行的XML脚本。 XML实例如下: <!DOCTYPE etl SYSTEM " http://scriptella.javaforge.com/dtd/etl.dtd "> <etl> <connection id="db1" url="jdbc:oracle:thin:@uri_1:1521:orcl" user="username" password=

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相结合。前两种方法各有各的优缺点