CSVRecordSetWriter

描述

以 CSV 数据的形式写入 RecordSet 的内容。写入的第一行将是列名(除非“包含标题行”属性为 false)。所有后续行都将是与记录字段对应的值。

标签

csv、delimited、record、recordset、result、row、separated、serializer、set、tab、tsv、writer

属性

下表列出了各项属性,其中带星号 (*) 的为必需属性。其他属性视为可选属性。该表还指出了所有默认值以及属性是否支持 NiFi 表达式语言。

显示名称

API 名称

默认值

允许值

描述

CSV 格式 *

CSV 格式

custom

  • 自定义格式

  • RFC 4180

  • Microsoft Excel

  • 制表符分隔

  • MySQL 格式

  • Informix 卸载

  • Informix 卸载转义已禁用

指定 CSV 数据采用的“格式”,或指定是否应使用自定义格式。

注释标记

注释标记

用于表示注释开头的字符。以此注释开头的所有行都将被忽略。

日期格式

日期格式

指定读取/写入“Date”字段时使用的格式。如果未指定,则将假定“Date”字段为自纪元(1970 年 1 月 1 日午夜 GMT)以来的毫秒数。如果指定,则该值必须与 Java java.time.format.DateTimeFormatter 格式相匹配(例如,MM/dd/yyyy 表示两位数的月份,然后是两位数的日期、四位数的年份,全部由“/”字符分隔,如 01/01/2017)。

转义字符 *

转义字符

该字符用于转义那些原本对 CSV 解析器有特定含义的字符。如果通过表达式语言指定了该属性,但表达式在运行时被评估为无效的引用字符,则系统将跳过该属性并使用默认的引用字符。将其设置为空字符串意味着不应使用转义字符。

包含标题行 *

包含标题行

true

  • true

  • false

指定是否应将 CSV 列名写出为第一行。

包含尾部分隔符 *

包含尾部分隔符

false

  • true

  • false

如果为 true,则为写入的每条 CSV 记录添加尾部分隔符。如果为 false,则省略尾部分隔符。

空值字符串

空值字符串

指定一个字符串,如果该字符串作为值存在于 CSV 中,则应将其视为空值字段,而非使用字面量值。

引用字符 *

引用字符

"

该字符用于引用值,这样就不必使用转义字符。如果通过表达式语言指定了该属性,但表达式在运行时被评估为无效的引用字符,则系统将跳过该属性并使用默认的引用字符。

引用模式 *

引用模式

MINIMAL

  • 引用所有值

  • 引用最小值

  • 引用非数字值

  • 不引用值

指定写入字段时应如何引用字段

记录分隔符 *

记录分隔符

n

指定用于分隔 CSV 记录的字符

架构参考写入器 *

架构参考写入器

服务实现,负责使用架构参考信息编写 FlowFile 属性或内容标头

架构写入策略 *

架构写入策略

no-schema

  • 不写入架构

  • 设置“schema.name”属性

  • 设置“avro.schema”属性

  • 架构参考写入器

指定应如何将记录的架构添加到数据中。

时间格式

时间格式

指定读取/写入“Time”字段时使用的格式。如果未指定,则将假定“Time”字段为自纪元(1970 年 1 月 1 日午夜 GMT)以来的毫秒数。如果指定,则该值必须与 Java java.time.format.DateTimeFormatter 格式相匹配(例如,HH:mm:ss 表示 24 小时格式的两位小时数、两位分钟数和两位秒数,全部由“:”字符分隔,如 18:04:15)。

时间戳格式

时间戳格式

指定读取/写入“Timestamp”字段时使用的格式。如果未指定,则将假定“Timestamp”字段为自纪元(1970 年 1 月 1 日午夜 GMT)以来的毫秒数。如果指定,则该值必须与 Java java.time.format.DateTimeFormatter 格式相匹配(例如,MM/dd/yyyy HH:mm:ss 表示两位数的月份,然后是两位数的日期、四位数的年份,全部由“/”字符分隔;然后依次是 24 小时格式的两位小时数、两位分钟数和两位秒数,全部由“:”字符分隔,如 01/01/2017 18:04:15)。

修剪字段 *

修剪字段

true

  • true

  • false

是否应从字段的开头和末尾移除空格

值分隔符 *

值分隔符

,

该字符用于分隔 CSV 记录中的值/字段。如果通过表达式语言指定了该属性,但表达式在运行时被评估为无效的值分隔符,则系统将跳过该属性并使用默认的值分隔符。

CSV 写入器 *

csv-writer

commons-csv

  • Apache Commons CSV

  • FastCSV

指定用于写入 CSV 记录的写入器实施。NOTE:不同的写入器可能支持不同的功能子集,也可能表现出不同的性能级别。

字符集 *

csvutils-character-set

UTF-8

用于对 CSV 文件进行编码/解码的字符编码

架构访问策略 *

schema-access-strategy

inherit-record-schema

  • 继承记录架构

  • 使用“架构名称”属性

  • 使用“架构文本”属性

指定如何获取用于解读数据的架构。

架构分支

schema-branch

指定在“架构注册表”属性中查找架构时使用的分支名称。如果所选架构注册表不支持分支,则该值将被忽略。

架构缓存

schema-cache

指定要向其中添加记录架构的架构缓存,以便记录读取器可以快速查找架构。

架构名称

schema-name

${schema.name}

指定要在架构注册表属性中查找的架构的名称。

架构参考读取器 *

schema-reference-reader

服务实现,负责读取 FlowFile 属性或内容以确定架构参考标识符

架构注册表

schema-registry

指定用于架构注册表的控制器服务

架构文本

schema-text

${avro.schema}

Avro 格式架构的文本

架构版本

schema-version

指定要在架构注册表中查找的架构版本。如果未指定,则将检索架构的最新版本。

状态管理

此组件不存储状态。

受限

此组件不受限制。

系统资源注意事项

此组件未指定系统资源注意事项。

语言: 中文