CSVRecordSetWriter¶
描述¶
以 CSV 数据的形式写入 RecordSet 的内容。写入的第一行将是列名(除非“包含标题行”属性为 false)。所有后续行都将是与记录字段对应的值。
属性¶
下表列出了各项属性,其中带星号 (*) 的为必需属性。其他属性视为可选属性。该表还指出了所有默认值以及属性是否支持 NiFi 表达式语言。
显示名称 |
API 名称 |
默认值 |
允许值 |
描述 |
---|---|---|---|---|
CSV 格式 * |
CSV 格式 |
custom |
|
指定 CSV 数据采用的“格式”,或指定是否应使用自定义格式。 |
注释标记 |
注释标记 |
用于表示注释开头的字符。以此注释开头的所有行都将被忽略。 |
||
日期格式 |
日期格式 |
指定读取/写入“Date”字段时使用的格式。如果未指定,则将假定“Date”字段为自纪元(1970 年 1 月 1 日午夜 GMT)以来的毫秒数。如果指定,则该值必须与 Java java.time.format.DateTimeFormatter 格式相匹配(例如,MM/dd/yyyy 表示两位数的月份,然后是两位数的日期、四位数的年份,全部由“/”字符分隔,如 01/01/2017)。 |
||
转义字符 * |
转义字符 |
该字符用于转义那些原本对 CSV 解析器有特定含义的字符。如果通过表达式语言指定了该属性,但表达式在运行时被评估为无效的引用字符,则系统将跳过该属性并使用默认的引用字符。将其设置为空字符串意味着不应使用转义字符。 |
||
包含标题行 * |
包含标题行 |
true |
|
指定是否应将 CSV 列名写出为第一行。 |
包含尾部分隔符 * |
包含尾部分隔符 |
false |
|
如果为 true,则为写入的每条 CSV 记录添加尾部分隔符。如果为 false,则省略尾部分隔符。 |
空值字符串 |
空值字符串 |
指定一个字符串,如果该字符串作为值存在于 CSV 中,则应将其视为空值字段,而非使用字面量值。 |
||
引用字符 * |
引用字符 |
" |
该字符用于引用值,这样就不必使用转义字符。如果通过表达式语言指定了该属性,但表达式在运行时被评估为无效的引用字符,则系统将跳过该属性并使用默认的引用字符。 |
|
引用模式 * |
引用模式 |
MINIMAL |
|
指定写入字段时应如何引用字段 |
记录分隔符 * |
记录分隔符 |
n |
指定用于分隔 CSV 记录的字符 |
|
架构参考写入器 * |
架构参考写入器 |
服务实现,负责使用架构参考信息编写 FlowFile 属性或内容标头 |
||
架构写入策略 * |
架构写入策略 |
no-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 |
|
是否应从字段的开头和末尾移除空格 |
值分隔符 * |
值分隔符 |
, |
该字符用于分隔 CSV 记录中的值/字段。如果通过表达式语言指定了该属性,但表达式在运行时被评估为无效的值分隔符,则系统将跳过该属性并使用默认的值分隔符。 |
|
CSV 写入器 * |
csv-writer |
commons-csv |
|
指定用于写入 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 |
指定要在架构注册表中查找的架构版本。如果未指定,则将检索架构的最新版本。 |
状态管理¶
此组件不存储状态。
受限¶
此组件不受限制。
系统资源注意事项¶
此组件未指定系统资源注意事项。