command
Version:
v0.10.3
Opens a new window with list of versions in this module.
Published: Aug 29, 2025
License: Apache-2.0
Opens a new window with license information.
Imports: 7
Opens a new window with list of imports.
Imported by: 0
Opens a new window with list of known importers.
README
¶
StreamSQL 综合测试演示
这个示例提供了一个统一的入口来测试和验证StreamSQL的各种功能特性。
功能覆盖
1. 基础数据过滤
- 简单的WHERE条件过滤
- 实时数据流处理
- 结果回调处理
2. 聚合分析
- 滚动窗口聚合(TumblingWindow)
- 多种聚合函数:AVG、COUNT、MAX、MIN
- 按字段分组
3. 滑动窗口
- 滑动窗口分析(SlidingWindow)
- 窗口大小和滑动间隔配置
- 连续数据流处理
4. 嵌套字段访问
- 多层嵌套对象访问
- 复杂数据结构处理
- 嵌套字段条件过滤
5. 自定义函数
- 数学函数(square、circle_area)
- 转换函数(f_to_c)
- 函数注册和使用
6. 复杂查询
- 多种功能组合使用
- 嵌套字段 + 自定义函数 + 聚合
- 复杂业务场景模拟
运行方式
cd examples\comprehensive-test
go run main.go
预期输出
程序会依次执行6个测试场景,每个场景都会输出相应的结果:
- 基础过滤测试:显示温度大于25度的设备告警
- 聚合分析测试:显示每个设备的温度统计信息
- 滑动窗口测试:显示滑动窗口内的温度分析
- 嵌套字段测试:显示复杂数据结构的字段提取
- 自定义函数测试:显示自定义函数的计算结果
- 复杂查询测试:显示综合功能的查询结果
测试数据
- 传感器数据:包含设备ID、温度、湿度等信息
- 嵌套结构:设备信息、位置信息、传感器数据的多层嵌套
- 随机数据:使用随机数生成模拟真实的传感器数据流
自定义函数说明
square(x)
f_to_c(fahrenheit)
- 功能:华氏度转摄氏度
- 参数:华氏度温度值
- 返回:摄氏度温度值
- 公式:(F - 32) × 5/9
circle_area(radius)
- 功能:计算圆的面积
- 参数:半径
- 返回:圆的面积
- 公式:π × r²
注意事项
- 窗口触发:聚合查询需要等待窗口时间到达或手动触发
- 数据格式:确保输入数据格式正确,特别是嵌套字段的结构
- 函数注册:自定义函数需要在使用前注册
- 资源清理:使用defer确保StreamSQL实例正确关闭
扩展建议
- 可以添加更多的自定义函数
- 可以测试更复杂的窗口配置
- 可以添加错误处理和异常数据测试
- 可以集成性能测试和压力测试
Documentation
¶
There is no documentation for this package.
Source Files
¶
Click to show internal directories.
Click to hide internal directories.