1. ETL工具Kettle的查询、连接和映射

在ETL工具中,查询、连接和映射各自的作用包括:

  • 查询步骤:用来查询数据源中的数据并合并到主数据流中
  • 连接步骤:将结果集合通过关键字进行连接
  • 子转换/映射:在转换里调用一个子转换,便于封装和重用

2. 查询步骤

在Kettle工具中,查询步骤常见的方式包括:流查询、模糊匹配、数据库查询、Web查询等等。

  • 流查询

    1. 只支持“==”的查询
    2. 如果匹配上多条,只保留最后一条
    3. 如果没有匹配上,只保留字段值为NULL
  • 模糊匹配
    1. 只支持单列的查询
    2. 匹配相似度最大的字符串
    3. 自定义匹配的取值范围
    4. 支持的模糊匹配算法Jaro,Jaro Winkler, Levenshtein等
  • 数据库查询
    1. 只返回一行
    2. 如果有多行结果:
    3. 如果有多行结果:字符串模糊匹配,相似读最高一条
    4. 对数据流的每条记录都要做一次数据库查询,效率低
    5. 数据库查询(加载所有数据到缓存)=表输入+流查询

kettle数据库查询操作相关的图标如图所示:

  • Web查询

    1. HTTP客户端:使用GET的方式提交请求。(URL、参数名、参数值)
    2. 使用POST方式提交请求,获得返回的页面内容

3. 连接步骤

在Kettle工具中,连接步骤主要包括记录集连接和记录关联操作:

  • 记录集连接:两个记录集做左连接、右连接、内连接、外连接
  • 两个记录集做笛卡尔乘积,如果速度慢,调整main step

4. 子转换/映射操作

  • 创建子转换的过程:对映射输入接口和输出接口进行操作,具体步骤如下:

    1. 映射输入接口:多个输入列,作为接口。输入列可以友调用的转换输入。
    2. 映射输出接口:不用做任何设置,并向调用的转换输出所有列。
  • 调用子转换
    1. 指定子转换位置
    2. 传入命名惨呼和变量
    3. 传入输入列
    4. 接收输出列

四十四、ETL工具的查询_连接和映射相关推荐

  1. 四十、ETL工具的输入步骤

    1. ETL工具Kettle的输入步骤 1.1 Kettle输入步骤主要分为以下几类: 生成记录和自定义常量. 获取系统信息 输入方式 2 生成记录和自定义常量 2.1 Kettle组件生成记录 生成 ...

  2. [系统安全] 四十四.APT系列(9)Metasploit技术之基础用法万字详解及防御机理

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

  3. 数据库管理-第四十四期 数据库的物理隔离(20221118)

    数据库管理 2022-11-18 第四十四期 数据库的物理隔离 1 背景 2 Oracle 3 分布式 4 终极大招 总结 第四十四期 数据库的物理隔离 这周干了些啥?除了正常日常工作和协调部署各种新 ...

  4. 风炫安全WEB安全学习第四十四节课 敏感信息泄漏

    第四十四节课 敏感信息泄漏 敏感信息泄漏 0x01 漏洞简介 敏感数据包括但不限于:口令.密钥.证书.会话标识.License.隐私数据(如短消息的内容).授权凭据.个人数据(如姓名.住址.电话等)等 ...

  5. Python编程基础:第四十四节 方法重写Method Overriding

    第四十四节 方法重写Method Overriding 前言 实践 前言 我们前面说了,子类继承于父类,可以调用父类的所有属性和方法.那么如果我们想在继承的过程中重新书写父类的某些方法,此时就用到了方 ...

  6. 四十四种Javascript技巧大全

    四十四种Javascript技巧大全 1.第一个给变量分配值时不要忘了var关键字. 分配值给未定义的变量将是该变量自动成为全局变量,应该避免全局变量. 2.使用 === 而不是 == 使用 == ( ...

  7. 四十四、深入Java 的序列化和反序列化

    @Author:Runsen @Date:2020/6/8 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业排名 ...

  8. JavaScript学习(四十四)—in关键字的使用和for in循环遍历对象的属性

    JavaScript学习(四十四)-in关键字的使用和for in循环遍历对象的属性 一.in关键字的使用 作用:判断某个属性是否属于对象 格式:属性名称 in 对象名称 ; 返回值:如果返回的结果为 ...

  9. NeHe OpenGL教程 第四十四课:3D光晕

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

最新文章

  1. 第三周 数据分析之概要 Pandas库数据特征分析
  2. mysql5.6.30源码安装_Centos7.1 for MySQL5.6.30源码安装及多实例配置
  3. Maven 命令格式及一些常用命令
  4. 分分钟带你欣赏ES6语法糖
  5. 配置MySQL8.0
  6. 前端学习(2016)vue之电商管理系统电商系统vue-quill-editor
  7. linux date输出到文件,Linux常用命令--ls、cd、date用法
  8. red hat linux 安装oracle10g vm,oracle 10g 在 RED HAT ENTERPRISE LINUX 5下的安装
  9. 45 FI配置-财务会计-固定资产-一般评估-指定折旧条件转移
  10. 从字符串数组中把数字的元素找出来
  11. 17. jQuery - css() 方法
  12. GPS经纬度坐标与XY坐标相互转换的python程序
  13. python回合制游戏教程_3. Molten从零开始做独立游戏-python学习
  14. Python3的下载和安装步骤
  15. Qt QClipboard 粘贴复制功能学习
  16. Netty源码解析之内存管理-PooledByteBufAllocator-PoolArena
  17. Spring—xml和注解
  18. MySQL 8.0踩到的坑(2)
  19. 雨听 | 网页数据修改
  20. 微信群如何实现只接收红包消息提醒

热门文章

  1. WCF开发的几个频骤
  2. 程序员的工作,四种情景的处理
  3. 终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
  4. 反思专注力:重视专注;转变认知;避开即时娱乐;控制专注;氛围想不专注都难
  5. Linux之CentOS找不到configure
  6. php教学小结,php小结
  7. springboot 添加允许跨域_springboot设置cors跨域请求的两种方式
  8. 三次握手和四次挥手详细介绍
  9. 单目视觉机器人的循迹_机器人视觉系统传感器的关键技术盘点
  10. c语言创建链表存储10个数,C语言编写的建立单向int链表,连续输入10个结点创建链表,并实现在原链表中插入数字、删除数字、查找数字的功能...