JsonRecordSetWriter Controller Service
描述
将 RecordSet 的结果写入 JSON 数组或每行一个 JSON 对象。 如果使用数组输出,那么即使 RecordSet 由一行组成,它也会被写入为具有单个元素的数组。 如果使用每个对象一行输出,则无法漂亮地打印 JSON 对象。
标签
属性
| 名称 | 默认值 | 可选值 | 描述 |
|---|---|---|---|
| Schema Write Strategy | no-schema |
| 指定记录的模式应如何添加到数据中。 |
| Schema Cache | | 控制器服务 API:RecordSchemaCacheServicecn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8 | 指定要添加记录模式的模式缓存,以便记录读取器可以快速查找模式。 |
| Schema Reference Writer | | 控制器服务 API:SchemaReferenceWritercn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8 | 负责使用模式参考信息写入 FlowFile 属性或内容头的服务实现 |
| Schema Access Strategy | inherit-record-schema |
| 指定如何获取用于解释数据的架构。 |
| Schema Registry | | 控制器服务 API:SchemaRegistrycn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8 | 指定用于架构Registry的Controller Service |
| Schema Name | ${schema.name} | 指定要在架构Registry属性中查找的架构名称 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| Schema Version | | 指定在 Schema Registry 中查找 Schema 的版本。如果未指定,则检索 Schema 的最新版本。 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| Schema Branch | | 指定在 Schema Registry 属性中查找 Schema 时使用的分支名称。如果选择的 Schema Registry 不支持分支,则此值将被忽略。 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| Schema Text | ${avro.schema} | Avro 格式的架构文本 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| Schema Reference Reader | | 控制器服务 API:SchemaReferenceReadercn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8 | 服务实现负责读取 FlowFile 属性或内容以确定架构参考标识符 |
| Date Format | | 指定读取/写入日期字段时使用的格式。如果未指定,日期字段将被视为自纪元(1970 年 1 月 1 日午夜 GMT)以来的毫秒数。如果指定,值必须匹配 Java java.time.format.DateTimeFormatter 格式(例如,MM/dd/yyyy 表示两位数字的月份,后跟两位数字的日期,后跟四位数字的年份,全部以 '/' 字符分隔,如 01/01/2017)。 | |
| Time Format | | 指定读取/写入时间字段时使用的格式。如果未指定,时间字段将被视为自纪元(1970 年 1 月 1 日午夜 GMT)以来的毫秒数。如果指定,值必须匹配 Java java.time.format.DateTimeFormatter 格式(例如,HH:mm:ss 表示 24 小时格式的两位数字的小时,后跟两位数字的分钟,后跟两位数字的秒,全部以 ':' 字符分隔,如 18:04:15)。 | |
| Timestamp Format | | 指定读取/写入时间戳字段时使用的格式。如果未指定,时间戳字段将被视为自纪元(1970 年 1 月 1 日午夜 GMT)以来的毫秒数。如果指定,值必须匹配 Java java.time.format.DateTimeFormatter 格式(例如,MM/dd/yyyy HH:mm:ss 表示两位数字的月份,后跟两位数字的日期,后跟四位数字的年份,全部以 '/' 字符分隔;然后后跟 24 小时格式的两位数字的小时,后跟两位数字的分钟,后跟两位数字的秒,全部以 ':' 字符分隔,如 01/01/2017 18:04:15)。 | |
| Pretty Print JSON | false |
| 指定 JSON 是否应该被漂亮地打印 |
| Suppress Null Values | never-suppress |
| 指定编写器应如何处理空字段 |
| Allow Scientific Notation | false |
| 指定在书写数字时是否应使用科学记数法 |
| Output Grouping | output-array |
| 指定 Writer 应如何输出 JSON 记录(如数组或每行一个对象)。请注意,如果选择 'One Line Per Object',则 Pretty Print JSON 必须为 false。 |
| Compression Format | none |
| 要使用的压缩格式。 有效值为:GZIP、BZIP2、ZSTD、XZ-LZMA2、LZMA、Snappy 和 Snappy Framed |
| Compression Level | 1 |
| 要使用的压缩级别;仅在使用 GZIP 压缩时有效。较低的值会产生更快的处理速度但压缩率较低;值为 0 表示不压缩,仅进行归档。 |
| Serialized JSON Input Handling | ENABLED |
| 启用后,Writer 可能会在安全的情况下逐字输出输入 Reader 的原始 JSON 字节,作为吞吐量优化。在这种情况下,时间戳格式、日期格式、时间格式和抑制空值属性可能不会应用于这些记录。禁用时,Writer 会重新序列化每条记录,以确保这些属性得到统一应用。 |
状态管理
该组件不存储状态。
受限 (Restricted)
该组件不受限。
提供的 Service API
RecordSetWriterFactory