看大家分享了好多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. Netty 4.0 demo

    netty是一个异步,事件驱动的网络编程框架&工具,使用netty,可以快速开发从可维护,高性能的协议服务和客户端应用.是一个继mina之后,一个非常受欢迎的nio网络框架 netty4.x和 ...

  2. mybatis foreach标签

    一.批量插入数据 示例:添加订单商品表 1.模型层的相应代码 /** * 添加订单商品表 * @param ordergoods * @return */ public boolean addOrde ...

  3. 团体程序设计天梯赛-练习集L2-003. 月饼

    L2-003. 月饼 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不 ...

  4. hdu 1087

    动规  d[i]记录以第 i 个数结尾的最大值 #include <cstdio> #include <algorithm> #include <cstring> ...

  5. iOS socket编程 第三方库 AsyncSocket(GCDAsyncSocket)

    Socket描述了一个IP.端口对.它简化了程序员的操作,知道对方的IP以及PORT就可以给对方发送消息,再由服务器端来处理发送的这些消息.所以,Socket一定包含了通信的双发,即客户端(Clien ...

  6. 注入攻击-SQL注入和代码注入

    注入攻击 OWASP将注入攻击和跨站脚本攻击(XSS)列入网络应用程序十大常见安全风险.实际上,它们会一起出现,因为 XSS 攻击依赖于注入攻击的成功.虽然这是最明显的组合关系,但是注入攻击带来的不仅 ...

  7. 关于用 MySQL 存储 Emoji

    http://www.v2ex.com/t/137724 如果你希望让你的网站或者 App 支持 Emoji,那么在初次设置 MySQL 时,有一些细节你需要知道. Emoji Emoji 字符的特殊 ...

  8. JS选中OPTION

    var obj_prov = document.getElementById("prov"); var prov_text = obj_prov.options[obj_prov. ...

  9. 200. Number of Islands

    题目: Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is s ...

  10. python脚本工具-2 去除扩展名后提取目录下所有文件名并保存

    文件夹里有多个RM格式的视频文件,现需要把它们的文件名都提取出来,并去掉文件的扩展名,以便放到需要的网页里. 源代码: # --- picknames.py --- import os filenam ...