大埔县住房城乡规划建设局网站优化排名推广教程网站
文章目录
- 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的设置为