kettle入门(三) 之kettle连接hadoop&hdfs图文详解

1 引言:

项目最近要引入大数据技术,使用其处理加工日上网话单数据,需要kettle把原始文本数据load到hadoop环境中

2 准备工作:

1 首先

要了解支持hadoop的Kettle版本情况,由于kettle资料网上较少,所以最好去官网找,官网的url:

http://wiki.pentaho.com/display/BAD/Configuring+Pentaho+for+your+Hadoop+Distro+and+Version

打开这个url 到打开页面最下面的底端如下图:

archive 下面的from PDI 4.3 、 from PDI 4.4 、 from PDI 5.0 即表示支持hadoop的pdi 版本。pdi即pentaho data integration 又称kettle。PDI 4.3 、 from PDI 4.4 、 from PDI 5.0 即是kettle 4.3 、4.4、 5.0 ,这个版本号 包括比其更高的版本(即kettle 5.0.X ,5.1,5.2也支持hadoop)。

2 其次

不同的kettle版本支持的hadoop版本不一样,以5.1为例子,下面的链接是5.1的支持情况

http://wiki.pentaho.com/display/BAD/Configuring+Pentaho+for+your+Hadoop+Distro+and+Version

下图为链接打开的页面的中间部分:

determine the proper shim for hadoop Distro and version 大概意思是 为hadoop版本选择合适的套件。表格上面的一行:apache、cloudera、hortonworks、intel、mapr指的是发行方。点击他们来选择你 想连接的hadoop的发行方 。上图 以apache hadoop为例:

Version 指版本号 ,shim 指套件的名称,download 里面的 included in 5.0,5.1 指kettle的5.0、5.1版本安装包里面已经有内置的插件,一句话来讲 就是kettle5.1及5.0版本已有插件提供支持apache hadoop版本0.20.x  。不需要额外下载。NS 是不支持的意思 图片下面也有解释。

上图说明的是对 cloudera的 hadoop支持的情况 download 里面 download的蓝色字体超链接的 说明 是要除了下kettle的安装包外另外下载的 ,带 included in 5.0,5.1 说明 kettle 5.0,5.1版本的本身就支持(内置有插件)。

由上面两图得到的结论是 kettle 5.1 支持 apache hadoop 0.20.x版本 及cloudera hadoop CDH4.0 到CDH5。

3  试验运行:

1 首先配置工作

当前我用的hadoop 版本是hadoop-2.2.0-cdh5.0 所以用kettle 5.1 且其内置有hadoop插件。去kettle官网下载:

解压之后 就是:

下载好之后,现在就需要做配置的工作了,配置的工作在kettle安装文件里面做:

参考:http://wiki.pentaho.com/display/BAD/Hadoop

进页面之后 先点击collapse 收缩所有的菜单树 如上图。 
Configuring Pentaho for your Hadoop Distro and Version 意思是为hadoop 版本做配置 点击进去:页面的上面 就是上面说过的kettle对hadoop的支持情况。

我们到页面的中间部分去,如下图:

1 意思是 你想要连接的hadoop发行版 已经被kettle支持了,但是没有内置插件,需要下载,这种情况最好 看下:Install Hadoop Distribution Shim

2 意思是你想连接的hadoop发行版 还有没有被kettle支持,可以自己填写相应的信息 要求pentaho 开发一个。

还有1种情况 就是上面说的hadoop发行版 已经被kettle支持了 且有内置的插件。

3 就是配置了。

3.1 stop application 就是如果kettle在运行 先停掉他。

3.2 打开安装文件夹 我们这边是kettle 所以就是spoon那个的文件路径:

3.3 编辑 plugin.properties文件

3.4 改一个配置值 下图画圈的地方

改成 对应你hadoop的shim值 (上图的表格里面的shim) 我这边是cdh50:

改之后保存:

至此 配置工作做完。

2 然后开发脚本工作

下面开始开发脚本 官方参考:http://wiki.pentaho.com/display/BAD/Loading+Data+into+HDFS

打开 kettle 运行spoon.bat

:

新建一个kjb文件 拖一个开始图元

再拖一个

hadoop copy files即是 load数据到 hdfs里面。

copy files里面的配置:

 意思是当前kjb脚本所在路径 在我这边文件夹是:

目标文件 是 hdfs://ip:hdfs端口/路径

填之前可以用测试

如下图 :填好server 和port后  点击connect 如果没有报错 出现红框 hdfs://......... 就说明连接成功了(如下图)。

可以运行脚本试试了:

如上图,脚本运行成功。

在hadoop home bin下面查看:

文件成功load.

至此,kettle load文本数据到hdfs成功!

4 备注:

所有的步骤都可以参考官网:

http://wiki.pentaho.com/display/BAD/Hadoop

上图 1 是配置 2 是加载数据到hadoop 集群 3 是加载数据到hdfs 还有其他到 hive 到hbase等。

ps:写一段长的博客真累,感觉比干活还累

时间: 2024-10-05 07:39:53

kettle入门(三) 之kettle连接hadoop&hdfs图文详解的相关文章

kettle入门(三) 之kettle连接hadoop&hdfs图文详解(转)

1 引言: 项目最近要引入大数据技术,使用其处理加工日上网话单数据,需要kettle把源系统的文本数据load到hadoop环境中 2 准备工作: 1 首先 要了解支持hadoop的Kettle版本情况,由于kettle资料网上较少,所以最好去官网找,官网的url: http://wiki.pentaho.com/display/BAD/Configuring+Pentaho+for+your+Hadoop+Distro+and+Version 打开这个url 到页面最下面的底端,如下图: ar

kettle连接hadoop&hdfs图文详解

1 引言: 项目最近要引入大数据技术,使用其处理加工日上网话单数据,需要kettle把源系统的文本数据load到hadoop环境中 2 准备工作: 1 首先 要了解支持hadoop的Kettle版本情况,由于kettle资料网上较少,所以最好去官网找,官网的url: http://wiki.pentaho.com/display/BAD/Configuring+Pentaho+for+your+Hadoop+Distro+and+Version 打开这个url 到页面最下面的底端,如下图: ar

三:Redis连接池、JedisPool详解、Redisi分布式

单机模式: 1 package com.ljq.utils; 2 3 import redis.clients.jedis.Jedis; 4 import redis.clients.jedis.JedisPool; 5 import redis.clients.jedis.JedisPoolConfig; 6 7 /** 8 * Redis操作接口 9 * 10 * @author NiceCui 11 * @version 1.0 2017-6-14 上午08:54:14 12 */ 13

Java基础入门 - 三种注释及文档注释详解

类似C/C++,Java也支持单行和多行注释 注释中的字符在编译时会被忽略 注释通常为类.变量和方法的主要描述 单行注释 // 注释内容 多行注释 /* 注释内容 */ /* * 注释内容 */ 文档注释 /** * 注释内容 */ 文档注释可使用javadoc工具来生成信息,并输出到HTML文件中,方便记录程序信息 文档注释中可包含一个或多个@标签,每个@标签都在新的一行开始 多个相同的标签应一个接一个的放在一起组成一组 实例:SquareNum.java import java.io.*;

全网最详细的hive-site.xml配置文件里如何添加达到Hive与HBase的集成,即Hive通过这些参数去连接HBase(图文详解)

不多说,直接上干货! 一般,普通的情况是 <configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://master:3306/metastore?createDatabaseIfNotExist=true</value> </property> <property> <name>

FineBI学习系列之FineBI与HBase数据连接(图文详解)

不多说,直接上干货! 这是来自FineBI官网提供的帮助文档 http://help.finebi.com/http://help.finebi.com/doc-view-584.html 目录: 1.描述 2.操作 3.注意事项 1.描述 Hbase作为大数据平台的重要组成部分,在数据存储方面起到了至关重要的作用,因此BI连接Hbase也是必不可少的功能之一.FineBI提供的方法是通过phoenix连接hbase,下面我们将详细介绍如何进行连接. 2.操作 2.1 配置信息   驱动 URL

FineBI学习系列之FineBI与IBM DB2数据连接(图文详解)

不多说,直接上干货! 这是来自FineBI官网提供的帮助文档 http://help.finebi.com/http://help.finebi.com/doc-view-562.html 目录: 1.描述 2.操作 3.注意事项 1.描述 IBM DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于所有常见的服务器操作系统平台下. DB2提供了高层次的数据利用性.完整性.安全性.可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令

FineBI学习系列之FineBI与IBM Informix数据连接(图文详解)

不多说,直接上干货! 这是来自FineBI官网提供的帮助文档 http://help.finebi.com/http://help.finebi.com/doc-view-563.html 目录: 1.描述 2.操作 1.描述 Informix是IBM公司出品的关系数据库管理系统(RDBMS)家族.作为一个集成解决方案,它被定位为作为IBM在线事务处理(OLTP)旗舰级数据服务系统.下面我们介绍如何在FineBI中连接Informix数据库. 2.操作 2.1 配置信息 驱动     URL  

kettle入门(五) 之kettle读取gz格式文本详细案例

背景: ods平台的一个很简单的数据共享需求: 运营商的某个部门每天定时送gz格式的HLR文本数据到FTP服务器的固定目录下.然后ods每天定时去取然后录入到RDBMS的表中,开放给其他系统查询调用,这种称作数据库表接口. 需求很简单,但是因为以前只用过文本输入做txt 或者csv.excel ,所以一时就想怎么先把gz格式解压出来,再用文本文件输入,首先想到了用 kettle3自带的unzip 功能 如下图: 结果发现 解压不了gz格式的,后来又想到使用shell命令,但是在后台putty可以