Doc文档

使用 notebooks 规范化数据

了解如何创建用于规范化数据的 notebook。数据规范化是修改或清理数据的过程,使其更易于使用。示例包括将数值调整为统一的比例和修改字符串。

请按照以下示例创建一个 notebook,该 notebook 查询 NOAA NDBC 示例数据,将基于度数的风向规范化为基本方位,然后将规范化的数据写入存储桶。

  1. 创建一个新的 notebook.

  2. Build a Query 单元格中

    1. Sample 下的 FROM 列中,选择 NOAA National Buoy Data
    2. 在下一个 FILTER 列中,从下拉列表中选择 _measurement,然后在测量列表中选择 ndbc 测量。
    3. 在下一个 FILTER 列中,从下拉列表中选择 _field,然后在字段列表中选择 wind_dir_degt 字段。
  3. Build a Query 单元格后单击 以添加新单元格,然后选择 Flux Script

  4. 在 Flux 脚本单元格中

    1. 定义一个自定义函数 (cardinalDir()),该函数将数值度数值转换为基本方位 (N、NNE、NE 等)。

    2. 使用 __PREVIOUS_RESULT__ 将上一个 notebook 单元格的输出加载到 Flux 脚本中。

    3. 使用 map() 迭代每个输入行,将字段键更新为 wind_dir_cardinal,并使用自定义 cardinalDir() 函数将 _value 列规范化为基本方位。

    4. 使用 to() 将规范化的数据写回 InfluxDB。指定要写入的现有存储桶或创建一个新的存储桶

      import "array"
      
      cardinalDir = (d) => {
          _cardinal = if d >= 348.7 or d < 11.25 then "N"
          else if d >= 11.25 and d < 33.75 then "NNE"
          else if d >= 33.75 and d < 56.25 then "NE"
          else if d >= 56.25 and d < 78.75 then "ENE"
          else if d >= 78.75 and d < 101.25 then "E"
          else if d >= 101.25 and d < 123.75 then "ESE"
          else if d >= 123.75 and d < 146.25 then "SE"
          else if d >= 146.25 and d < 168.75 then "SSE"
          else if d >= 168.75 and d < 191.25 then "S"
          else if d >= 191.25 and d < 213.75 then "SSW"
          else if d >= 213.75 and d < 236.25 then "SW"
          else if d >= 236.25 and d < 258.75 then "WSW"
          else if d >= 258.75 and d < 281.25 then "W"
          else if d >= 281.25 and d < 303.75 then "WNW"
          else if d >= 303.75 and d < 326.25 then "NW"
          else if d >= 326.25 and d < 348.75 then "NNW"
          else ""
      
          return _cardinal
      }
      
      __PREVIOUS_RESULT__
          |> map(fn: (r) => ({r with
              _field: "wind_dir_cardinal",
              _value: cardinalDir(d: r._value),
          }))
          |> to(bucket: "example-bucket")
      
  5. Flux Script 单元格后单击 以添加新单元格,然后选择 Output to Bucket。从 选择存储桶 下拉列表中选择一个存储桶。

  6. (可选) 单击 并选择 Note 以添加一个包含有关此 notebook 功能的注释的单元格。例如,该单元格可能会说“此 notebook 将十进制度风向值转换为基本方位。”

  7. 单击左上角的 Preview 以验证您的 notebook 运行并预览输出。

  8. 单击 Run 以运行 notebook 并将规范化的数据写入您的存储桶。

持续运行 notebook

要持续运行您的 notebook,请将 notebook 导出为任务

  1. 单击 以添加新单元格,然后选择 Task

  2. 提供以下信息

    • Every: 任务应运行的间隔。
    • Offset: (可选) 在定义的间隔后等待执行任务的时间。这允许任务捕获延迟到达的数据。
  3. 单击 导出为任务


此页内容对您有帮助吗?

感谢您的反馈!


Flux 的未来

Flux 即将进入维护模式。您可以继续像现在一样使用它,而无需对您的代码进行任何更改。

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

快速启动。更快扩展。

获取更新

InfluxDB 3 Core 是一个开源、高速、最新数据引擎,可实时收集和处理数据,并将其持久化到本地磁盘或对象存储。InfluxDB 3 Enterprise 以 Core 的基础为构建,增加了高可用性、读取副本、增强的安全性以及数据压缩功能,从而实现更快的查询和优化的存储。InfluxDB 3 Enterprise 的免费层级可供非商业家庭或业余爱好者使用。

有关更多信息,请查看