可用于Hadoop下的ETL工具——Kettle

摘要:
您已经分享了许多与hadoop相关的内容。我想介绍一下Kettle,一个ETL工具。Kettle是pentaho公司的开源ETL工具。与hadoop一样,Kettle也是一个java实现。其目的是在数据集成期间提取、转换和加载数据。Kettle中有两种类型的脚本文件:转换和作业。转换完成数据的基本转换,作业完成整个工作流的控制。此外,它支持Hadoop上文件的读写,以及HBase的输入和输出;TableInput组件还支持Hive数据的读写,这在数据集成中确实是一个罕见的工具。对于hdfs的输出也是如此。选择HadoopFileOutput。

看大家分享了好多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文件系统
之后进入要读取的目录,选择要读取的文件即可。如果是读取多文件可以用通配符表示。

 

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

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

免责声明:文章转载自《可用于Hadoop下的ETL工具——Kettle》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Android: NDK编程入门笔记NXOpen 批量导出STP、IGS、DWG、DXF、PDF(五合一)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

HDP 3.1.0 集成 Sqoop2

HDP 3.1.0 集成 Sqoop2 本文原始地址:https://sitoi.cn/posts/65261.html 环境 由三台主机组成的 HDP 3.1.0 集群 配置好时间同步 步骤 下载 Sqoop2 的安装包 解压安装包到 /usr/lib 目录下 修改 sqoop.sh 环境变量 修改 sqoop.properties 配置 导入第三...

HDFS只支持文件append操作, 而依赖HDFS的HBase如何完成数据的增删改查

转:http://www.th7.cn/db/nosql/201510/135382.shtml 1. HDFS的文件append功能 早期版本的HDFS不支持任何的文件更新操作,一旦一个文件创建、写完数据、并关闭之后,这个文件就再也不能被改变了。为什么这么设计?是为了与MapReduce完美配合,MapReduce的工作模式是接受一系列输入文件,经过ma...

Hive的基本操作

一、创建数据库   hive>create database mydb ; //hql和mysql语法极其相似   hive>show databases;//查看所有数据库 二、创建表   格式:     create [external] table <表名>(列的定义,....)  [row format delimited...

kettle crontab java: command not found

contos6.5下,单独执行脚本无问题,添加到crontab 里保存 java: command not found ※(重点)接着,编写执行kettle任务的shell脚本创建test.sh,将以下内容复制粘贴到里面,然后键入“chmod +x /mnt/kettle/*.sh”,赋予test.sh执行权限。 export JAVA_HOME=/us...

[大数据技术]Kettle初次连接MySQL数据库 报错问题 错误连接数据库 Error occured while trying to connect to the database Exception while loading class org.gjt.mm.mysql.Driver

报错内容如下: 1 错误连接数据库 [foodmartconn] : org.pentaho.di.core.exception.KettleDatabaseException: 2 Error occured while trying to connect to the database 3 4 Exception while loading cla...

centos7安装部署opentsdb2.4.0

写在前面 最近因为项目需要在读opentsdb的一部分源码,后面会做个小结分享出来。本人是不大喜欢写这种安装部署的文章,考虑到opentsdb安装部署对于初次接触者来说不太友好,另外对公司做测试的同事可能有些帮助作用,方便他们快速安装部署,就把OpenTSDB 2.4.0安装部署文档写在这里。 对于opentsdb是什么,应用领域这里就不说了,不了解的请看...