kettle使用--1.mysql多表关联导入mongoDB
文章目录
- 1. 初步体验:csv 转为excel
- Kettle概念
- 配置mysql链接
- mysql 一对多关联查询结果保存到mongodb中
1. 初步体验:csv 转为excel
Windows环境下安装pdi-ce-8.0.0.0-28.zip ,解压后执行lib下的Spoon.bat
将csv输入拖入
双击拖进去的csv,浏览选择csv文件,其他配置默认
点击获取字段,然后再点击预览
同理将excel输出拖入到工作区
然后按下shift + 点击csv文件,并拖向Excel输出
按下ctrl+s,将代码保存到某个位置
然后双击Excel输出,设置输出位置
点击字段,点击获取字段,点击最小宽度,确认,然后点击执行按钮
文件即可导出成功
Kettle概念
Kettle is Visual Programming Language ,简称VPL , 图形化编程语言
对于kettle的转换,不能定义为一个执行顺序,因为所有的方式都以并发的方式执行,当转换启动后,所有的步骤都同时启动;
如果需要按照一定的顺序执行,需要用到Job
,作业Job就是一个串行的调度工具
配置mysql链接
将mysql驱动拷贝到lib下,配置mysql数据源的时候要注意设置useSSL为false
mysql 一对多关联查询结果保存到mongodb中
先看下职员信息表
资质信息
工作经验信息
设计将职员信息的uuid为_id主键,维护到mongodb中,而职员有多个资质,工作经验信息,资质和经验均以json数组的形式保存在职员对象中
例如
{_id: '8160158147989553152',staff_code: '0000111000',itcode: 'KWLB002',LEVEL: '02',staff_name: 'lucy',gender: 1,birth_date: '20211208',staff_category_code: '01',department_code: '03',place_code: '00',judicial_entity_code: '0048',fl_place_code: '01',begin_work_time_1: '20211201',enter_company_time_1: '20211202',highest_education_code_1: '01',import_stamp: '1639745876804',certificate: [{name: '毕业证',type: '03',valid: '1'},{name: '毕业证',type: '04',valid: '1'}],experience: [{name: '微创ESS服务项目',beginTime: '200701',endTime: '200712'},{name: '中储棉市场监测系统系统集成服务',beginTime: '200801',endTime: '200812'},{name: '体育局运维服务二期',beginTime: '201001',endTime: '201012'},{name: '项目18',beginTime: '202001',endTime: '202012'},{name: '项目14',beginTime: '202101',endTime: '202112'}]
}
职员基本信息输入
SELECTuuid AS _id,staff_code,itcode,LEVEL,staff_name,gender,birth_date,staff_category_code,post_code,department_code,place_code,judicial_entity_code,fl_place_code,major_name,work_years,office_years,begin_work_time_1,enter_company_time_1,highest_education_code_1,graduated_school_1,import_stamp FROM bid_manager.b_staff_baseinfo
职员资质信息输入
SELECT staff_uuid as _id, CONCAT("[",GROUP_CONCAT( '{', '"name":"' ,certificate_name ,'"' ,',', '"type":"' ,type ,'"' ,',', '"valid":"',is_forever_valid ,'"' ,'}' ),"]") AS certificate FROM b_staff_certificate_info GROUP BY staff_uuid ;
职员工作经验输入
select staff_uuid as _id ,CONCAT("[",GROUP_CONCAT( '{', '"name":"' ,project_name ,'"' ,',', '"beginTime":"' ,begin_time ,'"' ,',', '"endTime":"',end_time ,'"' ,'}' ),"]") AS experience from b_staff_work_experience_info GROUP BY staff_uuid ;
mongoDB的设置为
kettle使用--1.mysql多表关联导入mongoDB相关推荐
- mysql join 组合索引_详解MySQL两表关联的连接表创建单列索引还是组合索引最优...
概述 今天主要介绍一下MySQL中两表关联的连接表是如何创建索引的相关内容,下面来看看详细的介绍. MySQL两表关联的连接表创建索引 创建数据库的索引,可以选择单列索引,也可以选择创建组合索引. 假 ...
- MySQL多表关联查询效率高点还是多次单表查询效率高,为什么?
这里写目录标题 MySQL多表关联查询对比多次单表查询,哪个效率高? 疑问: 高手解答: <阿里巴巴JAVA开发手册>里面写超过三张表禁止join 这是为什么?这样的话那sql要怎么写? ...
- Mysql多表关联查询
三表(replay_case.replay_task及general_flow)联合查询,注意select时,如果某个字段在不同的表中有重复的话需要指定具体的表,比如应该使用:select ...
- mysql多表关联update
日常的开发中一般都是写的单表update语句,很少写多表关联的update. 在MySQL中,update的多表连接更新和select的多表连接查询在使用的方法上存在一些小差异. 来看一个具体的例子. ...
- mysql 子表 关联查询语句_MySQL-基本查询语句及方法,连表和子查询
一.基本查询语句 create table emp( id intnotnull unique auto_increment, name varchar(20) notnull, sex enum(' ...
- mysql多数据表关联查询慢问题解决方案
问题一:遇到一个问题,mysql库下表A有几万条数据:表B也有几万条数据,结果两表关联的时候,查询超级慢,30s内没反应. 问题一解决方案: 1. 加索引,但索引不要乱加,两表关联,必须要创建的索引是 ...
- mysql数据表关联_MySQL表关联的常用方式有哪几种
MySQL表关联的常用方式有哪几种 发布时间:2020-05-15 10:09:51 来源:亿速云 阅读:328 作者:三月 本文主要给大家介绍MySQL表关联的常用方式有哪几种,文章内容都是笔者用心 ...
- MySQL多表关联数据同时删除sql语句
DELETE删除多表数据,怎样才能同时删除多个关联表的数据呢?这里做了深入的解释: 代码如下 复制代码 1 delete from t1 where 条件 2 delete t1 from t1 wh ...
- mysql delete 表关联删除数据_MYSQL中delete删除多表数据与删除关联数据
在mysql中删除数据方法有很多种,最常用的是使用delete来删除记录,下面我来介绍delete删除单条记 录与删除多表关联数据的一些简单实例. 1.delete from t1 where 条件 ...
最新文章
- Go 学习笔记(59)— Go 第三方库之 etcd/clientv3 封装为方法使用(建立连接、设置key-value、获取key-value、获取带前缀的key-value)
- 【数据分析】太秀了!用Excel也能实现和Python数据分析一样的功能!
- python中print又可将数据写入文件_Python第五课-将写入文件的列表格式化
- 大数据系列1-规划安排
- 微服务架构下的数据一致性:概念及相关模式
- 【车间调度】基于matlab遗传算法求解柔性车间调度问题【含Matlab源码 660期】
- [javase学习笔记]-8.8 构造代码块
- 全栈项目-乐优商场-通用工具服务-通用异常处理
- 监控容器并实现邮箱报警(cAdvisor 、AlertManager)
- raid5换硬盘显示ready_服务器RAID磁盘坏道修复实战
- 迅影QQ视频查看v2.0 源码
- 设计原则3: 不要和陌生人说话.
- 安卓Alarm闹钟唤醒耗电问题的排查
- 默认关闭IDEA的注释doc的rendered view模式
- 203.为用户定义的数据类型绑定默认值案例
- 使用MinUI组件库
- 联想笔记本声音太小怎么办_联想笔记本电脑没声音了怎么办(大学生如何选择笔记本电脑)...
- 北桥(龙芯的北桥主要是amd的 没有内存控制器 内存控制器在龙芯cpu中)
- stem教育什么意思
- 用python编写三角波_Python中的三角波阵