Kettle的集群排序 2——(基于Windows)
5.使用kettle集群模式对相关的数据进行排序
既然,基于Carte服务程序所搭建的集群已经在Spoon中设定好了,
可以首先,先来启动四个节点:
"以管理员身份运行"打开 四个 cmd窗口,(路径要根据个人主机设置进行变更)
分别输入:
分别开启集群的各个节点。
接下来要做的就是导入数据到数据库中作为实验数据。
首先下载数据源,然后将其加载到数据库中,
下面的这个链接是可以直接下载到mysql的一个经典的数据集的,
LZ的很多实验都是使用这个数据集的。
http://www.mysqltutorial.org/download/2
使用命令:(具体路径与个人主机解压路径不同而不同,要注意修改的)
mysql>source F:\ETL_notes\7_14\mysqlsampledatabase1\mysqlsampledatabase.sql
将数据集导入到mysql数据库中。
如下截图为mysqlsampledatabase.sql文件所创建的数据库classicmodels中的各个数据表:
这样就表示了数据集已经正确的导入到数据库中去了。
创建相关的数据库连接,主对象树->DB连接,对弹出对话框中参数设定如下:
使用Step 表输入 来将数据库中的表数据导入。
点击编辑选中刚刚创建好的数据库连接,然后点击“获取SQL查询语句”,
在弹出对话框中选中对应数据库中想要导入的表名称并且双击。
接下来点击 预览 按钮就会看到,表输入step已经成功的将数据库中的customers表中数据读入了。
然后,使用 排序记录Step 来对从数据库表中的数据进行排序处理,
首先,双击 排序记录
然后,点击获取记录,
这样的话就会把导入的数据库表中的对应字段显示到对话框中去了。
排序SQL语句中的某些设定是很像的,都是要实现设定关键字,通常设定两个(这个不是绝对的,根据具体情况而定)
接下来选取不需要作为关键字排序的字段,使用delete键进行删除。
最后确定。
如果要实现的是集群并发的方式来对数据进行排序的,只需要右键单击 排序记录
后选择"集群"。
然后选取事先我们设定好的 Cluster1这个集群:具体使用Carte搭建集群请参见:
在选择集群之后呢,
因为我们所设定的集群是一主三从,
主负责 分发 回收任务,
三从负责并发跑任务。
所以会看到排序记录的右上角显示有: C*3的字样。
对于输出的话,为了可以清晰、方便的查看结果,使用 文本输出 是很好的方式。
不过要对文件的路径进行指定选取,以便于到相应的文件夹的下面可以找到输出该文件。
不过这个运行的结果真的是很有意思的,
首先我们来看一下,carte的相关四个cmd窗口:
接下来我们再来看一下,工作区中的一个transformation变成了8个,(有点多,就不截图了)
分别对应的master/slave1/slave2/slave3并且显示了对应执行的不同的操作。
正如实现所想象的:master负责与 表输入 相交互 将排序的数据抽取出来并分发给 其余的三个slave结点。
以及收取三个slave进行排序的相应数据,并把数据输出到文本文件中去;
这也是为什么后三个显示的cmd命令窗口中的相关输入输出为0呢,因为输入输出都是master的工作的。
三个slave只是负责将分到到自己的数据进行排序,然后将排序结果提交到master就可以了。
这也解释了为什么,集群并发的方式十分适用于处理I/O频繁或是cpu频繁的任务。
因为并发的运行可以大大的提高相关任务的运行效率,最大限度的使用cpu资源。
接下来我们来看一下文本文件吧,这个可是我们此次实验的运行结果呢。
大概就是这个样子了呢,根据customerNumber(primary key)进行排序的。
开头是字段名称,接下来是已经排好序了的数据表中的数据。
因为选取的第一个 排序关键字 是本表的 主键 。
所以,根本没有重复的时候。所以第二个选取的concatFirstName也就没有选取的必要了呢。
个人感觉,此文篇幅过长所以第六块的内容就写到下一篇文章中吧~
6.有关于集群调用子服务器的java源代码实现
Kettle的集群排序 2——(基于Windows)的更多相关文章
- 在使用Kettle的集群排序中 Carte的设定——(基于Windows)
本片文章主要是关于使用Kettle的UI界面: Spoon来实现基于集群的对数据库中的数据表数据进行排序的试验. 以及在实验过程中所要开启的Carte服务的一些配置文件的设置, 还有基于Windows ...
- hadoop集群配置和在windows系统上运用java操作hdfs
安装 配置 概念 hadoop常用shell命令 使用java操作hadoop 本文介绍hadoop集群配置和在windows系统上运用java操作hdfs 安装 http://mirror.bit. ...
- 给Clouderamanager集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤(图文详解)
这个很简单,在集群机器里,选择就是了,本来自带就有Impala的. 扩展博客 给Ambari集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤(图文详解)
- 给Ambari集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤(图文详解)
不多说,直接上干货! Impala和Hive的关系(详解) 扩展博客 给Clouderamanager集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤(图文详解) 参考 horton ...
- 搭建基于docker 的redis分布式集群在docker for windows
https://blog.csdn.net/xielinrui123/article/details/85104446 首先在docker中下载使用 docker pull redis:3.0.7do ...
- 转】Nginx+tomcat集群环境搭建(Windows下)
原博文出自于: http://blog.csdn.net/clj198606061111/article/details/22621003 感谢! 实验环境 windows xp s ...
- 160512、nginx+多个tomcat集群+session共享(windows版)
第一步:下载nginx的windows版本,解压即可使用,点击nginx.exe启动nginx 或cmd命令 1.启动: D:\nginx+tomcat\nginx-1.9.3>start ng ...
- Nginx+tomcat集群环境搭建(Windows下)
实验环境 windows xp sp3 Nginx版本:1.5.12: 下载地址:http://nginx.org/en/download.html Tomcat版本:6.0.39 下载地址:http ...
- Nacos集群配置实例(windows下测试)
1.首先 fork 一份 nacos 的代码到自己的 github 库,然后把代码 clone 到本地. git地址:https://github.com/alibaba/nacos.git 2.然后 ...
随机推荐
- MySQL FEDERATED引擎使用示例, 类似Oracle DBLINK
原文地址:http://it.dataguru.cn/article-3352-1.html 摘要: 本地MySQL数据库要访问远程MySQL数据库的表中的数据, 必须通过FEDERATED存储引擎来 ...
- php使用domdocument读取xml文件
使用domdocument读取xml文件需要用到以下几个方法和属性: 方法: 1:读取xml文件:load() 2:获取标签的对象数组:getElementByTagName() 3:对象数组的索引: ...
- linux下常用网络操作汇总
首先说明下RHEL6下设置IP地址的确和RHEL5下有几点是不同的. 我装完RHEL6中默认选择的是DHCP自动获取方式: [root@localhost ~]# vi /etc/sysconfig/ ...
- WordPress Download Monitor插件跨站脚本漏洞
漏洞名称: WordPress Download Monitor插件跨站脚本漏洞 CNNVD编号: CNNVD-201308-139 发布时间: 2013-08-14 更新时间: 2013-08-14 ...
- 【转】android 完全退出应用程序
原文网址:http://www.yoyong.com/archives/199 android退出应用程序会调用android.os.Process.killProcess(android.os.Pr ...
- 重读JAVA编程思想
当年如猪八戒吃人生果般的读了java编程思想,只是知道这是本好书,但是具体细节,真是不知所云,很多都是工作中用到哪些,然后就翻<think in java >和<core java& ...
- HTML---网页编程(2)
前言 接着前面的HTML-网络编程1)来学习吧~~~ 色彩的表示 在计算机显示器中,使用红(red).绿(green).蓝(blue)3种颜色来构成各种各样的颜色.颜色的种类有16,256及65536 ...
- GPUImage实现过程
GPUImage就是一个函数的类库,用于对图片实现滤镜的效果. 下面是实现一个最简单的GPUImage的程序和讲解: 首先新建一个项目,导入GPUImage类库(导入过程在我的另一个博客里面有写). ...
- jQuery 属性操作和CSS 操作
如有在jQuery方法中涉及到函数,此函数必定会返回一个数值(函数由于运行次数不同触发一些不同效果) jQuery 属性操作方法(以下方法前些日子学习过,不再赘述) addClass() attr() ...
- Mondriaan's Dream - POJ 2411(状态压缩)
题目大意:有一些1*2的矩形,现在用这些小矩形覆盖M*N的大矩形,不能重复覆盖,并且要覆盖完全,求有多少种覆盖方式. 分析:可以使用1和0两种状态来表示这个位置有没有放置,1表示放置,0表示没有放置, ...