Kettle实现从mysql中取2张表数据关联的数据,并写入到mongodb中
1 建立转换,并设置DB连接到mysql
选中DB连接:连接类型选择MySQL,输入主机名称,数据库名称,端口号,用户名,密码
输入连接名称,点击确定。(可以先点击测试,测试一下是否连接成功)
如下图:

2 选择输入》表输入,拖动到主面板中,双击进行设置
(1)输入步骤名称;选择数据库连接
如下图:

(2)点击获取SQL查询语句按钮,选择对应的表t_bulo_storage_collect_201808
如下图:

(3)根据实际情况增加where之后的查询条件,然后点击确定,完成此表输入的全部设置。如下图:

3 按照步骤2的方法,再建立一个表输入,名称为t_bulo_storage_info
具体sql如图:

4 分别将两个表进行排序
使用转换》排序记录 组件,如果不使用该组件,就在步骤2 3中的sql语句中使用order by进行排序。
关于排序的使用具体可以参考另外一篇文章:https://www.cnblogs.com/kxm87/p/9600098.html
排序如图:


5 将两个排序结果集进行连接
使用连接》记录集连接 组件
选择第一个步骤,第二个步骤,连接类型,和连接字段
具体设置如下图:

6 将步骤5中的连接结果写入到mongodb中
使用Big Data》MongoDB Oupt 组件
具体设置如下:




Kettle实现从mysql中取2张表数据关联的数据,并写入到mongodb中的更多相关文章
- Mysql两张表的关联字段不一致
工作中遇到了一个问题,邮件系统群发失败,后来经过排查查找到了原因 原来是因为mysql中的两张表的关联字段竟然不一致, 表A mysql> desc rm_user_router;+------ ...
- 通过JSP网页连接MySQL数据库,从MySQL数据库中读出一张表并显示在JSP网页中
1.安装所需软件 ①安装java和tomcat,建立JSP网页最基础的软件②安装MySQL数据库(下载地址:https://www.mysql.com/)③安装Navicat Premium来查看数据 ...
- mysql 和 sqlserver中备份一张表的区别
sqlserver中备份一张表 SELECT * into qa_buglist_bak FROM qa_buglist 不管表的数据有多大,速度很快: mysql中上述语句就无效了,须得新建一张表, ...
- mysql创建某个数据库中的某张表 只读用户
1.创建用户,并授权SELECT查询权限,授权远程访问权限,注意,命令中username/password指用户名密码,请自己指定.若要限制仅指定IP可以使用此用户访问Mysql,将%改为具IP即可, ...
- mysql查询在一张表不在另外一张表的记录
mysql查询在一张表不在另外一张表的记录 问题: 查询一个表(tb1)的字段记录不在另一个表(tb2)中 条件:tb1的字段key的值不在tbl2表中 -------- ...
- MySQL将一张表的某些列数据,复制到另外一张表,并且修改某些内容
MySQL将一张表的某些列数据,复制到另外一张表 INSERT INTO t_topic_content(content,topicId) SELECT content,id FROM t_topi ...
- Oracle中把一张表查询结果插入到另一张表中
1. 新增一个表,通过另一个表的结构和数据 create table XTHAME.tab1 as select * from DSKNOW.COMBDVERSION 2. 如果表存在: inse ...
- [转载]详解网络传输中的三张表,MAC地址表、ARP缓存表以及路由表
[转载]详解网络传输中的三张表,MAC地址表.ARP缓存表以及路由表 虽然学过了计算机网络,但是这部分还是有点乱.正好在网上看到了一篇文章,讲的很透彻,转载过来康康. 本文出自 "邓奇的Bl ...
- 多张表进行关联查询---->删除某个数据的时候出现还有子记录的提示
多张表进行关联查询的时候,当某张表里面的一个字段在另外一张表有定义,就相当于一张表是另外一张表的子表:比如现在开发所遇到的一个问题: 这个是在删除sys_user表的里面的数据的时候出现的问题,因为s ...
随机推荐
- 自动化测试环境搭建(appium+selenium+python)
一.需要安装的软件(根据你所需要的版本安装即可,不一定必须按照小编的版本来) JDK:1.8.0_171 Python:3.7.1 node.js:10.13.0 android-sdk_r24.4. ...
- git diff 检查更新
git diff 检查更新 git fetch #需要先 fetch git diff master..origin/master --name-only -- [path] #path:指定检查 可 ...
- ssh推送安装mysql脚本
[root@tianyun project]# vim mysql_install_1.sh #! /usr/bin/env bash # mysql install 1 # by tianyun w ...
- sysbench库文件路径不对
#sysbench --versionsysbench: error while loading shared libraries: libmysqlclient.so .20: cannot ope ...
- django-cookies设置与使用
原文地址:http://www.cnblogs.com/wupeiqi/articles/5246483.html 感谢说话声音像评书表演艺术家刘兰芳老师的武沛齐老师的倾力奉献! 1.获取Cookie ...
- HDU 6102 - GCDispower | 2017 Multi-University Training Contest 6
个人感觉题解的复杂度很玄,参不透,有没有大佬讲解一下- - /* HDU 6102 - GCDispower [ 数论,树状数组] | 2017 Multi-University Training C ...
- 【git】git中使用https和ssh协议的区别以及它们的用法
git可以使用四种主要的协议来传输资料: 本地协议(Local),HTTP 协议,SSH(Secure Shell)协议及 git 协议.其中,本地协议由于目前大都是进行远程开发和共享代码所以一般不常 ...
- 【方法】JS判断当前页面环境:PC端/移动端,安卓/IOS,微信环境/QQ环境等等
[主要知识] 浏览器设备信息:navigator.userAgent(本文中主要用到知识) 浏览器版本信息:navigator.appVersion var ua = navigator.userAg ...
- vue中前进刷新、后退缓存用户浏览数据和浏览位置的实践
vue中前进刷新.后退缓存用户浏览数据和浏览位置的实践 2018年07月07日 11:58:40 大灰狼的小绵羊哥哥 阅读数:4492 vue中,我们所要实现的一个场景就是: 1.搜索页面==&g ...
- ueditor上粘贴从word中copy的图片和文字
图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码目前限chrome浏览器使用首先以um-editor的二进制流保存为例:打开umeditor.js,找到UM ...