本例子,来源表是一个oracle视图,目的表是一个oracle表,采用“表输入—表输出”进行ETL。

1.在Spoon中,打开核心对象——表输入

数据库连接中选择  DB连接中的视图,SQL语句是相关的视图,需要哪些字段、过滤哪些条件,都是在SQL里面设置。如下图所示。

2.在Spoon中,打开核心对象——表输出

选择数据库连接,目标模式是oracle的用户(即导入哪个用户),目标是:新建表名。

执行SQL语句就会在oracle数据库的用户下面新建表格。如下图所示。

一定要通过kettle这个选项来建立这个表,要不,插入/更新速度非常慢。因为通过kettle建表,优化了某些表的性能。(具体是什么)

3.开始执行

4.执行过程和结果,总共50分钟,导入1800万条记录。 

总结

 kettle的性能
        kettle本身的性能绝对是能够应对大型应用的,一般的基于平均行长150的一条记录,假设源数据库,目标数据库以及kettle都分别在几台机器上(最常见的桌面工作模式,双核,1G内存),速度大概都可以到5000 行每秒左右,如果把硬件提高一些,性能还可以提升 , 但是ETL 过程中难免遇到性能问题,下面一些通用的步骤也许能给你一些帮助.
        尽量使用数据库连接池
        尽量提高批处理的commit size
        尽量使用缓存,缓存尽量大一些(主要是文本文件和数据流)
        Kettle 是Java 做的,尽量用大一点的内存参数启动Kettle.
        可以使用sql 来做的一些操作尽量用sql 
       Group , merge , stream lookup ,split field 这些操作都是比较慢的,想办法避免他们,能用sql 就用sql
       插入大量数据的时候尽量把索引删掉
       尽量避免使用update , delete 操作,尤其是update , 如果可以把update 变成先delete ,  后insert .
       能使用truncate table 的时候,就不要使用delete all row 这种类似sql
合理的分区
       如果删除操作是基于某一个分区的,就不要使用delete row 这种方式(不管是delete sql 还是delete 步骤),直接把分区drop 掉,再重新创建
       尽量缩小输入的数据集的大小(增量更新也是为了这个目的)
       尽量使用数据库原生的方式装载文本文件(Oracle 的sqlloader , mysql 的bulk loader 步骤)
       尽量不要用kettle 的calculate 计算步骤,能用数据库本身的sql 就用sql ,不能用sql 就尽量想办法用procedure , 实在不行才是calculate 步骤.
       要知道你的性能瓶颈在哪,可能有时候你使用了不恰当的方式,导致整个操作都变慢,观察kettle log 生成的方式来了解你的ETL操作最慢的地方。
      远程数据库用文件+FTP 的方式来传数据 ,文件要压缩。(只要不是局域网都可以认为是远程连接)

Kettle 全量抽取数据相关推荐

  1. MySQL主从恢复(全量恢复数据)

    前言 当mysql主从(一主一从模式)数据不同步,常规方式解决不掉,故全量恢复数据并同步数据. 发现问题 首先可以由mstaer status观察到主从已经未同步,其次slave status看到sl ...

  2. 中国裁判文书全量明细数据

    数据名称:中国裁判文书全量明细数据 样本范围:全国裁判文书,15项指标 样本数量:85,057,901(8500万) 数据年份:1985.1~2021.10 数据变量:原始链接.案号.案件名称.法院所 ...

  3. kettle全量抽数据_漫谈数据平台架构的演化和应用

    随着科技的发展,数据在当代社会中所起的作用越来越大.阿里巴巴集团创始人马云在2014年提出了DT(Data Technology)的概念:"人类正从IT时代走向DT时代".DT的核 ...

  4. 基于间隔推送全量更新数据状态的设计方法

    2019独角兽企业重金招聘Python工程师标准>>> 假如有个直播间,在数据有更新的时候,能及时反映在客户端上.通信方式来说,有两种: 1.拉取模式. 2.推送+拉取模式(或者纯推 ...

  5. hbase集群 数据写入_Hbase实用技巧:全量+增量数据的迁移方法

    摘要:本文介绍了一种Hbase迁移的方法,可以在一些特定场景下运用. 背景 在Hbase使用过程中,使用的Hbase集群经常会因为某些原因需要数据迁移.大多数情况下,可以跟用户协商用离线的方式进行迁移 ...

  6. Hbase实用技巧:全量+增量数据的迁移方法

    摘要:本文介绍了一种Hbase迁移的方法,可以在一些特定场景下运用. 背景 在Hbase使用过程中,使用的Hbase集群经常会因为某些原因需要数据迁移.大多数情况下,可以跟用户协商用离线的方式进行迁移 ...

  7. 全量增量数据同步方法(Hive date_add date_sub)

    全量数据与增量数据同步 1.不关心主键: a.第一次直接全量同步: insert overwrite table target select * from source b.第二次以后采用增量同步:表 ...

  8. java从hbase增量导出到,Hbase实用技巧:全量+增量数据的迁移方法

    摘要:本文介绍了一种Hbase迁移的方法,可以在一些特定场景下运用. 背景 在Hbase使用过程中,使用的Hbase集群经常会因为某些原因需要数据迁移.大多数情况下,可以跟用户协商用离线的方式进行迁移 ...

  9. 有全量大数据了,还要用估算、抽样吗?

    这是我的第59篇原创 统计学是一个用数学研究现实世界的学科,研究的手段就是搜索.整理.分析.描述数据等手段.你看,跟数据分析师的工作是不是很像啊? 统计学家是一个很有意思的职业,早期的统计学家大量的工 ...

最新文章

  1. 13.MongoDB 连接命令格式
  2. 设计模式(Design Pattern)
  3. Shell——运算符和条件判断
  4. 一篇文章为你深度解析HTTPS 协议
  5. js 里面令人头疼的 this
  6. Cisco自反控制列表的应用
  7. 速成pytorch学习——10天.训练模型的3种方法
  8. Sql Server系列:开发存储过程
  9. 【图像处理】hough变换_检测直线
  10. NV21转YUV420P的代码,测试通过
  11. 电力拖动(工厂电气控制)实验装置
  12. 操作系统-第一章 导论02-多道程序设计和分时-电大同步进度
  13. 服务器的tpmc查询网站,xxxx最新服务器选型指标_tpcc(tpmc)标准值_tpc官方整理.pdf
  14. 千万级用户ms级抽奖N名设计方案
  15. springboot实现微信模板消息推送
  16. 小米组织架构再调整,王川调职,雷军自任中国区总裁
  17. eplan 电箱布局_EPLAN电气图实例--控制柜(1)
  18. MapReduce快速入门系列(4) | Hadoop序列化
  19. [4G5G专题-93]:流程 - 4G LTE 终端在RRC 连接状态下的小区切换通用过程
  20. sda, sdb, sdc, sda1, sda2在Linux中都代表什么

热门文章

  1. 【Godot 插件】获取编辑器上所有的节点
  2. 在遗忘边缘试探的matlab函数
  3. 如何进行拼图?拼图其实很简单
  4. 新一代企业级安全OneDNS
  5. STP Security之BPDU Filter、BPDU Guard、Root Guard
  6. 【风马一族_xml】xml语法
  7. 【CSS】1088- CSS 快速实现烟花绽放
  8. matlab把横版变成竖版,请教高人如何将纵向排列的数据转为横向排列
  9. linux系统显示无法挂载,linux系统无法挂载U盘
  10. 什么是自注意力机制(Self-attention)