【集成方案】Kettle对接TDH手把手教学贴

推荐采用先将数据同步到服务器目录,然后再上传到inceptor外表对应的hdfs目录,然后再将数据从外表插入到orc表。这样做的好处有:

  • Kettle同步到服务器本地目录的速度十分快,例如同步到本地文件夹可以达到100000条/s;
  • 可以对接开启了安全认证的inceptor或者hdfs。

流程图如下:

image.png

下面以samba方式举例说明同步过程。

本示例中,172.18.9.30的/tmp目录共享给Windows免密访问。

访问路径:\\172.18.9.30\test

注意事项:

  1. windows需要使用本地账户登陆;
  2. 防火墙关闭,selinux关闭;
  3. Windows和linux的机器最好在同一网段,跨网段139和445端口不要限制访问。
  4. 445端口曾经出现过比较严重的安全事故,很多公司的网络安全管理员都把这个端口封了,不在同一局域网无法通过445实现共享。


通过Samba服务共享给Windows访问

1) 安装samba

yum install –y samba

2) 配置samba

vi /etc/samba/smb.conf

在security = user下加入如下一句:

map to guest = Bad User

注意:如果网络限制了445端口,则应该再加入smb ports = xxxx(port number)以更改samba服务的端口。

在文件最后加入:

[test]
       comment = WORKGROUP
       path = /tmp
       public = yes
       writable = yes
       browseable = yes

3) 启动samba服务

service smb restart

4) 配置开机启动

/etc/rc.d/rc.local里,添加service smb start

最终效果如下图:

image.png


配置kettle进行数据处理及输出

先下载kettle软件包,https://community.hitachivantara.com/home,然后解压下载的软件包,进入解压的目录下,执行Spoon.bat

image.png

1) 建立转换配置数据源

点击文件->新建->转换,建立转换任务

新建转换后选中左边的"主对象树",建立DB连接用以连接数据库。如图所示:

image.png

image.png

注意:在数据库链接的过程中,可能会报某个数据库连接找不到的异常。那是因为你没有对应的数据库链接驱动,请下载对应驱动后,放入kettle的lib文件夹。

2) 简单的数据表插入更新

在左边的面板中选择“核心对象”,在核心对象里面选择“输入->表输入”,用鼠标拖动到右边面板。如图所示:

image.png

双击拖过来的表,可以编辑表输入。

选择数据库连接和编辑sql语句,在这一步可以点击预览,查看自己是否连接正确

image.png

3) 在左边面板中选择核心对象、选择“输出->文本文件输出”

如图所示,文件名称使用前面配置的samba共享路径

image.png

选中表输入,按住shift键,拖向插入更新,表输入连接插入更新

image.png

到这里基本上,这个转换就要做完了,可以点击运行查看效果,看是否有误

4) 页面点击执行

image.png

上图中的速度是3000条左右每秒,是因为测试环境用的网络很不好的idc环境;如果在同一网段,百兆宽带的速度将是十分快的,参考如下的将数据同步到本地文件。如下图所示:

image.png


将数据文件导入Inceptor

1) 下载tdh-client,并上传到集群

tar -xvf tdh-client.tar
source TDH-Client/init.sh

然后执行hdfs dfs -ls /,可以看到,已经能够使用hdfs命令。

2) 将数据文件上传到HDFS

image.png

使用hdfs命令将文件上传到某个hdfs中的目录, 假设用hdfs上的/tmp/test/文件夹作为示例外表的目录

image.png

3) 建立基于上述hdfs目录的外表并查看外表中的数据

image.png

4) 将外表数据插入Inceptor的ORC表

①创建相同表结构的ORC表

②将外表数据插入ORC表

image.png


完成


评论
登录后可评论
发布者
星小环分享号
文章
180
问答
205
关注者
27
banner
关注星环科技
获取最新活动资讯

加入TDH社区版技术交流群

获取更多技术支持 ->

扫描二维码,立即加入