JsonRecordSetWriter
JsonRecordSetWriter (JSON 레코드 셋 라이터)
RecordSet의 결과를 JSON 배열 또는 한 줄에 JSON 객체 하나로 작성하는 RecordSetWriter예요.
출처: 문서
본문
설명
RecordSet의 결과를 JSON 배열 또는 한 줄에 JSON 객체 하나로 작성해요. Array 출력을 사용하면 RecordSet이 단일 행으로 구성돼도 단일 요소를 가진 배열로 작성돼요. One Line Per Object 출력을 사용하면 JSON 객체를 예쁘게 출력(pretty-print)할 수 없어요.
태그
json, record, recordset, resultset, row, serialize, writer
속성 (Properties)
아래 목록에서 필수 속성은 별표(*)로 표시했어요. 그 외 속성은 선택 사항이고, 표에는 기본값과 NiFi Expression Language 지원 여부도 함께 나와 있어요.
| 표시 이름 | API 이름 | 기본값 | 허용 값 | 설명 |
|---|---|---|---|---|
| Allow Scientific Notation * | Allow Scientific Notation | false |
true false |
숫자를 쓸 때 과학적 표기법(scientific notation)을 사용할지 여부를 지정해요. |
| Date Format | Date Format | Date 필드를 읽고 쓸 때 사용할 형식을 지정해요. 지정하지 않으면 Date 필드는 epoch 이후 밀리초 수로 간주돼요. 지정하면 Java java.time.format.DateTimeFormatter 형식과 일치해야 해요(예: MM/dd/yyyy, 예: 01/01/2017). |
||
| Pretty Print JSON * | Pretty Print JSON | false |
true false |
JSON을 예쁘게 출력할지 여부를 지정해요. |
| Schema Access Strategy * | Schema Access Strategy | inherit-record-schema |
Inherit Record Schema, 'Schema Name' Property, 'Schema Text' Property | 데이터 해석에 사용할 스키마를 얻는 방법을 지정해요. |
| Schema Branch | Schema Branch | Schema Registry 속성에서 스키마를 조회할 때 사용할 브랜치 이름을 지정해요. 선택한 Schema Registry가 브랜칭을 지원하지 않으면 이 값은 무시돼요. | ||
| Schema Cache | Schema Cache | Record Reader가 스키마를 빠르게 조회할 수 있도록 Record Schema를 추가할 Schema Cache를 지정해요. | ||
| Schema Name | Schema Name | ${schema.name} |
Schema Registry 속성에서 조회할 스키마의 이름을 지정해요. | |
| Schema Reference Reader * | Schema Reference Reader | Schema Reference Identifier를 결정하기 위해 FlowFile 속성 또는 콘텐츠를 읽는 책임이 있는 서비스 구현체예요. | ||
| Schema Reference Writer * | Schema Reference Writer | 스키마 참조 정보로 FlowFile 속성 또는 콘텐츠 헤더를 쓰는 책임이 있는 서비스 구현체예요. | ||
| Schema Registry | Schema Registry | Schema Registry에 사용할 Controller Service를 지정해요. | ||
| Schema Text | Schema Text | ${avro.schema} |
Avro 형식 스키마의 텍스트예요. | |
| Schema Version | Schema Version | Schema Registry에서 조회할 스키마의 버전을 지정해요. 지정하지 않으면 최신 버전을 가져와요. | ||
| Schema Write Strategy * | Schema Write Strategy | no-schema |
Do Not Write Schema, 'schema.name' Attribute, 'avro.schema' Attribute, Schema Reference Writer | 레코드의 스키마를 데이터에 추가할 방법을 지정해요. |
| Time Format | Time Format | Time 필드를 읽고 쓸 때 사용할 형식을 지정해요. 지정하지 않으면 epoch 이후 밀리초 수로 간주돼요. 지정하면 Java java.time.format.DateTimeFormatter 형식과 일치해야 해요(예: HH:mm:ss, 예: 18:04:15). |
||
| Timestamp Format | Timestamp Format | Timestamp 필드를 읽고 쓸 때 사용할 형식을 지정해요. 지정하지 않으면 millisecond since epoch으로 간주돼요. 지정하면 Java java.time.format.DateTimeFormatter 형식과 일치해야 해요(예: MM/dd/yyyy HH:mm:ss, 예: 01/01/2017 18:04:15). |
||
| Compression Format * | compression-format |
none |
none gzip bzip2 xz-lzma2 snappy snappy framed zstd |
사용할 압축 형식이에요. 유효한 값: GZIP, BZIP2, ZSTD, XZ-LZMA2, LZMA, Snappy, Snappy Framed. |
| Compression Level * | compression-level |
1 |
0~9 |
사용할 압축 수준이에요. GZIP 압축을 사용할 때만 유효해요. 값이 낮을수록 처리 속도는 빠르지만 압축률은 낮아져요. 0은 압축 없이 단순 보관만 한다는 뜻이에요. |
| Output Grouping * | output-grouping |
output-array |
Array, One Line Per Object | 라이터가 JSON 레코드를 출력하는 방식을 지정해요(배열 또는 한 줄에 객체 하나 등). 'One Line Per Object'를 선택하면 Pretty Print JSON은 반드시 false여야 해요. |
| Suppress Null Values * | suppress-nulls |
never-suppress |
Never Suppress, Always Suppress, Suppress Missing Values | 라이터가 null 필드를 처리하는 방식을 지정해요. |
상태 관리
이 컴포넌트는 상태를 저장하지 않아요.
제한 사항 (Restricted)
이 컴포넌트는 제한되지 않아요.
시스템 리소스 고려 사항
이 컴포넌트는 시스템 리소스 고려 사항을 지정하지 않아요.