当前位置: 首页 > news >正文

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的设置为
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/18196.html

相关文章:

  • 2023年CDGA考试-第10章-参考数据和主数据(含答案)
  • 2023年,什么行业更有发展前景?
  • 致盛咨询携手亚马逊云科技进一步开拓中国市场
  • ts之 命名空间 namespace、三斜线指令、声明文件(declare 声明ts的变量函数第三方模块等 )
  • Day898.Join语句执行流程 -MySQL实战
  • ChatGPT商业前景如何?人工智能未来会如何发展?
  • 代码随想录第十六天(347、194、195、94)
  • < elementUI组件样式及功能补全: 实现点击steps组件跳转对应步骤 >
  • 【学习笔记】互联网金融:芝麻信用分的建模过程
  • Linux C/C++或者嵌入式开发到底有没有35岁危机?
  • 国内领先的十大API接口排行
  • 【Linux】Kickstart 配置U盘自动化安装Linux系统
  • 【Spring MVC】这一篇,带你从入门到进阶
  • InstallAware Multi-Platform updated
  • Spring Batch 高级篇-多线程步骤
  • 关于iframe一些通讯的记录(可适用工作流审批)
  • JavaWeb
  • ip段192.168.1.0/24和192.168.0.0/16
  • 《爆肝整理》保姆级系列教程python接口自动化(二十二)--unittest执行顺序隐藏的坑(详解)
  • 【第二章 IOC操作bean管理(XML注入其他类型属性(字面量,外部bean,内部bean,级联赋值)、XML注入集合属性)】
  • Kotlin-枚举和印章
  • _linux (TCP协议通讯流程)
  • PMP考试详解,新考纲有什么变化?
  • C++学习笔记-日期和时间
  • Nordic nRF芯片FDS模块学习
  • JVM 学习(1)—JVM 与 JMM 内存模型简单理解
  • NMS详解
  • 考出PMP证书到底有没有用?
  • 寻路库recastnavigation改造
  • pandas 一些设置随记