mirror of
https://gitee.com/rulego/streamsql.git
synced 2026-05-14 14:34:57 +00:00
123 lines
2.8 KiB
Markdown
123 lines
2.8 KiB
Markdown
# StreamSQL 非聚合场景使用示例
|
||
|
||
本示例展示了StreamSQL在非聚合场景中的各种应用,包括实时数据转换、过滤、清洗等功能。
|
||
|
||
## 运行示例
|
||
|
||
```bash
|
||
cd examples/non-aggregation
|
||
go run main.go
|
||
```
|
||
|
||
## 场景说明
|
||
|
||
### 1. 实时数据清洗和标准化
|
||
|
||
**场景描述**: 对输入的脏数据进行清洗和标准化处理,包括:
|
||
- 空值处理(COALESCE)
|
||
- 字符串规范化(UPPER, TRIM)
|
||
- 数值精度处理(ROUND)
|
||
- 状态码转换(CASE WHEN)
|
||
- 无效数据过滤(WHERE条件)
|
||
|
||
**适用场景**:
|
||
- IoT设备数据清洗
|
||
- 日志标准化处理
|
||
- 数据质量保证
|
||
|
||
### 2. 数据富化和计算字段
|
||
|
||
**场景描述**: 基于原始数据计算和添加新字段,包括:
|
||
- 单位转换(摄氏度转华氏度)
|
||
- 分类标签生成(温度分级)
|
||
- 字符串拼接(全标识符)
|
||
- 时间戳添加
|
||
- 比率计算
|
||
|
||
**适用场景**:
|
||
- 数据预处理
|
||
- 业务规则应用
|
||
- 指标计算
|
||
|
||
### 3. 实时告警和事件过滤
|
||
|
||
**场景描述**: 实时检测异常数据并生成告警事件,包括:
|
||
- 阈值检测
|
||
- 告警级别分类
|
||
- 告警消息生成
|
||
- 时间戳记录
|
||
|
||
**适用场景**:
|
||
- 监控系统
|
||
- 异常检测
|
||
- 实时告警
|
||
|
||
### 4. 数据格式转换
|
||
|
||
**场景描述**: 将数据转换为不同的格式,包括:
|
||
- JSON格式输出
|
||
- CSV格式输出
|
||
- 自定义格式转换
|
||
|
||
**适用场景**:
|
||
- 数据接口适配
|
||
- 多系统集成
|
||
- 数据导出
|
||
|
||
### 5. 基于条件的数据路由
|
||
|
||
**场景描述**: 根据数据内容决定数据的路由目标,包括:
|
||
- 条件路由规则
|
||
- 优先级分类
|
||
- 主题分发
|
||
|
||
**适用场景**:
|
||
- 消息队列路由
|
||
- 数据分发
|
||
- 负载均衡
|
||
|
||
### 6. 嵌套字段处理
|
||
|
||
**场景描述**: 处理复杂的嵌套JSON数据,包括:
|
||
- 深层字段提取
|
||
- 嵌套字段组合
|
||
- 条件判断
|
||
|
||
**适用场景**:
|
||
- JSON数据处理
|
||
- 复杂数据结构解析
|
||
- API数据转换
|
||
|
||
## 核心特性
|
||
|
||
### 实时处理
|
||
- 每条数据立即处理,无需等待窗口
|
||
- 超低延迟,适合实时场景
|
||
- 支持高吞吐量数据流
|
||
|
||
### 丰富的函数支持
|
||
- 字符串处理:UPPER, LOWER, TRIM, CONCAT, SUBSTRING等
|
||
- 数学计算:ROUND, CAST, 算术运算等
|
||
- 条件判断:CASE WHEN, COALESCE, IF等
|
||
- 时间函数:NOW, DATE_FORMAT等
|
||
- 类型转换:CAST, TO_JSON等
|
||
|
||
### 灵活的字段操作
|
||
- 字段选择和别名
|
||
- 嵌套字段访问(点号语法)
|
||
- 计算字段生成
|
||
- 表达式计算
|
||
|
||
### 强大的过滤能力
|
||
- WHERE条件过滤
|
||
- 复杂表达式支持
|
||
- 多条件组合(AND, OR)
|
||
- 模式匹配(LIKE 语法)
|
||
|
||
## 性能特点
|
||
|
||
- **低延迟**: 每条数据立即处理输出
|
||
- **高吞吐**: 支持高频数据流
|
||
- **内存友好**: 无需缓存数据,即时处理
|
||
- **CPU高效**: 简单的数据转换操作
|