首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Kettle构建Hadoop ETL实践(五):数据抽取

Sqoop优化 (1)调整Sqoop命令行参数 (2)调整数据库 四、小结 ---- 本篇介绍如何利用Kettle提供的转换步骤和作业项实现Hadoop数据仓库的数据抽取,即ETL过程中的...在“Kettle构建Hadoop ETL实践(一):ETL与Kettle”里介绍Kettle虚拟文件系统时,我们知道了Kettle使用Apache的通用VFS作为文件处理接口,能够直接读取zip压缩包中的多个文件...但如果XML文档非常,XPath表达式匹配到的所有XML节点不能一次放入内存中,此时就需要指定另一个XPath表达式把XML文档分成多块,就是这里的XML截取路径。...}分别表示ETL系统中记录的最后一次数据装载时间和最大自增序列号。...ETL通常是按一个固定的时间间隔,周期性定时执行的,因此对于整体拉取的方式而言,每次导入的数据需要覆盖上次导入的数据

6K30

Kettle构建Hadoop ETL实践(一):ETL与Kettle

主要内容包括: (一)ETL与Kettle的基本概念 (二)Kettle及其使用环境的安装与配置 (三)Kettle对Hadoop的支持 (四)建立ETL示例模型 (五)数据抽取 (六)数据转换与装载...Hadoop生态圈中的主要数据抽取工具是Sqoop。Sqoop被设计成支持在关系数据库和Hadoop之间传输数据。...Hadoop生态圈中有一个叫做Oozie的工具,它是一个Hadoop的工作流调度系统,可以使用它将ETL过程封装进工作流自动执行。...传统的软件厂商一般都提供ETL工具软件,如Oracle的OWB和ODI、微软的SQL Server Integration Services、SAP的Data Integrator、IBM的InfoSphere...和基于流的数据处理引擎,如Kettle相比,它的一优点是,数据库使用的数据都存储在磁盘中。

4.2K67
您找到你想要的搜索结果了吗?
是的
没有找到

Kettle构建Hadoop ETL实践(六):数据转换与装载

由于本示例中Kettle在Hadoop上的ETL实现依赖于Hive,所以之后对Hive做一个概括的介绍,包括它的体系结构、工作流程和优化。...在“Kettle构建Hadoop ETL实践(四):建立ETL示例模型”中,我们建立了Hive库表以存储销售订单示例的过渡区和数据仓库数据,并介绍了Hive支持的文件格式、表类型以及如何支持事务处理。...Kettle处理Hadoop ETL依赖于Hive,因此有必要系统了解一下Hive的基本概念及其体系结构。...它建立在Hadoop之上,具有以下功能和特点: 通过HiveQL方便地访问数据,适合执行ETL、报表查询、数据分析等数据仓库任务。 提供一种机制,给各种各样的数据格式添加结构。...但考虑到Hadoop本身就只适合大数据量的批处理任务,再加上Hive的性能问题一直就被诟病,也就不必再吐槽了。至此,ETL过程已经实现,下一篇将介绍如何定期自动执行这个过程。

3.7K44

Kettle构建Hadoop ETL实践(四):建立ETL示例模型

TDS库表 四、装载日期维度数据 五、小节 ---- 从本篇开始,介绍使用Kettle实现Hadoop数据仓库的ETL过程。...二、HIVE相关配置 在“数据仓库架构中的ETL”曾经提到Hive可以用于原始数据和转换后的数据仓库数据存储。使用Hive作为多维数据仓库的主要挑战是处理渐变维(SCD)和生成代理键。...对于非常数据集,利用分区消除特性可以显著地提高查询性能。当我们在WHERE子句中增加谓词来按照分区值进行过滤时,这些谓词被称为分区过滤器。...如果表中的数据以及分区个数都非常的话,执行这样一个包含所有分区的查询可能会触发一个巨大的MapReduce任务。...至此,我们的示例数据仓库模型搭建完成,后面在其上将实现ETL。 五、小节 我们使用一个简单而典型的销售订单示例,建立数据仓库模型。

1.9K10

Kettle构建Hadoop ETL实践(七):定期自动执行ETL作业

一旦数据仓库开始使用,就需要不断从源系统给数据仓库提供新数据。为了确保数据流的稳定,需要使用所在平台上可用的任务调度器来调度ETL定期执行。...调度模块是ETL系统必不可少的组成部分,它不但是数据仓库的基本需求,也对项目的成功起着举足轻重的作用。...绝大多数Hadoop系统都运行在Linux之上,因此本片详细讨论两种Linux上定时自动执行ETL作业的方案。...为了演示Kettle对数据仓库的支持能力,我们的示例将使用Start作业项实现ETL执行自动化。...在安装CDH时,我们配置使用MySQL数据库存储Oozie元数据。关于示例环境CDH的安装参见“基于Hadoop生态圈的数据仓库实践 —— 环境搭建(二)”。

5.8K53

基于Hadoop生态圈的数据仓库实践 —— ETL(二)

它建立在Hadoop之上,具有以下功能和特点: 通过SQL方便地访问数据,适合执行ETL、报表、数据分析等数据仓库任务。 提供一种机制,给各种各样的数据格式加上结构。...HCatalog是Hadoop的表和存储管理层,允许使用Pig和MapReduce等数据处理工具的用户更容易读写集群中的数据。...Hive建立在Hadoop的分布式文件系统(HDFS)和MapReduce系统之上。图中显示了Hadoop 1和Hadoop 2中的两种MapReduce组件。...假设数据仓库从2016年7月4日开始使用,用户希望装载所有的历史数据。下面的init_etl.sh脚本用于完成初始装载过程。 #!...(2)执行regular_etl.sh脚本进行定期装载。 ./regular_etl.sh (3)使用下面的查询验证结果。

2.1K20

基于Hadoop生态圈的数据仓库实践 —— ETL(三)

三、使用Oozie定期自动执行ETL 1....第一版Oozie是一个基于工作流引擎的服务器,通过执行Hadoop Map/Reduce和Pig作业的动作运行工作流作业。第二版Oozie是一个基于协调器引擎的服务器,按时间和数据触发工作流执行。...Oozie为以下类型的动作提供支持: Hadoop map-reduce、Hadoop文件系统、Pig、Java和Oozie的子工作流(SSH动作已经从Oozie schema 0.2之后的版本中移除了...所有由动作节点触发的计算和处理任务都不在Oozie之中——它们是由Hadoop的Map/Reduce框架执行的。这种方法让Oozie可以支持现存的Hadoop用于负载平衡、灾难恢复的机制。...把这些工作流连接在一起,会让系统把它作为数据应用的管道来引用。Oozie协调程序支持创建这样的数据应用管道。 (4)CDH 5.7.0中的Oozie 2.

95620

2021年数据Hadoop(五):Hadoop架构

---- Hadoop架构 ​​​​​​​1.x的版本架构模型介绍 文件系统核心模块: NameNode:集群当中的主节点,管理元数据(文件的大小,文件的位置,文件的权限),主要用于管理集群当中的各种数据...SecondaryNameNode:主要能用于hadoop当中元数据信息的辅助管理 DataNode:集群当中的从节点,主要用于存储集群当中的各种数据 数据计算核心模块: JobTracker:接收用户的计算请求任务...secondaryNameNode:主要能用于hadoop当中元数据信息的辅助管理 DataNode:集群当中的从节点,主要用于存储集群当中的各种数据 数据计算核心模块: ResourceManager...secondaryNameNode:主要能用于hadoop当中元数据信息的辅助管理 DataNode:集群当中的从节点,主要用于存储集群当中的各种数据 数据计算核心模块: ResourceManager....x的基本架构和Hadoop2.x 类似,但是Hadoop3.x加入很多新特性:如支持多NameNode,同时对HDFS和MapReduce也进行了优化。

96931

Hadoop数据分析平台实战——260用户数据ETL离线数据分析平台实战——260用户数据ETL

离线数据分析平台实战——260用户数据ETL ETL目标 解析我们收集的日志数据,将解析后的数据保存到hbase中。...这里选择hbase来存储数据的主要原因就是: hbase的宽表结构设计适合我们的这样多种数据格式的数据存储(不同event有不同的存储格式)。...在etl过程中,我们需要将我们收集得到的数据进行处理,包括ip地址解析、userAgent解析、服务器时间解析等。...ETL存储 etl的结果存储到hbase中, 由于考虑到不同事件有不同的数据格式, 所以我们将最终etl的结果保存到hbase中, 我们使用单family的数据格式, rowkey的生产模式我们采用...Permission denied: user=gerry, access=EXECUTE, inode="/tmp":hadoop:supergroup:drwx------

96160

Kettle构建Hadoop ETL实践(三):Kettle对Hadoop的支持

建立MySQL数据库连接 三、导入导出Hadoop集群数据 1. 向HDFS导入数据 2. 向Hive导入数据 3. 从HDFS抽取数据到MySQL 4....首先概要介绍Kettle对大数据的支持,然后用示例说明Kettle如何连接Hadoop,如何导入导出Hadoop集群上的数据,如何用Kettle执行Hive的HiveQL语句,还会用一个典型的MapReduce...一、Hadoop相关的步骤与作业项 在“ETL与Kettle”(https://wxy0327.blog.csdn.net/article/details/107985148)的小结中曾提到...三、导入导出Hadoop集群数据 本节用四个示例演示如何使用Kettle导出导入Hadoop数据。...从下一篇开始,我们将建立一个模拟的Hadoop数据仓库,并用使用Kettle完成其上的ETL操作。

5.5K20

2021年数据Hadoop(一):​​​​​​​Hadoop介绍

Hadoop介绍 Hadoop是Apache旗下的一个用java语言实现开源软件框架,是一个开发和运行处理大规模数据的软件平台。允许使用简单的编程模型在大量计算机集群上对大型数据集进行分布式处理。...狭义上说,Hadoop指Apache这款开源框架,它的核心组件有: HDFS(分布式文件系统):解决海量数据存储 MAPREDUCE(分布式运算编程框架):解决海量数据计算 YARN(作业调度和集群资源管理的框架...):解决资源任务调度 广义上来说,Hadoop通常是指一个更广泛的概念——Hadoop生态圈。...当下的Hadoop已经成长为一个庞大的体系,随着生态系统的成长,新出现的项目越来越多,其中不乏一些非Apache主管的项目,这些项目对HADOOP是很好的补充或者更高层的抽象。...比如: 框架 用途 HDFS 分布式文件系统 MapReduce 分布式运算程序开发框架 ZooKeeper 分布式协调服务基础组件 HIVE 基于HADOOP的分布式数据仓库,提供基于SQL的查询数据操作

1.3K31

基于Hadoop生态圈的数据仓库实践 —— ETL(一)

Sqoop简介 Sqoop是一个在Hadoop与结构化数据存储(如关系数据库)之间高效传输大批量数据的工具。它在2012年3月被成功孵化,现在已是Apache的顶级项目。...而ETL通常是按一个固定的时间间隔,周期性定时执行的,因此对于整体拉取的方式而言,每次导入的数据需要覆盖上次导入的数据。Sqoop中提供了hive-overwrite参数实现覆盖导入。...Sqoop导入那些被检查列的值比--last-value给出的值数据行。 Sqoop支持的另一个表修改策略叫做lastmodified模式。...设想这样的场景,一个销售订单的订单时间是2015年1月1日,实际插入表里的时间是2015年1月2日,ETL每天0点执行,抽取前一天的数据。...6)再次执行sqoop作业,因为last-value的值为'2016-06-30 05:20:47',所以这次只会导入entry_date比'2016-06-30 05:20:47'数据 sqoop

1.6K20

数据ETL详解

ETL是BI项目最重要的一个环节,通常情况下ETL会花掉整个项目的1/3的时间,ETL设计的好坏直接关接到BI项目的成败。...ETL也是一个长期的过程,只有不断的发现问题并解决问题,才能使ETL运行效率更高,为项目后期开发提供准确的数据。   ETL的设计分三部分:数据抽取、数据的清洗转换、数据的加载。...在设计ETL的时候也是从这三部分出发。数据的抽取是从各个不同的数据源抽取到ODS中(这个过程也可以做一些数据的清洗和转换),在抽取的过程中需要挑选不同的抽取方法,尽可能的提高ETL的运行效率。...ETL三个部分中,花费时间最长的是T(清洗、转换)的部分,一般情况下这部分工作量是整个ETL的2/3。数据的加载一般在数据清洗完了之后直接写入DW(Data Warehouse)中去。   ...不符合要求的数据主要是有不完整的数据、错误的数据和重复的数据类。

1.5K20

ETL工程】大数据技术核心之ETL

提纲: 数据采集:ETL 数据存储:关系数据库、NoSql、SQL等 数据管理:(基础架构支持)云存储、分布式文件系统 数据分析与挖掘:(结果展现)数据的可视化 本文章的目的,不是为了让大家对ETL的详细过程有彻底的了解...这里我们更关注数据ETL过程,而ETL前期的过程,只需要了解其基本范畴就OK。 在数据挖掘的范畴了,数据清洗的前期过程,可简单的认为就是ETL的过程。...ETL的发展过程伴随着数据挖掘至今,其相关技术也已非常成熟。这里我们也不过多的探讨ETL过程,日后如有涉及,在细分。 概念: ETL(extract提取、transform转换、load加载)。...而在实际ETL工具应用的对比上,对元数据的支持、对数据质量的支持、维护的方便性、定制开发功能的支持等方面是我们选择的切入点。一个项目,从数据源到最终目标表,多则达上百个ETL过程,少则也十几个。...异常处理 在ETL的过程中,必不可少的要面临数据异常的问题,处理办法: 1. 将错误信息单独输出,继续执行ETL,错误数据修改后再单独加载。中断ETL,修改后重新执行ETL。原则:最大限度接收数据

3K100

Kettle构建Hadoop ETL实践(八-1):维度表技术

---- 前面文章中,我们用Kettle工具实现了Hadoop多维数据仓库的基本功能,如使用Sqoop作业项、SQL脚本、Hadoop file output、ORC output等步骤实现...ETL过程,使用Oozie、Start作业项定期执行ETL任务等。...ETL数据流应当根据基本维度建立一致性子维度,而不是独立于基本维度,以确保一致性。本节中将准备两个特定子维度,月份维度与Pennsylvania州客户维度。...除了利用已有的日期维度数据生成月份维度,我们还可以一次性生成日期维度和月份维度数据,只需对“Kettle构建Hadoop ETL实践(四):建立ETL示例模型()”中图4-4的转换稍加修改,如图8-5所示...而数据库视图,则是按照事实表需要引用维度表的次数,建立相同数量的视图。我们先修改销售订单数据库模式,添加一个请求交付日期字段,并对Kettle ETL作业做相应的修改。

3.3K30

数据ETL实践探索(3)---- 大数据ETL利器之pyspark

---- 大数据ETL 系列文章简介 本系列文章主要针对ETL数据处理这一典型场景,基于python语言使用Oracle、aws、Elastic search 、Spark 相关组件进行一些基本的数据导入导出实战...本地文件上传至aws es spark dataframe录入ElasticSearch 等典型数据ETL功能的探索。...系列文章: 1.大数据ETL实践探索(1)---- python 与oracle数据库导入导出 2.大数据ETL实践探索(2)---- python 与aws 交互 3.大数据ETL实践探索(3)...---- pyspark 之大数据ETL利器 4.大数据ETL实践探索(4)---- 之 搜索神器elastic search 5.使用python对数据库,云平台,oracle,aws,es导入导出实战...6.aws ec2 配置ftp----使用vsftp 7.浅谈pandas,pyspark 的大数据ETL实践经验 ---- pyspark Dataframe ETL 本部分内容主要在 系列文章

3.7K20

ETL 是什么 ETL 工具有哪些 ETL 数据交换系统

ETL简介ETL是英文Extract-Transform-Load的缩写。用来描述将数据从源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。...它能够对各种分布的、异构的源数据(如关系数据)进行抽取。按照预先设计的规则将不完整数据、重复数据以及错误数据等“脏"数据内容进行清洗。得到符合要求的“干净”数据,并加载到数据仓库中进行存储。...这些“干净”数据就成为了数据分析、数据挖掘的基石。ETL重要性ETL是实现商务智能(Business Intelligence,BI)的核心。...ODI (收费)oracle数据库厂商提供的工具,有局限性,与oracle数据库耦合太深。...kettle(免费)Kettle是一款国外开源的ETL工具,纯java编写,可以在Windows、Linux、Unix上运行,数据抽取高效稳定,但学习及维护成本太高。

2K10

Kettle构建Hadoop ETL实践(九):事实表技术

在满足以下两个条件时,往往采用滚动式数据装载:一是事务数据量非常,以至于装载一个月的快照需要很长时间;二是快照的度量是可加的。...例如可以建立每日销售周期快照,数据从事务事实表汇总而来,然后月快照数据从每日快照汇总。这样能够把一个的查询分散到每一天进行。...累积事实表的数据装载需要面对两个挑战:1. ETL过程处理尽量少的数据;2....本例中因为定期装载的是前一天的数据,所以这里的“晚于”指的是事务数据延迟两天及其以上才到达ETL系统。 必须对标准的ETL过程进行特殊修改以处理迟到的事实。...无事实事实表为数据仓库设计提供了更多的灵活性。 迟到的事实指的是到达ETL系统的时间晚于事务发生时间的度量数据。必须对标准的ETL过程进行特殊修改以处理迟到的事实。

5.7K10

ETL数据建模

一、什么是ETL ETL数据抽取(Extract)、转换(Transform)、加载(Load )的简写,它是将OLTP系统中的数据经过抽取,并将不同数据源的数据进行转换、整合,得出一致性的数据,然后加载到数据仓库中...在数据仓库构建中,ETL关系到整个项目的数据质量,所以马虎不得,必须将其摆到重要位置,将ETL这一 大厦根基筑牢。 五、ETL和SQL的区别与联系 如果ETL和SQL来说,肯定是SQL效率高的多。...但是双方各有优势,先说ETLETL主要面向的是建立数据仓库来使用的。ETL更偏向数据清洗,多数据数据整合,获取增量,转换加载到数据仓库所使用的工具。...所以具体我们在什么时候使用ETL和SQL就很明显了,当我们需要多数据源整合建立数据仓库,并进行数据分析的时候,我们使用ETL。如果是固定单一数据库的数据层次处理,我们就使用SQL。...常用的ETL工具:主要有三主流工具,分别是Ascential公司的Datastage、Informatica公司的Powercenter、NCR Teradata公司的ETL Automation.还有其他开源工具

1K20
领券