
Talend Open Studio是 Talend 开发的ETL工具——Talend 是一家主营数据集成和数据管理解决方案的企业。Talend 采用用户友好型,综合性很强的IDE(类似于Pentaho Kettle 的 Spoon)来设计不同的流程。这些流程可以在IDE内部测试并编译成Java 代码。您可以随时查看并编辑生成的Java代码,同时实现强大的控制力和灵活性。
两者都非常优秀,都属于用户友好型的交叉平台(基于Java的)工具。它们的主要差异在于Kettle 将 ELT 流程编译为 XML 格式,然而Talend Open Studio 则生成 Java 代码。
易用性:
Talend:有 GUI 图形界面但是以 Eclipse 的插件方式提供。
Kettle:有非常容易使用的 GUI,出现问题可以到社区咨询。
技术支持:
Talend:主要在美国
Kettle:在美国,欧洲(比利时,德国,法国,英国),亚洲(中国,日本,韩国)都可以找到相关技术支持人员。
部署:
Talend:创建 java 或perl 文件,并通过 *** 作系统调度工具来运行
Kettle:可以使用 job 作业方式或 *** 作系统调度,来执行一个转换文件或作业文件,也可以通过集群的方式在多台机器上部署。
速度:
Talend:需要手工调整,对特定数据源有优化知识。
Kettle:比 Talend 快,不过也需要手工调整,对 Oracle 和 PostGre 等数据源做了优化,同时也取决于转换任务的设计。
数据质量:
Talend:在 GUI 里有数据质量特性,可以手工写 SQL 语句。
Kettle:在 GUI 里有数据质量特性,可以手工写 SQL 语句、java脚本、正则表达式来完成数据清洗。
监控:
Talend:有监控和日志工具
Kettle:有监控和日志工具
连接性:
Talend:各种常用数据库,文件,web service。
Kettle:非常广泛的数据库,文件,另外可以通过插件扩展 建立文件资源库:点击工具->资源库->连接资源库菜单
使用文件资源库不需要用户名和密码,如果没有资源库可以点击右上角的"+"新建资源库,如下图:
第一种方式为建立数据库的资源库,本例选择使用文件资源库,选择确定后会要求选择文件资源库的路径,并给文件资源库设置一个ID和名称
linux上使用crond定时执行kettle的job的解决方法:
一、部署kettle
1 将pdi-ce-410-stablezip上传到Linux服务器。
2 使用unzip命令解压pdi-ce-410-stablezip
unzip pdi-ce-410-stablezip -d "/mnt/kettle"
3 赋予解压目录下sh文件的执行权力chmod +x sh
4进入解压目录,键入“/kitchensh”回车,如果有帮助信息则表示kettle环境部署成功。
二、接着,编写执行kettle任务的shell脚本
创建testsh,将以下内容复制粘贴到里面,然后入“chmod+x /mnt/kettle/sh”,赋予testsh执行权限。
export JAVA_HOME=/usr/java/jre160_23
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=:$JAVA_HOME/lib/dtjar:$JAVA_HOME/lib/toolsjar
/mnt/kettle/data-integration/kitchensh -file=/mnt/kettle/testkjb > /mnt/kettle/displaytxt
说明:
前3行,设置Java环境变量的语句必不可少,因为crond是个守护进程,它不归属于任何用户,虽然之前以root身份配置了java的环境变量,但是crond一样找不到java命令,所以,当crond执行kettle任务时,需要动态设置java环境变量,crond才能找到java命令。
三、最后,使用crontab命令添加定时任务
1在终端上,键入“crontab -e”,进入定时任务文件。
2键入“a”,对文件进行编辑。
输入如下内容: 23 11 10 02 /mnt/kettle/testsh
其中 23为分钟,11为小时,10为日,02为月,为星期几,crontab命令的使用这里不再赘述。
3键盘敲击exc,终端键入“:wq”,保存文件。
4重启crond服务。
键入“cd /etc/initd”,进入该目录。
键入“/crond restart”,重启crond服务。
5等待执行结果。
6执行成功,ohnice!
(二) 安装jre-6u23-linux-x64bin将jre-6u23-linux-x64bin上传到linux服务器
1 在终端上,键入:
su
2 输入超级用户口令。
3 切换到所需的安装目录。类型:
cd <</strong>目录路径名>
例如,要在 /usr/java/ 目录中安装软件,请键入:
cd /usr/java/
关于超级用户访问权限的说明:要将 JRE 安装在系统级位置(例如 /usr/local),必须以超级用户身份登录,从而获得必要的权限。如果您不具有超级用户访问权限,请将 JRE 安装在您的主目录中,或者安装在您具有写入权限的子目录中。
4 将您下载的文件的权限更改为可执行。类型:
chmod a+x jre-6u23-linux-x64bin
5 启动安装过程。键入:
/ jre-6u23-linux-x64bin
此时将显示二进制许可协议。通读许可协议。按空格键显示下一页。读完许可协议后,输入 yes 继续安装(此步骤可能直接跳过)。
7 JRE 安装在其自身的目录中。在本例中,它将安装在 /usr/java/ jre160_23目录中。当安装完成时,您将看到Done(完成)字样。
(三) 配置java环境变量
1 命令行键入“cd /etc”进入etc目录
2 命令行键入“vi profile”打开profile文件
3 敲击键盘ctrl+F到文件末尾
4 在末尾处,即第一个~的地方,敲击键盘将以下内容输入到文件
JAVA_HOME=/usr/java/jre160_23
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=:$JAVA_HOME/lib/dtjar:$JAVA_HOME/lib/toolsjar
export JAVA_HOME
export PATH
export CLASSPATH
5 键盘敲击exc,命令行键入“:wq”,保存文件;
6 重新登录linux,在命令行键入“java”,如果出现帮助信息则表示配置成功。
然后,部署kettle
1 将pdi-ce-410-stablezip上传到linux服务器
2 使用unzip命令解压pdi-ce-410-stablezip
unzip pdi-ce-410-stablezip -d "/mnt/kettle"
3 赋予解压目录下sh文件的执行权力
chmod +x sh
4 进入解压目录,键入“/kitchensh”回车,如果有帮助信息则表示kettle环境部署成功
※(重点)接着,编写执行kettle任务的shell脚本
创建testsh,将以下内容复制粘贴到里面,然后键入“chmod +x /mnt/kettle/sh”,赋予testsh执行权限。
export JAVA_HOME=/usr/java/jre160_23
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=:$JAVA_HOME/lib/dtjar:$JAVA_HOME/lib/toolsjar
/mnt/kettle/data-integration/kitchensh -file=/mnt/kettle/testkjb > /mnt/kettle/displaytxt
说明:
前3行,设置java环境变量的语句必不可少,
因为crond是个守护进程,它不归属于任何用户,虽然之前以root身份配置了java的环境变量,但是crond一样找不到java命令,
所以,当crond执行kettle任务时,需要动态设置java环境变量,crond才能找到java命令。
最后,使用crontab命令添加定时任务一直以来服务器是linux系统,但是感觉linux图形化不强,于是从接触kettle以来都是在windows系统 *** 作ETL的设计和处理。现在需要在linux中查看一下kettle资源库是否连接正常,以及在linux上调度kettle的job,就需要在Linux上配置kettle环境了。登陆-linux-(切换到kettle部署的用户下面)首先感谢楼上两位大神的回答,再说一下问题的错误原因:
1、是因为这部署kettle的这台服务器上没有MySQL的客户端,所以根本无法访问到数据库,太疏忽了。。。
2、接下来换了一台装有MySQL客户端的服务器,进行部署。也是有问题,是由于我创建的资源库用户没有权限访问那台数据库(只开通了外网连接权限,未开通localhost权限)
---赋予权限(外网)
grant all on lisnew to ods_rep@"%" identified by 'ods_rep';
---赋予权限(内网/本地)
grant all privileges on to ods_rep@localhost identified by 'ods_rep';
注:ods_rep用户为资源库用户,命令含义可在百度查询你好!
重装QQ就行了
是不是这个
如果是点立即修复
希望采纳(^__^)
嘻嘻
任务栏右下角出现这种提示(某文件损坏,请运行运用chkksk工具修复),一般是系统垃圾文件太多导致的,主要是上网产生的垃圾文件,清理一下就
记得给问豆啊!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)