comprehensive-test

command
v0.10.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 29, 2025 License: Apache-2.0 Imports: 7 Imported by: 0

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个测试场景,每个场景都会输出相应的结果:

  1. 基础过滤测试:显示温度大于25度的设备告警
  2. 聚合分析测试:显示每个设备的温度统计信息
  3. 滑动窗口测试:显示滑动窗口内的温度分析
  4. 嵌套字段测试:显示复杂数据结构的字段提取
  5. 自定义函数测试:显示自定义函数的计算结果
  6. 复杂查询测试:显示综合功能的查询结果

测试数据

  • 传感器数据:包含设备ID、温度、湿度等信息
  • 嵌套结构:设备信息、位置信息、传感器数据的多层嵌套
  • 随机数据:使用随机数生成模拟真实的传感器数据流

自定义函数说明

square(x)
  • 功能:计算数值的平方
  • 参数:数值
  • 返回:平方值
f_to_c(fahrenheit)
  • 功能:华氏度转摄氏度
  • 参数:华氏度温度值
  • 返回:摄氏度温度值
  • 公式:(F - 32) × 5/9
circle_area(radius)
  • 功能:计算圆的面积
  • 参数:半径
  • 返回:圆的面积
  • 公式:π × r²

注意事项

  1. 窗口触发:聚合查询需要等待窗口时间到达或手动触发
  2. 数据格式:确保输入数据格式正确,特别是嵌套字段的结构
  3. 函数注册:自定义函数需要在使用前注册
  4. 资源清理:使用defer确保StreamSQL实例正确关闭

扩展建议

  • 可以添加更多的自定义函数
  • 可以测试更复杂的窗口配置
  • 可以添加错误处理和异常数据测试
  • 可以集成性能测试和压力测试

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL