更新时间:2022-12-14 GMT+08:00

固定宽度文件输入

概述

“固定宽度文件输入”算子,将文件的每一行,按可配置长度的字符或字节,转换成多个输入字段。

输入与输出

  • 输入:文本文件
  • 输出:多个字段

参数说明

表1 算子参数说明

参数

含义

类型

是否必填

默认值

换行符

用户根据数据实际情况,填写字符串作为换行符。支持任何字符串。默认使用操作系统的换行符。

string

\n

分割长度单位

长度单位,可选择“char”字符或“byte”字节。

enum

char

输入字段

配置输入字段相关信息:

  • 固定长度:设置字段长度,第2个字段起点从第1个字段终点开始,以此类推。
  • 字段名:配置输入字段名。
  • 类型:配置字段类型。
  • 数据格式:字段类型为“DATE”“TIME”“TIMESTAMP”时,需指定特定时间格式,其他字段类型指定无效。时间格式如:“yyyyMMdd HH:mm:ss”
  • 长度:配置字段长度,字段值实际长度太长则按配置的长度截取,“类型”“CHAR”时实际长度不足则空格补齐,“类型”“VARCHAR”时实际长度不足则不补齐。

map

数据处理规则

  • 按照输入字段的长度依次截取源文件,生成字段。
  • 当字段的值与实际的类型不匹配时,该行数据会成为脏数据。
  • 配置字段分割长度,大于原字段值的长度,则数据分割失败,当前行成为脏数据。

样例

源文件如下图:

配置“固定宽度文件输入”算子,生成三个字段A、B和C。

将三个字段依次输出,结果如下: