在Loader导入或导出数据的任务中,每个算子对于原始数据中NULL值、空字符串定义了不同的处理规则;在算子中无法正确处理的数据,将成为脏数据,无法导入或导出。
在转换步骤中,算子数据处理规则请参见下表。
表1 数据处理规则一览表
转换步骤 |
规则描述 |
CS V文件输入 |
- 分隔符在原始数据中连续出现两次,将生成空字符串字段。
- 配置输入字段列数,大于原始数据实际包含的字段列数,全部数据成为脏数据。
- 遇到类型转换错误,当前数据保存为脏数据。
|
固定宽度文件输入 |
- 原始数据包含NULL值,不做转换处理。
- 配置输入字段列数,大于原始数据实际包含的字段列数,全部数据成为脏数据。
- 配置转换字段类型,与原始数据实际类型不同,全部数据成为脏数据。例如将字符串类型转换为数值类型。
- 配置字段分割长度,大于原字段值的长度,则数据分割失败,当前行成为脏数据
|
表输入 |
- 原始数据包含NULL值,不做转换处理。
- 配置输入字段列数,大于原始数据实际包含的字段列数,全部数据成为脏数据。
- 配置转换字段类型,与原始数据实际类型不同,全部数据成为脏数据。例如将字符串类型转换为数值类型。
|
HBase输入 |
- 原始数据包含NULL值,不做转换处理。
- 配置HBase表名错误,全部数据成为脏数据。
- “主键”没有配置主键列,全部数据成为脏数据。
- 配置输入字段列数,大于原始数据实际包含的字段列数,全部数据成为脏数据。
- 配置转换字段类型,与原始数据实际类型不同,全部数据成为脏数据。例如将字符串类型转换为数值类型。
|
长整型时间转换 |
- 原始数据包含NULL值,不做转换处理。
- 配置输入字段列数,大于原始数据实际包含的字段列数,全部数据成为脏数据。
- 遇到类型转换错误,当前数据保存为脏数据。
|
空值转换 |
- 原始数据包含NULL值,转换为用户指定的值。
- 配置输入字段列数,大于原始数据实际包含的字段列数,全部数据成为脏数据。
|
随机值转换 |
不涉及处理NULL值、空字符串,不生成脏数据。 |
增加常量字段 |
不涉及处理NULL值、空字符串,不生成脏数据。 |
拼接转换 |
- 原始数据包含NULL值,将转换为空字符串。
- 配置输入字段列数,大于原始数据实际包含的字段列数,全部数据成为脏数据。
|
分隔转换 |
- 原始数据包含NULL值,当前行成为脏数据。
- 配置分割后字段列数,大于原始数据实际可分割出来的字段列数,当前行成为脏数据。
|
取模转换 |
- 原始数据包含NULL值,当前行成为脏数据。
- 配置输入字段列数,大于原始数据实际包含的字段列数,全部数据成为脏数据。
- 数据类型转换失败,当前行成为脏数据。
|
剪切字符串 |
- 传入数据为NULL值,不做转换处理。
- 配置输入字段列数,大于原始数据实际包含的字段列数,全部数据成为脏数据。
- 字符截取的起点位置或终点位置,大于输入字段的长度时,当前行成为脏数据。
|
EL操作转换 |
- 传入数据为NULL值,不做转换处理。
- 输入一个或多个字段的值,输出计算结果。
- 输入类型和算子不兼容时,当前行为脏数据。
|
字符串大小写转换 |
- 传入数据为NULL值,不做转换处理。
- 配置输入字段列数,大于原始数据实际包含的字段列数,全部数据成为脏数据。
|
字符串逆序转换 |
- 传入数据为NULL值,不做转换处理。
- 配置输入字段列数,大于原始数据实际包含的字段列数,全部数据成为脏数据。
|
字符串空格清除转换 |
- 传入数据为NULL值,不做转换处理。
- 配置输入字段列数,大于原始数据实际包含的字段列数,全部数据成为脏数据。
|
过滤行转换 |
- 条件逻辑为“AND”,如果未添加过滤条件,全部数据成为脏数据;或者原始数据满足添加的全部过滤条件,当前行成为脏数据。
- 条件逻辑为“OR”,如果未添加过滤条件,全部数据成为脏数据;或者原始数据满足任意添加的过滤条件,当前行成为脏数据。
|
文件输出 |
- 传入数据为NULL值,不做转换处理。
- 配置输入字段列数,大于原始数据实际包含的字段列数,全部数据成为脏数据。
- 数据类型转换失败,当前行成为脏数据。
|
表输出 |
HBase输出 |
- 原始数据包含NULL值,如果“NULL值处理方式”设置为“true”,将转换为空字符串并保存。如果“NULL值处理方式”设置为“false”,不保存数据。
- 配置输入字段列数,大于原始数据实际包含的字段列数,全部数据成为脏数据。
- 数据类型转换失败,当前行成为脏数据。
|
Hive输出 |
- 如果指定了一个或多个列为分区列,则在“到”页面上,会显示“分割程序”属性,该属性表示使用多少个处理器去对分区数据进行处理。
- 如果没有指定任何列为分区列,则表示不需要对输入数据进行分区处理,“分割程序”属性默认隐藏。
- 配置输入字段列数,大于原始数据实际包含的字段列数,全部数据成为脏数据。
- 数据类型转换失败,当前行成为脏数据。
|