编解码器处理器组合
在摄取时,由 s3
来源接收的数据可以通过编解码器进行解析。编解码器在通过 OpenSearch Data Prepper 管道处理器摄取大型数据集之前,以特定格式压缩和解压缩这些数据。
虽然大多数编解码器可以与大多数处理器一起使用,但以下编解码器处理器组合在与以下输入类型一起使用时,可以使您的管道更高效。
JSON 数组
JSON 数组用于对不同类型的元素进行排序。由于 JSON 中需要数组,因此数组中包含的数据必须是表格化的。
JSON 数组不需要处理器。
NDJSON
与 JSON 数组不同,NDJSON 允许每行数据由换行符分隔,这意味着数据是按行而不是按数组处理的。
NDJSON 输入类型使用 newline 编解码器进行解析,它将每行解析为单个日志事件。然后,parse_json 处理器将每行作为单个事件输出。
CSV
CSV 数据类型以表格形式输入数据。它可以不使用编解码器或处理器,但确实需要其中之一,例如,只使用 csv
处理器或 csv
编解码器。
当与以下编解码器处理器组合使用时,CSV 输入类型最有效。
csv
编解码器
当 csv
编解码器在没有处理器的情况下使用时,它会自动检测 CSV 中的标头并将其用于索引映射。
newline
编解码器
newline
编解码器将每行解析为单个日志事件。只有在配置了 header_destination
时,编解码器才会检测到标头。然后 csv 处理器将事件输出到列中。从 newline
编解码器在 header_destination
中检测到的标头可以在 csv
处理器中的 column_names_source_key
下使用。
Parquet
Apache Parquet 是一种为 Hadoop 构建的列式存储格式。在不使用编解码器的情况下,它的效率最高。然而,当与 S3 Select 配置时,可以获得积极的结果。
Avro
[Apache Avro] 有助于简化流数据管道。当与 s3
接收器中的 avro
编解码器一起使用时,它的效率最高。
event_json
event_json
输出编解码器将事件数据和元数据转换为 JSON 格式,以发送到接收器,例如 S3 接收器。event_json
输入编解码器读取事件及其元数据,以在 Data Prepper 中创建事件。