kettle:mongdb与mysql互传数据
注:部分内容引用了 http://blog.sina.com.cn/s/blog_4ac9f56e0101g881.html
1、mongodb传数据到mysql1)在kettle中,mongodb input组件。
![](https://images2015.cnblogs.com/blog/645664/201512/645664-20151228170559932-260848310.png)
2)编辑组件
![](https://images2015.cnblogs.com/blog/645664/201512/645664-20151228170600354-963170072.png)
输入连接信息
![](https://images2015.cnblogs.com/blog/645664/201512/645664-20151228170601104-1688160286.png)
选择数据库
![](https://images2015.cnblogs.com/blog/645664/201512/645664-20151228170601542-1928108782.jpg)
写查询语句
![](https://images2015.cnblogs.com/blog/645664/201512/645664-20151228170602417-843605597.png)
选择字段。上面的复选框选择是否输入json格式,这时不选。
点击get fileds,获取字段对应关系。
$代表根目录
.代表子目录
[]代表数组中的值,例如:
{"data" :{
"museum":[
{
"country":"italy",
"city": "Vencie",
"id_museum":"109",
"name":"pa"},
{
"country":"Mexico",
"city": "Mexico city",
"id_museum":"36",
"name":"Musre"}
]
}
}
$..city表明元素city是在根节点下data节点内的museum节点内。
$.data.museum[1].city表明指定的元素,即上述museum数组第二个节点的city值
预览数据
![](https://images2015.cnblogs.com/blog/645664/201512/645664-20151228170603089-807827572.png)
3)表输出
选择 “输出-表输出”组件。
连接mongodb输入组件和表输出组件。
编辑表输出
![](https://images2015.cnblogs.com/blog/645664/201512/645664-20151228170603620-1095160033.png)
4)执行转换
![](https://images2015.cnblogs.com/blog/645664/201512/645664-20151228170603995-1379221863.png)
二、mysql数据迁移到mongodb
1)选择“表输入”组件,编辑表输入
![](https://images2015.cnblogs.com/blog/645664/201512/645664-20151228170604354-1794571345.jpg)
2)选择 ”bigdata-mongodb ouput"组件
把两个组件相连。
编辑mongodb output组件
![](https://images2015.cnblogs.com/blog/645664/201512/645664-20151228170604932-24619855.png)
![](https://images2015.cnblogs.com/blog/645664/201512/645664-20151228170604932-24619855.png)
输入连接信息
![](https://images2015.cnblogs.com/blog/645664/201512/645664-20151228170605276-25260653.png)
输入数据数据和集合(没有集合自动创建)
![](https://images2015.cnblogs.com/blog/645664/201512/645664-20151228170605714-387586650.png)
点击获取字段
3)执行转换
![](https://images2015.cnblogs.com/blog/645664/201512/645664-20151228170606135-2105847584.png)