Fluent Bit 中文文档
  • Fluent Bit 中文文档
  • 关于
    • Fluent Bit 是什么?
    • Fluent Bit 简要历史
    • Fluentd & Fluent Bit
    • 协议
  • 概念
    • 核心概念
    • 缓冲
    • 数据管道
      • 输入
      • 解析器
      • 过滤器
      • 缓冲
      • 路由
      • 输出
  • 安装
    • 升级说明
    • 平台支持
    • 依赖
    • 源码安装
      • 下载源码
      • 构建和安装
      • 以静态配置构建
    • Linux 软件包
      • Amazon Linux
      • Redhat / CentOS
      • Debian
      • Ubuntu
      • 树莓派
    • Docker
    • Kubernetes
    • Windows
  • 管理
    • 配置 Fluent Bit
      • 格式与模式
      • 配置文件
      • 变量
      • 命令
      • 上游服务负载均衡
      • 单位
    • 安全性
    • 缓冲与存储
    • 积压
    • 调度与重试
    • 内存管理
    • 监控
    • 内部状态导出/信号
  • 数据管道
    • 输入插件
      • Dummy
      • Memory Metics
      • Standard Input
      • Systemd
      • tail
    • 解析器
      • JSON
      • Regular Expression
      • LTSV
      • Logfmt
    • 过滤器
      • Grep
      • Kubernetes
      • Rewrite Tag
      • Modify
      • Nest
    • 输出插件
      • Counter
      • Elasticsearch
      • File
      • FlowCounter
      • HTTP
      • Kafka
      • NULL
      • PostgreSQL
      • Standard Output
      • TCP & TLS
  • 流处理
    • 简介
    • 总览
    • 快速开始
      • Fluent Bit + SQL
      • Check Keys and NULL values
      • Hands On! 101
  • FLUENT BIT FOR DEVELOPERS
    • C Library API
    • 手动提取记录
    • Golang 输出插件
Powered by GitBook
On this page
  • Check if a key value IS NULL
  • Check if a key value IS NOT NULL
  • Check if a key exists

Was this helpful?

  1. 流处理
  2. 快速开始

Check Keys and NULL values

PreviousFluent Bit + SQLNextHands On! 101

Last updated 4 years ago

Was this helpful?

Fluent Bit >= 1.2 可用功能

当使用结构化消息(记录)时,在某些情况下,我们想知道某个键是否存在,它的值是 null (空)还是具有非 null (非空)的值。

内部记录是带有键值映射的序列化二进制数据。其值可以为空,这是有效的数据类型。在我们的 SQL 语言中,我们提供了以下可作为条件语句的语句:

Check if a key value IS NULL

以下 SQL 语句可用于从 test 数据流查找 phone 键值为 null 的所有记录:

SELECT * FROM STREAM:test WHERE phone IS NULL;

Check if a key value IS NOT NULL

与上面的示例类似,在某些情况下,我们希望查找所有某些键的值不为 null 的记录:

SELECT * FROM STREAM:test WHERE phone IS NOT NULL;

Check if a key exists

另一个常见用例是检查记录中是否存在某些键。我们提供了可以在 SQL 语句的条件部分中使用特定的记录函数。用于检查记录中是否存在键的函数原型如下:

@record.contains(key)

下面的示例查询包含 phone 的键的所有记录:

SELECT * FROM STREAM:test WHERE @record.contains(phone);
Fluent Bit