暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

mongodb3.X + kettle 6.X整合

考拉苑 2016-06-14
1221

这种方式只是一种比较懒惰的做法,仅供参考

mysql--->kettle--->mongodb

一、kettle安装

1).到官网下载需要安装的kettle版本,目前最新版本6.1,官网地址:http://kettle.pentaho.org,我们是使用的版本是kettle6.1

2).本地安装jdk 1.4或以上版本。

3).配置Java环境变量

a).打开我的电脑--属性--高级--环境变量

b).新建系统变量JAVA_HOME和CLASSPATH

变量名:JAVA_HOME

变量值:C:\Program Files\Java\jdk1.7.0[具体路径以自己本机安装目录为准]

变量名:CLASSPATH

变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

c). 选择“系统变量”中变量名为“Path”的环境变量,双击该变量,把JDK安装路径中bin目录的绝对路径,添加到Path变量的值中,并使用半角的分号和已有的路径进行分隔。

变量名:Path

变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 

4). 配置kettle环境变量

在系统的环境变量中添加KETTLE_HOME变量,目录指向kettle的安装目录:D:\kettle\data-integration  

 5).以上步骤完成后直接启动kettle即可 

Windows直接双击批处理文件 Spoon.bat具体路径为:

kettle\data-integration\Spoon.bat 

Linux 则是执行spoon.sh,具体路径为:

 ~/kettle/data-integration/spoon.sh

注意:启动的时候有可能会出现

D:\software\kettle\data-integration>"D:\software\Java\jdk1.7.0_79\bin\java.exe"  "-Xms1024m" "-Xmx1500m" "-XX:MaxPermSize=256m" "-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2" "-Djava.library.path=libswt\win32" "-DKETTLE_HOME=D:\software\kettle\data-integration" "-DKETTLE_REPOSITORY=" "-DKETTLE_USER=" "-DKETTLE_PASSWORD=" "-DKETTLE_PLUGIN_PACKAGES=" "-DKETTLE_LOG_SIZE_LIMIT=" "-DKETTLE_JNDI_ROOT=" -jar launcher\pentaho-application-launcher-6.0.0.0-353.jar -lib ..\libswt\win32  level:Debug 
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

解决方案:将Spoon.bat中if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" "-Xmx2048m" "-XX:MaxPermSize=256m" 修改的小一些就可以启动了。

二、整合


1、从MySQL中读取数据

1.1创建“数据库连接”

点击“DB连接”,

会弹出如下页面。填写连接MySQL的信息,点击“测试”,查看是否连接上?

 

如能正常连上MySQL,会弹出一个页面,如下图所示:

 

 

如没有出现上图,证明没有连接成功,请重试。

1.2MySQL中读取数据 

点击“核心对象”

 

打开“输入”菜单栏,找到“表输入”,双击“表输入”,就可把它拖到工作空间。

 

打开“输出”菜单栏,找到“json输出”,按同上的方法把“json输出”拖到工作空间。

打开“Big Data”菜单栏,找到“MongoDB Output”,按同上的方法把“MongoDB Output”拖到工作空间,然后按着shift,点击鼠标左键,把各步骤连接起来。以上三步搞定之后,在spoon的右侧可看到下图:

 

 

双击“表输入”,编辑“数据库连接”

 

编辑完后,点击“测试”,如测试成功,那么点击“确定”,然后修改“SQL”,改成你想要的脚本。你可通过“预览”,查看你刚才写的脚本的执行结果。

2、以json的格式输出数据 

点击“json输出”,点击“一般”,把“操作”改成“Output valu”,然后选择“字段”点击“获取字段”,然后点击“确定”,就会获取到MySQL中某张表的所有字段。如下图所示:

 

3、把数据写入MongoDB 

点击“MongoDB Output”,弹出如下页面:


,然后对其进行配置。“Configuration connection”的配置如下:注意该处一定设置mongos集群地址:ip address: mongodb1.com,mongodb2.com,mongodb3.com

           port :20000,

 

Output options”的配置如下:

 

注意:在配置“Output options”时,一定不要忘记“Get DBs”、“Get collections”!

然后选择“Mongo document fields”,点击“Get fields”,“确定”。

 
配置完后,执行转换,如下图所示:

 

如“日志”出现如上提示,那么就证明已从MySQL中提取数据,并已把数据写入MongoDB

以上只是很简单的例子,有很多可以扩展的内容。



文章转载自考拉苑,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论