跳转到主要内容

创建数据框

数据框 是一种列式数据结构,允许高效地查询大量数据。由于数据框是开发 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 },
],
});
注意

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

如示例所示,要创建这样的数据帧,您的数据必须已经存储为列式数据。如果您已经有以对象数组形式记录的数据,则可以将其传递给 toDataFrame。在这种情况下,toDataFrame 会尝试根据数组中对象的类型和名称猜测模式。要以此方式创建复杂的数据帧,请确保您得到预期的模式。

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

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

另请参阅