mshflexgrid固定行对齐_Kettle(PDI)转换中输入步骤之固定宽度文件输入详解

概述

Fixed file input(固定宽度文件输入)步骤专门用于从固定宽度的文本文件中读取数据。在固定宽度文件中,格式由列宽、填充和对齐方式指定。列的宽度以字符为单位进行度量。例如,文件中的数据包含第一列正好有12个字符,第二列正好有10个字符,第三列正好有7个字符,以此类推。每一行包含一个信息记录;每个记录可以包含多个数据(字段),每个数据字段(列)有特定数量的字符。当数据没有使用分配给它的所有字符时,将用空格(或其他字符)填充数据。此外,每个数据元素可以左对齐或右对齐,这意味着可以在任何一侧填充字符。

选项介绍

7b5201fa4678a415f2b1e8fa12abd0ed.png

固定宽度文件输入

Fixed file input(固定宽度文件输入)步骤有以下选项:

Step name(步骤名称):在画布上指定Email messages input(邮件信息输入)步骤的唯一名称。您可以自定义名称或将其保留为默认名称。

Filename(文件名):指定要从中读取的CSV文件的名称。

Line width in bytes(以字节数表示的行宽度):指定目标文件中每个记录的宽度。但是不包括回车或换行字段的宽度。

Line feeds present?(保留换行符?):检查目标文件是否包含换行字符。

NIO buffer size(NIO缓存大小):这是读取缓冲区的大小。它表示一次从磁盘读取的字节数。

Lazy conversion?(简易转换?):简易转换算法将尝试避免不必要的数据类型转换,如果可能的话,可以显著提高性能。典型例子是从文本文件中读取,然后写回文本文件,则需要启用。

Header row present?(保留头信息?):如果目标文件包含包含列名的标题行,请使用此选项。

Running in parallel?(以平行方式运行?):如果您将运行此步骤的多个实例(步骤副本),并且希望每个实例读取文件的单独部分,请选中此复选框。

File Encoding(编码):指定要读取的文件的编码。

Add filename to result(添加文件到列表):将读取的文件名添加到此转换的结果中。在内存中保存一个唯一的列表,可以在作业中的下一个作业条目中使用,例如在另一个转换中。

Fields Table(字段列表):此表包含要从目标文件读取的字段的有序列表。

Preview button(预览按钮):点击以预览来自目标文件的数据。

Get Fields button(获取字段按钮):单击返回目标文件中基于当前设置的字段列表(例如,分隔符、封闭符等)。所有标识的字段都将添加到fields表中。

元数据注入支持

您可以在ETL元数据注入步骤中使用元数据注入支持的字段,以便在运行时将元数据传递给转换。固定文件输入步骤的以下选项和字段支持元数据注入:

选项:Filename, Line Width in Bytes, Line Feeds Present?, NIO Buffer Size, Lazy Conversion, Header Row Present?, Running in Parallel?, File Encoding, and Add Filename to Result。

字段:Name, Precision, Type, Currency, Format, Decimal, Width, Group, Length和Trim Type。

示例

双击输入中的固定宽度文件输入,添加一个固定宽度文件输入步骤。

fe5005a76e934a4101f7463b6f234b8f.png

添加固定宽度文件输入

然后双击添加的步骤进行编辑。

bb03fa79cbf886a4020fdd93ec01efb1.png

编辑固定宽度文件输入

然后点击浏览,选择安装目录下的文件路径data-integration/samples/transformations/files/Textfile input - fixed length sample data.txt。然后点击获取字段

b505448b9ac9d68c0ed83aa5940d6613.png

设置邮件服务器

接着点击字段标签,并点击下面的获取字段。

18b2124ef2078ecd36aa2a8617ac028d.png

设置列宽度按

设置每列的宽度,根据实际情况设置列数。

3b0503b34828a1836a705e250deba26b.png

然后点击预览,查看数据列表。

5847258fd6fec5ad8dc782a38c307975.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值