kettle学习笔记(四)——kettle输入步骤
一、输入步骤概述
输入步骤主要分为以下几类:
• 生成记录/自定义常量
• 获取系统信息
• 表输入
• 文本文件输入
• 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输入步骤的更多相关文章
- python学习笔记(四)---用户输入与while循环
用户输入 函数input demo1: message = input("all you input is chars:") print(message) demo2: 由inpu ...
- Kettle学习笔记(四)— 总结
目录 Kettle学习笔记(一)- 环境部署及运行 Kettle学习笔记(二)- 基本操作 kettle学习笔记(三)- 定时任务的脚本执行 Kettle学习笔记(四)- 总结 Kettle中设置编码 ...
- Kettle学习笔记(二)— 基本操作
目录 Kettle学习笔记(一)- 环境部署及运行 Kettle学习笔记(二)- 基本操作 kettle学习笔记(三)- 定时任务的脚本执行 Kettle学习笔记(四)- 总结 打开Kettle 打开 ...
- Kettle学习笔记(一)— 环境部署及运行
目录 Kettle学习笔记(一)-环境部署及运行 Kettle学习笔记(二)- 基本操作 kettle学习笔记(三)- 定时任务的脚本执行 Kettle学习笔记(四)- 总结 Kettle简介 Ket ...
- IOS学习笔记(四)之UITextField和UITextView控件学习
IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...
- java之jvm学习笔记四(安全管理器)
java之jvm学习笔记四(安全管理器) 前面已经简述了java的安全模型的两个组成部分(类装载器,class文件校验器),接下来学习的是java安全模型的另外一个重要组成部分安全管理器. 安全管理器 ...
- Learning ROS for Robotics Programming Second Edition学习笔记(四) indigo devices
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
- 零拷贝详解 Java NIO学习笔记四(零拷贝详解)
转 https://blog.csdn.net/u013096088/article/details/79122671 Java NIO学习笔记四(零拷贝详解) 2018年01月21日 20:20:5 ...
- kvm虚拟化学习笔记(四)之kvm虚拟机日常管理与配置
KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...
- MySql学习笔记四
MySql学习笔记四 5.3.数据类型 数值型 整型 小数 定点数 浮点数 字符型 较短的文本:char, varchar 较长的文本:text, blob(较长的二进制数据) 日期型 原则:所选择类 ...
随机推荐
- SQL SERVER 将表字段值0和1互转的几种方法
需求: 如果表字段的值为 0 则将其修改为1 ,如果表字段的值为 1 则将其修改为 0. 方法一 end 方法二 ) 方法三 )
- Js利用Canvas实现图片压缩
最近做的APP项目涉及到手机拍照上传图片,因为手机拍照的图片通常都比较大,所以上传的时候就会很慢.为此,需要对图片进行压缩处理来优化上传功能.以下是具体实现: /* * 图片压缩 * img 原始图片 ...
- 使用kafka consumer api时,中文乱码问题
使用Intelli idea调试kafka low consumer时,由于broker存储的message有中文, idea中console端是可以正确显示的 然后mvn package打包到服务器 ...
- Nginx的程序架构优化
解耦是开发人员中流行的有个名词,简单的说就是把一堆的程序代码按照业务用途分开,然后提供服务,例如:注册登录.上传.下载.浏览列表.商品内容页面.订单支付等都应该是独立的程序服务,只不过在客户端看来是一 ...
- JavaScript Math对象方法
console.log(Math.abs(123));//绝对值 console.log(Math.ceil(123.3));//向上舍入 console.log(Math.floor(123));/ ...
- ionic之angular1.X缓存问题解决
众所周知ionic的angular1.X解决缓存的问题有: 1.在app.js里面修改:默认是true,设置了缓存 .state('tab.msg-main', { url: '/msg-main', ...
- Unity Profiler GPU Usage(GPU使用情况)
一般情况下性能瓶颈都在CPU上,这儿也列举下几个常见的GPU耗时函数吧. 1 Render.Mesh 绘制网格面(没批处理的面) 2 Batch.DrawStatic 静态批处理 3 Batch.Dr ...
- 什么是 Azure 中的虚拟机规模集?
虚拟机规模集是一种 Azure 计算资源,可用于部署和管理一组相同的 VM. 由于所有 VM 的配置都相同,因此无需对 VM 进行任何预先配置. 这样就可以更方便地构建面向大型计算.大数据.容器化工作 ...
- OverAPI.com – 史上最全的开发人员在线速查手册
不管你是多么优秀的程序员,你都不可能记住一切.在你编写程序的过程中碰到问题需要查阅手册的时候,若有现成的在线手册可参考则可以为你节省很多时间.为了方便各位朋友,我向大家推荐一个非常棒的在线手册索引网站 ...
- [Spark SQL_1] Spark SQL 配置
0. 说明 Spark SQL 的配置基于 Spark 集群搭建 && Hive 的安装&配置 1. 简介 Spark SQL 是构建在 Spark Core 模块之上的四大 ...