一、输入步骤概述

  输入步骤主要分为以下几类:

    • 生成记录/自定义常量
    • 获取系统信息
    • 表输入
    • 文本文件输入
    • XML 文件输入
    • Json输入
    • 其他输入步骤

二、生成记录和自定义常量

  

  1.生成记录

    

    由于生成记录每行都是一样的数据,所以便诞生了自定义常量数据来手工模拟数据

  2.自定义常量数据

  

  常用于构造一些测试数据

三、获取系统信息

  获得各类系统信息,常见的包括:
    • 转换开始时间。
    • 关键时间点信息
    • 最多十个命令行参数
    • 主机名/ip/进程号/虚拟机内存等
    • 上一个作业的完成情况参数

    

      // 固定是整个转换开始的时间

  

  更多系统信息细节,参考相关文档

四、表输入

  表输入是比较常见的输入方式,通过执行SELECT语句,从数据库拉取输入数据

  可以使用${}形式使用变量,如果使用?变量,要求前面步骤传过来的参数需要顺序一致

  示例表输入配置如下:

  

  

  配置变量输入:

  

  数据类型对应关系:

    

五、文本文件输入

  

  文本文件输入:
    处理有列分隔符(限定符、逃逸字符)的文本文件。
    功能选项丰富、有错误处理机制。
  CSV 文件输入:
    简化了文本文件输入
    通过 NIO、并行、延迟转换提高性能
   固定宽度:
    列固定宽度的文件,不用解析字符串,性能好。

  1.文本文件输入

    先看文件这一项:

    

  双击文件节点进入编辑,直接点击浏览进行选择不是很推荐,

  推荐使用变量(凡是旁边一个$形状的,都可以根据提示使用变量,内置变量参考这里),单击变量,旁边会显示变量的值,可以进行参考

  可以在第一行选择文件或者目录,选择目录则可以在规则表达式进一步通过正则进行控制

  然后点击增加,增加文件到选中的文件框中,之后点击显示文件名进行文件选择结果查看

  也可以点击下方从步骤选择文件

  继续设置输入的内容页:

  

    // 这里目前不知何解,设置制表符\t字段会识别失败。换成分号;等就正常了

  解决方案如下:

    使用sublime先安装hexVIew插件,使用插件,点击toggle查看制表符的十六进制,然后分隔符处通过$[],例如制表符查看是09;

  则分隔符为:$[09]

  字段页通过获取字段查看分割结果:预览记录查看记录结果

  

  错误处理页可以进行相关设置:

  

  过滤页可以进行字段过滤:

    例如选择第二列(从0开始位置),含有bb的

  

  2.固定宽度

    要求每一行都是固定宽度,然后通过宽度截取

###  XML输入暂不赘述

###  JSON输入暂不赘述

六、其它输入 

  Excel 输入
  Access 输入
  配置文件输入
  SAP 输入
  Oracle CDC 增量输入
  消息队列输入
  PDF文件输入
  搜索引擎结果输入

kettle学习笔记(四)——kettle输入步骤的更多相关文章

  1. python学习笔记(四)---用户输入与while循环

    用户输入 函数input demo1: message = input("all you input is chars:") print(message) demo2: 由inpu ...

  2. Kettle学习笔记(四)— 总结

    目录 Kettle学习笔记(一)- 环境部署及运行 Kettle学习笔记(二)- 基本操作 kettle学习笔记(三)- 定时任务的脚本执行 Kettle学习笔记(四)- 总结 Kettle中设置编码 ...

  3. Kettle学习笔记(二)— 基本操作

    目录 Kettle学习笔记(一)- 环境部署及运行 Kettle学习笔记(二)- 基本操作 kettle学习笔记(三)- 定时任务的脚本执行 Kettle学习笔记(四)- 总结 打开Kettle 打开 ...

  4. Kettle学习笔记(一)— 环境部署及运行

    目录 Kettle学习笔记(一)-环境部署及运行 Kettle学习笔记(二)- 基本操作 kettle学习笔记(三)- 定时任务的脚本执行 Kettle学习笔记(四)- 总结 Kettle简介 Ket ...

  5. IOS学习笔记(四)之UITextField和UITextView控件学习

    IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...

  6. java之jvm学习笔记四(安全管理器)

    java之jvm学习笔记四(安全管理器) 前面已经简述了java的安全模型的两个组成部分(类装载器,class文件校验器),接下来学习的是java安全模型的另外一个重要组成部分安全管理器. 安全管理器 ...

  7. Learning ROS for Robotics Programming Second Edition学习笔记(四) indigo devices

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  8. 零拷贝详解 Java NIO学习笔记四(零拷贝详解)

    转 https://blog.csdn.net/u013096088/article/details/79122671 Java NIO学习笔记四(零拷贝详解) 2018年01月21日 20:20:5 ...

  9. kvm虚拟化学习笔记(四)之kvm虚拟机日常管理与配置

    KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...

  10. MySql学习笔记四

    MySql学习笔记四 5.3.数据类型 数值型 整型 小数 定点数 浮点数 字符型 较短的文本:char, varchar 较长的文本:text, blob(较长的二进制数据) 日期型 原则:所选择类 ...

随机推荐

  1. 活字格Web应用平台学习笔记4 - 添加记录

    今天继续学习活字格基础教程,目标是创建一个页面,增加记录. 开始之前,系统会自动把上一次的工程文件加载进来. 这是做好后的样子. 我点添加员工的超链接: 先后加了2条员工的信息进来. 不错,设计界面是 ...

  2. 你用过这种奇葩的C#注释吗

    博客园一位微软MVP的文章 http://www.cnblogs.com/asxinyu/p/4383402.html#autoid-0-0-0 摘录: 我这里说的奇葩,并不是脱离三种方式,而是其注释 ...

  3. 微信小程序开发--模板(template)使用,数据加载,点击交互

    微信小程序视图层提供了 模板(template),可以在模板中定义代码片段,然后在不同的地方调用.结果在数据渲染那懵逼了.按照官网上对模板的说明和对数据的加载. 1.定义模板 使用name属性,作为模 ...

  4. Android逆向 APK文件组成

    一 了解APK文件 我们知道Android系统能运行的程序是.apk文件格式,其实它就是一个压缩包而已,把.apk修改成.zip,然后解压就可以得到该apk内部的文件结构. PS: 既然可以把apk文 ...

  5. Expo大作战(十五)--expo中splash启动页的详细机制

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  6. Android IOC注解库EasyUI

    EasyUI介绍 1.使用反射机制和注解实现类似于butterknife的IOC框架 2.快速的findViewById和OnClick 3.扩展了click时无网络监测 4.扩展了快速点击监测 使用 ...

  7. Python+Selenium笔记(九):操作警告和弹出框

    #之前发的 driver.switch_to_alert() 这句虽然可以运行通过,但是会弹出警告信息(这种写法3.x不建议使用)  改成 driver.switch_to.alert就不会了. (一 ...

  8. 记一款bug管理系统(bugdone.cn)的开发过程(2) -如何做好登录界面

    一. 做了一个大胆的决定,官网首页便是登录界面 BugDone,Bug管理工具的定位就是一款非常易用的工具,所以我们没有像其它平台那样进官网首页都是一些功能和业务的介绍. 我们觉得方便用户快速进入工作 ...

  9. LeetCode题解之 Implement strStr()

    1.题目描述 2.题目分析 字符串操作,注意边界条件即可. 3.代码 int strStr(string haystack, string needle) { int n = needle.size( ...

  10. myeclipse 10配置jboss 7.1.1无法启动Error: Could not create the Java Virtual Machine

    myeclipse 10中配置jboss 7.1.1,多写了个server name,结果死活启动不了.后来,发现了这个细节. 错误显示: 错误源头: 删掉Server name后,可以完美启动 小问 ...