文档文档

Parquet 输出插件

此插件将指标写入parquet 文件。默认情况下,指标按度量名称分组并写入同一文件。

如果指标模式与文件中的模式不匹配,该指标将被丢弃。

要了解有关 parquet 格式的更多信息,请查看parquet 文档以及一篇关于查询 parquet 的博文。

引入于: Telegraf v1.32.0 标签: datastore 操作系统支持: all

全局配置选项

插件支持其他全局和插件配置设置,用于修改指标、标签和字段,创建别名以及配置插件顺序等任务。更多详情请参阅 CONFIGURATION.md

配置

# A plugin that writes metrics to parquet files
[[outputs.parquet]]
  ## Directory to write parquet files in. If a file already exists the output
  ## will attempt to continue using the existing file.
  # directory = "."

  ## Files are rotated after the time interval specified. When set to 0 no time
  ## based rotation is performed.
  # rotation_interval = "0h"

  ## Timestamp field name
  ## Field name to use to store the timestamp. If set to an empty string, then
  ## the timestamp is omitted.
  # timestamp_field_name = "timestamp"

构建 Parquet 文件

架构

Parquet 文件在写入文件时需要一个 schema。为了生成 schema,Telegraf 将遍历所有分组的指标,并基于所有字段和标签的联合生成一个 Apache Arrow schema。如果字段和标签具有相同的名称,则字段具有优先权。

schema 生成的结果是,第一次看到某个指标的刷新序列会花费更长的时间,因为需要额外循环遍历指标来生成 schema。后续的刷新间隔会明显更快。

写入文件时,schema 用于查找每个值,如果值不存在,则添加 null 值。其结果是,如果第一个指标刷新后存在附加字段,则这些字段将被忽略。

写入

该插件使用了缓冲写入器。这可能会将一些指标缓冲到内存中,然后再写入磁盘。使用此方法是因为它可以更紧凑地将多个刷新指标写入单个 Parquet 行组。

此外,Parquet 格式需要一个正确的页脚,因此必须在文件上调用 close() 以确保其格式正确。

关闭

Parquet 文件必须正确关闭,否则文件将无法读取。Parquet 格式在文件末尾需要一个页脚,如果页脚不存在,则无法正确读取文件。

如果在写入 Parquet 文件时 Telegraf 发生崩溃,则有可能会出现这种情况。

文件轮转

如果启动时存在同名目标文件,则现有文件将被轮转以避免覆盖或 schema 冲突。

文件轮转可通过用户可选设置的时间间隔实现。由于使用了缓冲写入器,因此无法进行基于大小的轮转,因为文件在每个间隔可能不会实际获得数据。

探索 Parquet 文件

如果用户希望快速探索 Parquet 文件中的 schema 或数据,则可以考虑以下选项:

CLI

Arrow 存储库包含一个 Go CLI 工具,用于读取和解析 Parquet 文件。

go install github.com/apache/arrow-go/v18/parquet/cmd/parquet_reader@latest
parquet_reader <file>

Python

用户还可以使用 pyarrow 库快速打开和探索 Parquet 文件。

import pyarrow.parquet as pq

table = pq.read_table('example.parquet')

创建后,用户可以查看各种 pyarrow.Table 函数以进一步探索数据。


此页面是否有帮助?

感谢您的反馈!


InfluxDB 3.8 新特性

InfluxDB 3.8 和 InfluxDB 3 Explorer 1.6 的主要增强功能。

查看博客文章

InfluxDB 3.8 现已适用于 Core 和 Enterprise 版本,同时发布了 InfluxDB 3 Explorer UI 的 1.6 版本。本次发布着重于操作成熟度,以及如何更轻松地部署、管理和可靠地运行 InfluxDB。

更多信息,请查看

InfluxDB Docker 的 latest 标签将指向 InfluxDB 3 Core

在 **2026 年 2 月 3 日**,InfluxDB Docker 镜像的 latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。

如果使用 Docker 来安装和运行 InfluxDB,latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。例如,如果使用 Docker 运行 InfluxDB v2,请将 latest 版本标签替换为 Docker pull 命令中的特定版本标签 — 例如

docker pull influxdb:2