博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用Kettle从excel中将导入oracle数据库的简单方法
阅读量:7044 次
发布时间:2019-06-28

本文共 1389 字,大约阅读时间需要 4 分钟。

前言:

Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。Kettle家族目前包括4个产品:Spoon、Pan、CHEF、Kitchen。本次介绍的是其中的一款产品“Spoon”,Spoon允许你通过图形界面来设计数据转换过程。

Kattle- Spoon下载地址(绿色硬盘版解压即用):

JDK1.8版本下载地址(注:Kattle仅支持1.8以上JDK):

WINDOWS环境变量配置:

为什么我们要使用Kettle?

我们在日常工作中,经常会遇到一种场景,那就是需要将一些数据批量的Insert到数据库表中,这篇文档就是基于这个操作来写的,我们不用Kettle的话,面对这种批量插入的操作,有这么几种方法:

  • 批量编写insert语句

  • 直接for update,从excel里面复制粘贴到plsql中

第二种方法大家肯定常用的,但是这种操作,少量的数据(2000条以内)效率还可以,一旦成千上万,甚至10w+级别的数据,指望for update有很好的表现,基本上是不可能的,基本上都会等个30分钟以上,如果DB赶上忙时,这个操作时间就更慢了。并且for update的操作,从Oracle的角度讲,相当于打开了一个事务,长时间的不关闭保持对表操作,很容易因为长事务引起锁表,我们今天介绍的Kettle,能达到什么效果呢?那就是一次性对一张表导入10w条数据,只需要短短的25s,学会灵活使用Kettle,就能让你的效率得到不一样的提升。

使用方法:

  • 打开Kattle文件夹下Spoon.bat

    图片描述

  • 点击文件-新建-转换,新建一个转换作业

    图片描述

  • 页面左侧选择输入源(如EXCEL输入),用鼠标点击拖动到右侧转换区

    图片描述

  • 页面左侧选择输出源(如表输处),用鼠标点击拖动到右侧转换区

    图片描述

  • 点击‘表输出’图标,选择输入方向,将两个图标连接起来

    图片描述

图片描述

  • 双击‘EXCEL输入’,配置EXCEL输入方式

    图片描述

  • 在表格类型处选择EXCEL格式

    图片描述

  • 点击【浏览】选择EXCEL文件

    图片描述

  • 选择好文件后,点击【增加】,该文件即出现在选中的文件中

    图片描述

  • 切换到‘工作表’页面,点击【获取工作表名称】,选择数据所在SHEET页

    图片描述

  • 切换到‘字段’页面,点击【获取来自头部数据的字段】,即可获取SHEET页中第一行的字段名

    图片描述

  • 点击【确定】结束EXCEL配置

  • 双击【表输出】进入数据库表配置页面

    图片描述

  • 点击【新建】进入数据库链接配置页面

    图片描述

  • 在配置页面依次输入

    连接名称:任意填写
    主机名称:数据库IP
    数据库名称:ORA配置文件中的‘SID’
    端口号:数据库端口号
    用户名:数据库登录名
    密码:数据库登录密码
    图片描述

  • 点击【测试】,查看数据库是否能正常连接,然后点击【确定】,完成数据库配置

    图片描述

  • 在‘目标表’处输入需要导入数据的数据库表名称,并勾选‘指定数据库字段’

    图片描述

  • 切换到‘数据库字段’页面,点击【获取字段】,即可获取导入表的字段

    图片描述

  • 调整表字段(数据库表)和流字段(EXCEL字段)的对应关系,然后单击【确定】,结束配置

    图片描述

  • 点击页面上箭头或者按键盘上F9键,开始导入工作配置

    图片描述

  • 点击【启动】,正式开始导入

    图片描述

  • 在‘执行结果’处可以看到数据导入情况,如果提示错误,可以在‘日志’页面查看错误原因

    图片描述

  • 导入成功后如图

    图片描述

- 10个字段的表,建议一次性导入数据在10W左右,如果一次导入数据过多,会导致软件缓存不足,导入失败

转载地址:http://uahal.baihongyu.com/

你可能感兴趣的文章
13岁女孩因发布JavaScript无限循环代码被捕
查看>>
Yelp开源数据管道项目最新组件——数据管道客户端库
查看>>
Coinbase是如何在其加密货币交易平台上应对扩展性挑战的
查看>>
Elixir:可能成为下一代Web开发语言
查看>>
苹果Q1财报出炉:手机收入下滑15%,服务收入增长19%
查看>>
Racket 6.7最新版本:提供对Android App的支持及改进的REPL等等
查看>>
Eclipse发布MicroProfile 1.4和2.0
查看>>
Kubernetes日志分析利器:Elassandra部署使用指南
查看>>
TOP 13大最热开源微服务Java框架
查看>>
Swift 3来了!
查看>>
京东构建了全球最大的Kubernetes集群,没有之一
查看>>
Node项目之需求收集平台(一)- 基本介绍
查看>>
ArchSummit北京2015 | “新人”的技术约战
查看>>
Microsoft宣布正式发布Linux on ASE
查看>>
Elm提供的语言级响应性
查看>>
微服务通信策略
查看>>
InfoQ 趋势报告:技术文化\u0026方法2019年实践状况
查看>>
Entity Framework Core 2.0的槽点
查看>>
甲骨文解散Java Mission Control团队事件新进展
查看>>
书评:实战Apache JMeter
查看>>