Skip to content

Commit

Permalink
[update][doc] Add description for item ignoreError
Browse files Browse the repository at this point in the history
  • Loading branch information
wgzhao committed Oct 29, 2024
1 parent 9370284 commit 3e1e210
Showing 1 changed file with 25 additions and 19 deletions.
44 changes: 25 additions & 19 deletions docs/writer/hdfswriter.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,25 +10,26 @@ HDFS Writer 提供向 HDFS 文件系统指定路径中写入 `TextFile` , `ORC

## 参数说明

| 配置项 | 是否必须 | 数据类型 | 默认值 | 说明 |
|:-----------------------| :------: |-------------| ------- | -------------------------------------------------------------------------------------------- |
| path || string || 要读取的文件路径 |
| defaultFS || string || 详述见下 |
| fileType || string || 文件的类型,详述见下 |
| fileName || string || 要写入的文件名,用于当作前缀 |
| column || `list<map>` || 写入的字段列表 |
| writeMode || string || 写入模式,详述见下 |
| skipTrash || boolean | false | 是否跳过垃圾回收站,和 `writeMode` 配置相关详见下面描述 |
| fieldDelimiter || string | `,` | 文本文件的字段分隔符,二进制文件不需要指定该项 |
| encoding || string | `utf-8` | 文件的编码配置, 目前仅支持 `utf-8` |
| nullFormat || string || 定义表示为空的字符,例如如果用户配置: `"\\N"` ,那么如果源头数据是 `"\N"` ,视作 `null` 字段 |
| haveKerberos || boolean | false | 是否启用 Kerberos 认证,如果启用,则需要同时配置以下两项 |
| kerberosKeytabFilePath || string || 用于 Kerberos 认证的凭证文件路径, 比如 `/your/path/addax.service.keytab` |
| kerberosPrincipal || string || 用于 Kerberos 认证的凭证主体, 比如 `addax/[email protected]` |
| compress || string || 文件的压缩格式,详见下文 |
| hadoopConfig || map || 里可以配置与 Hadoop 相关的一些高级参数,比如HA的配置 |
| preShell || `list` || 写入数据前执行的shell命令,比如 `hive -e "truncate table test.hello"` |
| postShell || `list` || 写入数据后执行的shell命令,比如 `hive -e "select count(1) from test.hello"` |
| 配置项 | 是否必须 | 数据类型 | 默认值 | 说明 |
|:-----------------------| :------: |-------------| ------- |------------------------------------------------------------------------------|
| path || string || 要读取的文件路径 |
| defaultFS || string || 详述见下 |
| fileType || string || 文件的类型,详述见下 |
| fileName || string || 要写入的文件名,用于当作前缀 |
| column || `list<map>` || 写入的字段列表 |
| writeMode || string || 写入模式,详述见下 |
| skipTrash || boolean | false | 是否跳过垃圾回收站,和 `writeMode` 配置相关详见下面描述 |
| fieldDelimiter || string | `,` | 文本文件的字段分隔符,二进制文件不需要指定该项 |
| encoding || string | `utf-8` | 文件的编码配置, 目前仅支持 `utf-8` |
| nullFormat || string || 定义表示为空的字符,例如如果用户配置: `"\\N"` ,那么如果源头数据是 `"\N"` ,视作 `null` 字段 |
| haveKerberos || boolean | false | 是否启用 Kerberos 认证,如果启用,则需要同时配置以下两项 |
| kerberosKeytabFilePath || string || 用于 Kerberos 认证的凭证文件路径, 比如 `/your/path/addax.service.keytab` |
| kerberosPrincipal || string || 用于 Kerberos 认证的凭证主体, 比如 `addax/[email protected]` |
| compress || string || 文件的压缩格式,详见下文 |
| hadoopConfig || map || 里可以配置与 Hadoop 相关的一些高级参数,比如HA的配置 |
| preShell || `list` || 写入数据前执行的shell命令,比如 `hive -e "truncate table test.hello"` |
| postShell || `list` || 写入数据后执行的shell命令,比如 `hive -e "select count(1) from test.hello"` |
| ignoreError || boolean | false | 是否忽略`preShell`, `postShell` 命令的错误 |

### path

Expand Down Expand Up @@ -130,6 +131,11 @@ Hadoop hdfs 文件系统 namenode 节点地址。格式:`hdfs://ip:port` ;
引入 `preShell``postShell` 的目的是为了在写入数据前后执行一些额外的操作,比如在写入数据前清空表,写入数据后查询表的行数等。一个典型的生产环境场景时,采集的数据按日分区保存在 HDFS 上,
采集之前需要创建分区,这样就可以通过配置 `preShell` 来实现,比如 `hive -e "alter table test.hello add partition(dt='${logdate}')"`

### ignoreError

该配置项用于控制是否忽略 `preShell``postShell` 命令的错误,如果配置为 `true`,则在执行 `preShell``postShell` 命令时,如果命令执行失败,不会导致任务失败,而是会打印错误日志,继续执行任务。
否则,如果配置为 `false`,则在执行 `preShell``postShell` 命令时,如果命令执行失败,会导致任务失败。

## 类型转换

| Addax 内部类型 | HIVE 数据类型 |
Expand Down

0 comments on commit 3e1e210

Please sign in to comment.