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 、  PDI 4.4 、 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 指版hadoop版本号 ,shim 指kettle提供给该hadoop套件的名称,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端口/路径

填之前可以点击browse 按钮 测试

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

注意只要连接成功,说明kettle对hadoop的配置就没有问题。

可以运行脚本试试了:

如上图,脚本运行成功。

在hadoop home bin下面查看:

文件成功load.

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

4 备注:

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

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

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

kettle连接hadoop&hdfs图文详解的更多相关文章

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

    1 引言: 项目最近要引入大数据技术,使用其处理加工日上网话单数据,需要kettle把源系统的文本数据load到hadoop环境中 2 准备工作: 1 首先 要了解支持hadoop的Kettle版本情 ...

  2. hadoop hdfs uri详解

    body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...

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

    不多说,直接上干货! 一般,普通的情况是 全网最详细的hive-site.xml配置文件里添加<name>hive.cli.print.header</name>和<na ...

  4. Apache版本的Hadoop HA集群启动详细步骤【包括Zookeeper、HDFS HA、YARN HA、HBase HA】(图文详解)

    不多说,直接上干货! 1.先每台机器的zookeeper启动(bigdata-pro01.kfk.com.bigdata-pro02.kfk.com.bigdata-pro03.kfk.com) 2. ...

  5. 大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 图文详解

    引言 在之前的大数据学习系列中,搭建了Hadoop+Spark+HBase+Hive 环境以及一些测试.其实要说的话,我开始学习大数据的时候,搭建的就是集群,并不是单机模式和伪分布式.至于为什么先写单 ...

  6. Hadoop集群搭建安装过程(三)(图文详解---尽情点击!!!)

    Hadoop集群搭建安装过程(三)(图文详解---尽情点击!!!) 一.JDK的安装 安装位置都在同一位置(/usr/tools/jdk1.8.0_73) jdk的安装在克隆三台机器的时候可以提前安装 ...

  7. 执行bin/hdfs haadmin -transitionToActive nn1时出现,Automatic failover is enabled for NameNode at bigdata-pro02.kfk.com/192.168.80.152:8020 Refusing to manually manage HA state的解决办法(图文详解)

    不多说,直接上干货! 首先, 那么,你也许,第一感觉,是想到的是 全网最详细的Hadoop HA集群启动后,两个namenode都是standby的解决办法(图文详解) 这里,nn1,不多赘述了.很简 ...

  8. Flume启动报错[ERROR - org.apache.flume.sink.hdfs. Hit max consecutive under-replication rotations (30); will not continue rolling files under this path due to under-replication解决办法(图文详解)

    前期博客 Flume自定义拦截器(Interceptors)或自带拦截器时的一些经验技巧总结(图文详解)   问题详情 -- ::, (SinkRunner-PollingRunner-Default ...

  9. Hadoop集群搭建安装过程(二)(图文详解---尽情点击!!!)

    Hadoop集群搭建安装过程(二)(配置SSH免密登录)(图文详解---尽情点击!!!) 一.配置ssh无密码访问 ®生成公钥密钥对 1.在每个节点上分别执行: ssh-keygen -t rsa(一 ...

随机推荐

  1. POJ2002Squares

    http://poj.org/problem?id=2002 题意 : 就是给你很多点的坐标,任取四个,看能组成多少个不同的正方形,相同的四个点,不同顺序构成的正方形视为同一正方形. 思路 : 就是一 ...

  2. hdu 4704 Sum

    思路:对于给定的n,s(i)即将n分解为i个数的组合数,也就是在n-1个位置插入i-1个板即C(n-1,i-1); ∑S=2^(n-1); phi(1000000007)=1000000006; 对于 ...

  3. IE插件DebugBar如何安装及使用

    DebugBar插件是一款功能很强大的IE插件,用户可以从各个不同的角度剖析Web页面内部,包括页面 详细代码.CSS样式表.所有链接.所有图片代码.脚本信息等等,不管你是编程大虾还是IT新人都和适合 ...

  4. jquery cookie 用法

    jquery cookie 用法 $.cookie("name","value","options")  当不设置options时,此coo ...

  5. 区间dp笔记√

    区间DP是一类在区间上进行dp的最优问题,一般是根据问题设出一个表示状态的dp,可以是二维的也可以是三维的,一般情况下为二维. 然后将问题划分成两个子问题,也就是一段区间分成左右两个区间,然后将左右两 ...

  6. lintcode 中等题:Letter Combinations of a Phone Number 电话号码的字母组合

    题目 电话号码的字母组合 给一个数字字符串,每个数字代表一个字母,请返回其所有可能的字母组合. 下图的手机按键图,就表示了每个数字可以代表的字母. 样例 给定 "23" 返回 [& ...

  7. lintcode:二叉树的中序遍历

    题目: 二叉树的中序遍历 给出一棵二叉树,返回其中序遍历 样例 给出二叉树 {1,#,2,3}, 1 \ 2 / 3 返回 [1,3,2]. 挑战 你能使用非递归算法来实现么? 解题: 程序直接来源 ...

  8. C++ Primer笔记整理

    1. 迭代器:迭代器是一种对象,它可以看做是游标,用来遍历标准模板库中的部分或者全部元素. 每个迭代器指向容器中确定的地址,此外,迭代器还提供一些基本操作符:*.++.==.!=.=. 2. 模板:是 ...

  9. unigui判断浏览器内核、操作系统以及是否移动终端函数

    function GetDeviceType(var OsName, BrowserName: string; var IsMobileDevice: Boolean): string; var I: ...

  10. WCF入门(十二)---WCF异常处理

    WCF服务开发者可能会遇到需要以适当的方式向客户端报告一些不可预见的错误.这样的错误,称为异常,通常是通过使用try/catch块来处理,但同样,这是非常具体的技术. 由于客户端的关注领域不是关于如何 ...