概述
Fixed file input(固定宽度文件输入)步骤专门用于从固定宽度的文本文件中读取数据。在固定宽度文件中,格式由列宽、填充和对齐方式指定。列的宽度以字符为单位进行度量。例如,文件中的数据包含第一列正好有12个字符,第二列正好有10个字符,第三列正好有7个字符,以此类推。每一行包含一个信息记录;每个记录可以包含多个数据(字段),每个数据字段(列)有特定数量的字符。当数据没有使用分配给它的所有字符时,将用空格(或其他字符)填充数据。此外,每个数据元素可以左对齐或右对齐,这意味着可以在任何一侧填充字符。
选项介绍
![7b5201fa4678a415f2b1e8fa12abd0ed.png](https://i-blog.csdnimg.cn/blog_migrate/ed7ecbe5497762c6e78c11d3494e08fb.jpeg)
固定宽度文件输入
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](https://i-blog.csdnimg.cn/blog_migrate/263017faf6e0da70377c47432f064cb7.jpeg)
添加固定宽度文件输入
然后双击添加的步骤进行编辑。
![bb03fa79cbf886a4020fdd93ec01efb1.png](https://i-blog.csdnimg.cn/blog_migrate/99e728a9cd25039c1596231c0bfeac0b.jpeg)
编辑固定宽度文件输入
然后点击浏览,选择安装目录下的文件路径data-integration/samples/transformations/files/Textfile input - fixed length sample data.txt。然后点击获取字段
![b505448b9ac9d68c0ed83aa5940d6613.png](https://i-blog.csdnimg.cn/blog_migrate/c3ca2eddb6908dfc5904dab834c2a5b1.jpeg)
设置邮件服务器
接着点击字段标签,并点击下面的获取字段。
![18b2124ef2078ecd36aa2a8617ac028d.png](https://i-blog.csdnimg.cn/blog_migrate/fb73d47d4e0a35d07c2604b5b55c2f06.jpeg)
设置列宽度按
设置每列的宽度,根据实际情况设置列数。
![3b0503b34828a1836a705e250deba26b.png](https://i-blog.csdnimg.cn/blog_migrate/0a29bac995a9fcdbf57cbe39f9ecdf58.jpeg)
然后点击预览,查看数据列表。
![5847258fd6fec5ad8dc782a38c307975.png](https://i-blog.csdnimg.cn/blog_migrate/257ea54a950dcc9552d7b55d6aaf4817.jpeg)