展开

关键词

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

主要内容包括: (一)ETL与Kettle的基本概念 (二)Kettle及其使用环境的安装与配置 (三)Kettle对Hadoop的支持 (四)建立ETL示例模型 (五)数据抽取 (六)数据转换与装载 Hadoop生态圈中的主要数据抽取工具是Sqoop。Sqoop被设计成支持在关系数据库和Hadoop之间传输数据。 Hadoop生态圈中有一个叫做Oozie的工具,它是一个Hadoop的工作流调度系统,可以使用它将ETL过程封装进工作流自动执行。 数据目录有时也被称为元数据存储,它可以提供一份数据仓库中数据的清单。 Hadoop生态圈中主要的数据目录工具是HCatalog,它是Hadoop上的一个表和存储管理层。 查询引擎组件负责实际执行用户查询。 Hadoop生态圈中比较知名的数据可视化工具是Hue和Zeppelin。 本专题的(三)Kettle对Hadoop的支持 将详细介绍如何在Kettle中使用Hadoop相关组件。2.

1.4K53

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

Sqoop优化(1)调整Sqoop命令行参数(2)调整数据库四、小结---- 本篇介绍如何利用Kettle提供的转换步骤和作业项实现Hadoop数据仓库的数据抽取,即ETL过程中的Extract部分。 Hadoop生态圈中的Sqoop工具可以直接在关系数据库和HDFS或Hive之间互导数据,而Kettle支持Sqoop输入、输出作业项。 在“Kettle构建Hadoop ETL实践(一):ETL与Kettle”里介绍Kettle虚拟文件系统时,我们知道了Kettle使用Apache的通用VFS作为文件处理接口,能够直接读取zip压缩包中的多个文件 最后将新增数据通过“Hadoop file output”步骤上传到rds.sales_order表对应的HDFS目录下。 Sqoop是一个在Hadoop与结构化数据存储,如关系数据库之间高效传输大批量数据的工具,支持全量和增量数据抽取。

77420
  • 广告
    关闭

    腾讯云前端性能优化大赛

    首屏耗时优化比拼,赢千元大奖

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

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

    一、Hadoop相关的步骤与作业项 在“ETL与Kettle”(https:wxy0327.blog.csdn.netarticledetails107985148)的小结中曾提到,Kettle具有完备的转换步骤与作业项 关于Hadoop及其组件的基本概念和功能特性不是本专题所讨论的范畴,可参考其它资源。二、连接Hadoop Kettle可以与Hadoop协同工作。 Hadoop管理员应该已经配置了允许Kettle所在主机对Hadoop集群的访问。除权限外,还需要确认以下信息:Hadoop集群的发行版本。 Cluster标签:Hadoop job name:输入“aggregate”。Hadoop cluster:选择“CDH631”,为一个已经定义的Hadoop集群。 从下一篇开始,我们将建立一个模拟的Hadoop数据仓库,并用使用Kettle完成其上的ETL操作。

    1.1K20

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

    TDS库表四、装载日期维度数据五、小节---- 从本篇开始,介绍使用Kettle实现Hadoop数据仓库的ETL过程。 我们会引入一个典型的订单业务场景作为示例,说明多维模型及其相关ETL技术在Kettle上的具体实现。 ETL处理时间周期为每天一次,事实表中存储最细粒度的订单事务记录。 (3)确认维度。显然产品和客户是销售订单的维度。 如果文件小于Hadoop里定义的块尺寸(Hadoop 2.x缺省是128M),可以认为是小文件。元数据的增长将转化为NameNode的开销。如果有大量小文件,NameNode会成为性能瓶颈。 至此,我们的示例数据仓库模型搭建完成,后面在其上将实现ETL。五、小节 我们使用一个简单而典型的销售订单示例,建立数据仓库模型。

    43010

    Kettle构建Hadoop ETL实践(二):安装与配置

    在前一篇里介绍了ETL和Kettle的基本概念,内容偏重于理论。从本篇开始,让我们进入实践阶段。工欲善其事,必先利其器。 既然我们要用Kettle构建Hadoop ETL应用,那么先要做的就是安装Kettle。 我们只要使用Linux系统中缺省创建的用户(如root)运行Kettle,就能成功访问Hadoop集群,因为Hadoop集群同样是安装部署在Linux系统之上。 与之相反,也可以给某个ETL项目设置一个特定的配置目录,此时需要在运行这个ETL的脚本里设置KETTLE_HOME环境变量。 下面说明每个配置文件的作用。 下一篇引入本专题涉及的另一个关键技术,Hadoop及其生态圈,实际演示Kettle对Hadoop的支持。

    91930

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

    ETL过程处理尽量少的数据;2. 不使用DML(Data Manipulation Language,数据操纵语言,如insert、update、delete等)。 最后的“Hadoop file output”步骤将输出流数据生成无事实事实表所对应的HDFS文件:userhivewarehousedw.dbproduct_count_factproduct_count_fact 二是“Hadoop file output”步骤生成的文件名中添加${PRE_DATE}变量以实现增量装载。4. 测试定期装载作业(1)修改源数据库的产品表数据。 然而,各种各样的原因会导致需要ETL系统处理迟到的事实数据。例如,某些线下的业务,数据进入操作型系统的时间会滞后于事务发生的时间。 本例中因为定期装载的是前一天的数据,所以这里的“晚于”指的是事务数据延迟两天及其以上才到达ETL系统。 必须对标准的ETL过程进行特殊修改以处理迟到的事实。

    34210

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

    因此,输入数据仓库的数据通常是当前层次树的时间点快照,这就需要由ETL过程来确定发生了哪些变化,以便正确记录历史信息。为了检测出过时的父—子关系,必须通过孩子键进行查询,然后将父亲作为结果返回。 对于数据流的多行输入,尤其在Hive这类Hadoop上的数据库上执行这些步骤,将会慢到无法容忍的地步。五、退化维度 本节讨论一种称为退化维度的技术,该技术减少维度的数量,简化维度数据仓库模式。 在开发ETL系统时,ETL开发小组可以向业务用户询问有关忽略这些标志的必要问题,如果它们是微不足道的。但是这样的方案通常立即就被否决了,因为有人偶尔还需要它们。 处理这些新增的维度表和外键需要大量修改数据装载脚本,还会增加出错的机会,同时会给ETL的开发、维护、测试过程带来很大的工作量。 “装载年度销售事实表”、“装载年度客户销售分段事实表”两个转换都只包含“表输入”和“Hadoop file output”两个步骤,区别只是SQL查询语句和输出的HDFS文件不同。

    21620

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

    ---- 前面文章中,我们用Kettle工具实现了Hadoop多维数据仓库的基本功能,如使用Sqoop作业项、SQL脚本、Hadoop file output、ORC output等步骤实现ETL过程, 使用Oozie、Start作业项定期执行ETL任务等。 ETL数据流应当根据基本维度建立一致性子维度,而不是独立于基本维度,以确保一致性。本节中将准备两个特定子维度,月份维度与Pennsylvania州客户维度。 最后的“Hadoop file output”步骤将生成的文本文件上传到month_dim表所对应的HDFS目录下。该步骤属性如下:“文件”标签Hadoop Cluster:选择“CDH631”。 除了利用已有的日期维度数据生成月份维度,我们还可以一次性生成日期维度和月份维度数据,只需对“Kettle构建Hadoop ETL实践(四):建立ETL示例模型()”中图4-4的转换稍加修改,如图8-5所示

    29630

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

    为了确保数据流的稳定,需要使用所在平台上可用的任务调度器来调度ETL定期执行。调度模块是ETL系统必不可少的组成部分,它不但是数据仓库的基本需求,也对项目的成功起着举足轻重的作用。 绝大多数Hadoop系统都运行在Linux之上,因此本片详细讨论两种Linux上定时自动执行ETL作业的方案。 为了演示Kettle对数据仓库的支持能力,我们的示例将使用Start作业项实现ETL执行自动化。 Oozie为以下类型的动作提供支持:Hadoop MapReduce、Hadoop HDFS、Pig、Java和Oozie的子工作流。 它们是由Hadoop的MapReduce框架执行的。这种低耦合的设计方法让Oozie可以有效利用Hadoop的负载平衡、灾难恢复等机制。这些任务主要是串行执行的,只有文件系统动作例外,它是并行处理的。

    54753

    Kettle构建Hadoop ETL实践(十):并行、集群与分区

    集群转换中的分区五、小结---- 本专题前面系列文章详细说明了使用Kettle的转换和作业,实现Hadoop上多维数据仓库的ETL过程。 通常Hadoop集群存储的数据量是TB到PB,如果Kettle要处理如此多的数据,就必须考虑如何有效使用所有的计算资源,并在一定时间内获取执行结果。 一、数据分发方式与多线程 在“Kettle与Hadoop(一)Kettle简介”中,我们知道了转换的基本组成部分是步骤,而且各个步骤是并行执行的。

    26940

    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过程已经实现,下一篇将介绍如何定期自动执行这个过程。

    40144

    系列 | 漫谈数仓第三篇NO.3 『数据魔法』ETL

    本文目录CONTENTS ☞ ETL同步之道 ☞ ETL之技术栈 ☞ ETL加载策略 ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract ETL工具或类ETL的数据集成同步工具或语言,企业生产中工具也非常之多,主流的etl工具有Sqoop、DataX、Canal、flume、Logstash、kettle、DataStage、Informatica 数据同步之道01. sqoopSqoop,SQL-to-Hadoop 即 “SQL到HadoopHadoop到SQL”。是Apache开源的一款在Hadoop和关系数据库服务器之间传输数据的工具。 主要用于在Hadoop与关系型数据库之间进行数据转移,可以将一个关系型数据库(MySQL ,Oracle等)中的数据导入到Hadoop的HDFS中,也可以将HDFS的数据导出到关系型数据库中。 不管是传统数仓,还是基于Hadoop生态的构建的(hive、spark、flink)数仓,SQL虽然戏码在下降,但依然是重头戏。强大的存储过程,更是屹立不倒,这么多年都在熠熠生辉。

    1K31

    系列 | 漫谈数仓第三篇NO.3 『数据魔法』ETL

    本文目录CONTENTS ☞ ETL同步之道 ☞ ETL之技术栈 ☞ ETL加载策略 ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract ETL工具或类ETL的数据集成同步工具或语言,企业生产中工具也非常之多,主流的etl工具有Sqoop、DataX、Canal、flume、Logstash、kettle、DataStage、Informatica 数据同步之道01. sqoopSqoop,SQL-to-Hadoop 即 “SQL到HadoopHadoop到SQL”。是Apache开源的一款在Hadoop和关系数据库服务器之间传输数据的工具。 主要用于在Hadoop与关系型数据库之间进行数据转移,可以将一个关系型数据库(MySQL ,Oracle等)中的数据导入到Hadoop的HDFS中,也可以将HDFS的数据导出到关系型数据库中。 不管是传统数仓,还是基于Hadoop生态的构建的(hive、spark、flink)数仓,SQL虽然戏码在下降,但依然是重头戏。强大的存储过程,更是屹立不倒,这么多年都在熠熠生辉。

    1.3K41

    2014年八大最热门的大数据工作

    ETL开发者与不同的数据来源和组织打交道,从不同的源头抽取数据,转换并导入数据仓库以满足企业的需要。ETL软件行业相对成熟,相关岗位的工作生命周期比较长,通常由内部员工和外包合同商之间通力完成。 ETL人才在大数据时代炙手可热的原因之一是:在企业大数据应用的早期阶段,Hadoop只是穷人的ETL。 二、hadoop开发者(15-17.5万美元)Hadoop是基于Java的开源框架,随着数据集规模不断增大,而传统BI的数据处理成本过高,企业对Hadoop及相关的廉价数据处理技术如Hive、HBase 如今具备Hadoop框架经验的技术人员是最抢手的大数据人才。 过去,数据可视化属于商业智能开发者类别,但是随着Hadoop的崛起,数据可视化已经成了一项独立的专业技能和岗位。

    34640

    常见的Hadoop十大应用误解

    (误解)Hadoop就是ETL (Extract, Transform & Load)(正解)ETL其实有两种意涵,它本身是一个概念,也同时是一个产品类别(Product Category)的总称。 所以当我们听到“某某公司是做ETL产品的”的这种对话时,其中的ETL,与DB、Application Server等名词是相同的,都是指向某种类别的IT产品。 所以当我们说Hadoop特别适合拿来做ETL时,在概念上,它是正确的,同时也能很清楚明白地定位出Hadoop在企业资料运用中所扮演的角色。 但Hadoop终究不是一个ETL的产品,反倒是现有的ETL产品,也开始跟BI一样,去发展它在Hadoop上的可用性、联系性与兼容性。 Etu团队之前在帮客户导入Hadoop做数据处理时,常常会用script语言来实现一些应用场景,最近一段时间以来,我们的技术顾问也开始运用3rd-party的ETL tool来实作这一块,对企业客户来说

    27150

    Hive项目实战系列(1) | 项目创建与上传数据

    上传到HDFS中$ hadoop fs -put guli ? 2.3 ETL原始数据  通过观察原始数据形式,可以发现,视频可以有多个所属分类,每个所属分类用&符号分割,且分割的两边有空格字符,同时相关视频也是可以有多个元素,多个相关视频又用“t”进行分割。 先粘贴依赖创建好编程环境 junit junit RELEASE org.apache.logging.log4j log4j-core 2.8.2 org.apache.hadoop hadoop-common 2.7.2 org.apache.hadoop hadoop-client 2.7.2 org.apache.hadoop hadoop-hdfs 2.7.2 jdk.tools jdk.tools line = value.toString(); String result = handleLine(line); if (result == null) { context.getCounter(ETL

    30110

    数据平台的历史进程

    2006年之前:ETL,数据仓库和OLAP多维数据集数据平台最常用的方法是使用 ETL 进程将传入数据转换为现成的块,这些块将被批量加载到数据仓库中。 公司希望分析这些新数据源,并将按照半结构化和非结构化数据按压到严格模式的压力给ETL流程带来巨大压力。 这种转变中的输家很快变成了ETL工具,这些工具由Hadoop成群结队地流离失所,这也可以完成所有这些繁重的工作。 最佳实践架构迅速成为Hadoop + MPP,Hadoop成为事实上的ETL平台,将数据转换为加载到MPP数据库。 这意味着直接在Hadoop上执行分析变得至关重要。MPP供应商推出了“Hadoop连接器”,可以将数据从Hadoop提取到MPP进行处理 - 但这会对性能产生非常不利的影响,因为计算需要接近存储。

    29410

    数据分析高级教程(三)

    工作流单元测试1、工作流定义配置上传$ hadoop fs -put hive2-etl userhadoopooziemyapps$ hadoop fs -put hive2-dw userhadoopooziemyapps $ lltotal 12drwxrwxr-x. 2 hadoop hadoop 4096 Nov 23 16:32 hive2-dwdrwxrwxr-x. 2 hadoop hadoop 4096 Nov 、工作流单元提交启动oozie job -D inpath=webloginput -D outpath=weblogoutpre-config weblogjob.properties -run启动etl --. 1 hadoop hadoop 382 Nov 26 16:49 job.propertiesdrwxrwxr-x. 2 hadoop hadoop 4096 Nov 27 11:26 lib-rw-rw-r --. 1 hadoop hadoop 1910 Nov 23 17:49 script.q-rw-rw-r--. 1 hadoop hadoop 687 Nov 23 16:32 workflow.xmll

    20910

    BI系统存在哪些问题,怎么解决?

    BI系统存在的问题BI系统更多的以分析业务数据产生的密度高、价值高的结构化数据为主,对于非结构化和半结构化数据的处理非常乏力; 由于数据仓库为结构化存储,在数据从其他系统进入数据仓库,叫做ETL过程,通常需要一个专门的 ETL团队去和业务做衔接,决定如何进行数据的清洗和转换;随着异构数据源的增加,要解析数据内容进入数据仓库,则需要非常复杂等ETL程序,从而导致ETL变得过于庞大和臃肿;当数据量过大的时候,性能会成为瓶颈 TBPB级别的数据量上表现出明显的吃力;数据库的范式等约束规则,着力于解决数据冗余的问题,是为了保障数据的一致性,但是对于数据仓库来说,并不需要对数据做修改和一致性的保障,这些约束反而会成为影响性能的因素;ETL Hadoop大数据分析平台出现侧重从以下几个维度去解决做数据分析面临的瓶颈:分布式计算:思路是让多个节点并行计算,并且强调数据本地性,尽可能的减少数据的传输;分布式存储:分布式存储是指将一个大文件拆成N Hadoop体系的大数据架构传统的大数据架构?流式架构?Lambda架构?Kappa架构?Unifield架构?

    39510

    乘风大数据,就业拿高薪

    ETL研发 (ETL Developer) 随着数据种类的不断增加,企业需要一种统一的方法处理所有种类数据,所以对于数据整合的需求越来越旺盛。 ETL开发者与不同的数据来源和组织打交道,从不同的源头抽取数据,转换并导入数据仓库以满足企业的需要。 目前,ETL行业相对成熟,相关岗位的工作生命周期比较长,通常由内部员工和外包合同商之间通力完成。ETL人才在大数据时代炙手可热的原因之一是:在企业大数据应用的早期阶段,Hadoop用作ETL工具。 基于Hadoop等Framework 的application开发 (SDE - Big Data) Hadoop的核心是HDFS和MapReduce.HDFS提供了海量数据的存储,MapReduce提供了对数据的计算 如今具备Hadoop框架经验的技术人员是最抢手的大数据人才。

    38670

    相关产品

    • 弹性 MapReduce

      弹性 MapReduce

      弹性MapReduce (EMR)结合云技术和  Hadoop等社区开源技术,提供安全、低成本、高可靠、可弹性伸缩的云端托管 Hadoop 服务。您可以在数分钟内创建安全可靠的专属 Hadoop 集群,以分析位于集群内数据节点或 COS 上的 PB 级海量数据……

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭

      扫码关注云+社区

      领取腾讯云代金券