看大家分享了好多hadoop相关的一些内容,我为大家介绍一款ETL工具——Kettle。
    Kettle是pentaho公司开源的一款ETL工具,跟hadoop一样,也是java实现,其目的就是做数据整合中时数据的抽取(Extract)、转换(Transformat)、加载(Load)工作。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。Transformation工作原理上采用并发流式处理,可采用集群分布式处理。
    像Eclipse一样,Kettle也是采用插件模式实现,任何个人或团体可以向其贡献插件代码;目前kettle支持很多中数据源,如:大多数市面上的数据库、文本文件、Excel、XML、Json文件、等等,能够对抽取的数据做排序、分组、合并、行转列、列转行、字段合并和分隔、不同数据源间的连接(如数据库表那样)、数据库文件的导入导出等操作。另外还支持Hadoop上文件的读取和写入,以及HBase的输入输出;其中的TableInput组件还支持Hive数据的读写,真是一款数据整合中不可多得的利器。
    我目前工作中在使用,所以在这里向大家推荐了解;如果有使用的同学,欢迎多多交流!
    感兴趣的朋友可以了解了解。地址:kettle.pentaho.com

以下是在transfrmation中读取hdfs中文件的步骤:
1.拖拽“Hadoop File Input”到Transformation的设计界面
2.双击刚才拖拽的控件或者右键选编辑,进入到“Hadoop File Input”的配置窗口
3.点击“浏览(Browse)”按钮,进入到连接配置窗口
4.输入hdfs的地址和端口号
5.点击“连接(Connect)”按钮, 这时你就会看到下边的浏览部分就会进入到你的hdfs文件系统
之后进入要读取的目录,选择要读取的文件即可。如果是读取多文件可以用通配符表示。

 


6.配置文件内容
①选择文件类型
②设置字段间的分隔符
③字段是否有封闭字符,有的话需要填写用的封闭符是什么,如默认是双引号;没有的话就可以去掉
④是否包含文件头,如包含,第几行是
⑤文件格式,Unix or Windows?
⑥设置文件字符集。否则会有乱码出现

7.设置要读取的字段。按文本中列序确定,从左至右;若读取全部,可以不填写字段(前提要有列头,即上一步说到的文件头)。
输出到hdfs也一样,选择“Hadoop File Output”即可。配置类似,我就不赘述了。 想练习的话,可以从hdfs读取一个文件,并输入到hdfs的其他目录

可用于Hadoop下的ETL工具——Kettle的更多相关文章

  1. 开源ETL工具kettle系列之常见问题

    开源ETL工具kettle系列之常见问题 摘要:本文主要介绍使用kettle设计一些ETL任务时一些常见问题,这些问题大部分都不在官方FAQ上,你可以在kettle的论坛上找到一些问题的答案 1. J ...

  2. ETL工具--kettle篇(17.10.09更新)

    ETL是EXTRACT(抽取).TRANSFORM(转换).LOAD(加载)的简称,实现数据从多个异构数据源加载到数据库或其他目标地址,是数据仓库建设和维护中的重要一环也是工作量较大的一块.当前知道的 ...

  3. ETL工具kettle基本使用

    1.下载kettle:https://sourceforge.net/projects/pentaho/files/Data%20Integration/7.0/pdi-ce-7.0.0.0-25.z ...

  4. 大数据之ETL工具Kettle的--1功能介绍

    Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行. 说白了就是,很有必要去理解一般ETL工具必备的特性和功能,这样才更好的掌握Kettle的使用. ...

  5. ETL工具Kettle使用以及与Java整合实现数据清洗

    本文主要讲述kettle的使用和与Java整合,具体下载与安装请自行百度! kettle有两种脚本方式:转换和工作,工作中可以添加转换.以下以转换为例. 1.新建一个转换, 2.在工作中经常用到的是表 ...

  6. ETL工具-KETTLE教程专栏1----术语和定义

    1-资源库 资源库是用来保存转换任务的,用户通过图形界面创建的的转换任务可以保存在资源库中.        资源库可以使多用户共享转换任务,转换任务在资源库中是以文件夹形式分组管理的,用户可以自定义文 ...

  7. 八步学会数据迁移:ETL工具kettle使用方法

    一.目的 将不同服务器上的表合并到另外一个服务器上.例如:将服务器1上的表A和服务器2上的表B,合并到服务器3上的表C 要求:表A需要被裁剪(去掉不必要的字段).表B需要增加一些字段 二.使用方法 ( ...

  8. etl学习系列1——etl工具安装

    ETL(Extract-Transform-Load的缩写,即数据抽取.转换.装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可 ...

  9. ETL利器Kettle

    ETL利器Kettle实战应用解析系列一[Kettle使用介绍] 本系列文章主要索引如下: 一.ETL利器Kettle实战应用解析系列一[Kettle使用介绍] 二.ETL利器Kettle实战应用解析 ...

随机推荐

  1. EXTJS4.2 chart 柱状图

    chart 柱状图 Ext.require('Ext.chart.*'); Ext.require(['Ext.Window', 'Ext.fx.target.Sprite', 'Ext.layout ...

  2. Sambar,实现Linux和Windows共享

    我下载的是tar的jar包,不是rpm,rpm就不多说了.目的是让Windows能够共享Linux系统的文件夹 1.进入到source文件夹: 2../configure->make->m ...

  3. hbase-site.xml 参数设置

    <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="confi ...

  4. Linux学习笔记(7)-系统资源查看

    监控系统资源:vmstat #vmstat [采样时间] [ 采样次数] 如:#vmstat 3 2 每3秒采样一次,总共采样2次 输出信息各字段解释 r 表示运行队列,如果运行队列多大表示CPU很繁 ...

  5. 关于.net中的脚本语言使用

    基于.net中drl框架的脚本现在有很多,最近也由于工作的需要,目前有lua.python.ruby.javascript的.net实现,对ruby不怎么了解,python.lua.js就成了试验的对 ...

  6. 抽象工厂模式(python版)

    http://blog.csdn.net/ponder008/article/details/6886039 抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类.优点:易 ...

  7. 【leetcode】Divide Two Integers (middle)☆

    Divide two integers without using multiplication, division and mod operator. If it is overflow, retu ...

  8. BindingFlags说明

    为了获取返回值,必须指定 BindingFlags.Instance 或 BindingFlags.Static. 指定 BindingFlags.Public 可在搜索中包含公共成员. 指定 Bin ...

  9. 李洪强iOS开发之XMPP

      XMPP历史 这个xmpp框架在2008年开始,不过是一个简单地RFC实现.提供一个最小的代理去接受三种xmpp的基本类型presence.message.iq.因为framwork只提供了最小的 ...

  10. Subset leetcode java

    题目: Given a set of distinct integers, S, return all possible subsets. Note: Elements in a subset mus ...