跳到主要内容

创建数据帧

数据帧是一种柱状数据结构,可以高效查询大量数据。由于数据帧是为 Grafana 开发数据源和其他插件时的核心概念,在本指南中,我们将了解如何使用它们。

DataFrame 接口包含一个 name 和一个 fields 数组,其中每个字段都包含字段的名称、类型和值。

注意

如果您想迁移现有插件以使用数据帧格式,请参阅迁移到数据帧

创建数据帧

如果您构建数据源插件,那么您很可能希望将来自外部 API 的响应转换为数据帧。让我们看看如何做到这一点。

让我们从创建一个表示时间序列的简单数据帧开始。创建数据帧的最简单方法是使用 toDataFrame 函数。

// Need to be of the same length.
const timeValues = [1599471973065, 1599471975729];
const numberValues = [12.3, 28.6];

// Create data frame from values.
const frame = toDataFrame({
name: 'http_requests_total',
fields: [
{ name: 'Time', type: FieldType.time, values: timeValues },
{ name: 'Value', type: FieldType.number, values: numberValues },
],
});
注意

表示时间序列的数据帧至少包含一个 time 字段和一个 number 字段。按照惯例,内置插件使用 TimeValue 作为包含时间序列数据的数据帧的字段名称。

正如您从示例中看到的,要创建这样的数据帧,您的数据必须已经存储为柱状数据。如果您已经拥有对象数组形式的记录,则可以将其传递给 toDataFrame。在这种情况下,toDataFrame 会尝试根据数组中对象的类型和名称来猜测模式。要以这种方式创建复杂的数据帧,请务必验证您是否获得了期望的模式。

const series = [
{ Time: 1599471973065, Value: 12.3 },
{ Time: 1599471975729, Value: 28.6 },
];

const frame = toDataFrame(series);
frame.name = 'http_requests_total';

另请参阅