目录
需求:有个excel表,里面包含了中国城市一线、新一线、二线城市的名称及编码,我们需要将一线城市放入到postgres数据库下yx这张表中,新一线、二线分别放入到期相对应的表中?如何能够快速做到。下面excel文件欢迎下载:中国城市划分历览excel版-其它文档类资源-优快云下载
解决方式一:按照普通方式的话,我们就是直接编写很多添加的SQL语句,将数据添加到相对应的表中,但是表数据达到上百条、上千条,就不说上万、上百万、上亿的数据量了,就会花费我们大量的时间去表写添加的SQL语句,效率过低,重复量过大,而且人写的估计也要吐血了。鉴于此,我们可以使用解决方式二。
解决方式二:使用ETL工具Kettle对excel表中的数据进行相对应的操作,从而将其数据插入到相对应的表中。
1、ETL工具Kettle简介
免费开源的基于java的企业级ETL工具,功能强大,简单易用,无可抗拒.
ETL(Extract-Transform-Load),即数据抽取、转换、装载的过程,对于企业或行业来说,我们经常会遇到各种数据的处理、转换、迁移,所以,学会使用ETL工具非常有必要,其支持图形化的GUI,以工作流的形式流转,在一些简单或复杂的数据抽取、质量检测、数据清洗、数据转换、数据过滤等方面都非常不错,通过对其的熟练使用,可以减少非常多的工作量,提高工作效率。
2、Spoon安装
访问官网,Kettle中文网 – Kettle安装、Kettle使用、Kettle中文,支持一键安装。
3、界面展示
双击spoon.bat批处理文件,展示的界面如下所示。
4、实现需求,对数据进行抽取
4.1 将excel表中的数据先完全装载到一个表中
4.1.1 创建一张表,其SQL语句如下所示。
--中国城市
CREATE TABLE zgcs (
csjb varchar(100) NULL,
xssx int4 NULL,
csdm varchar(10) NULL,
csmc varchar(100) NULL
);
查询一下表格,select * from zgcs,可以看到表是一张空表
<