跳转到内容
Telemetry
可重现的 SQL 查询示例

如何测试每个 Telemetry SQL 查询示例

该手册将机器可检查的 SQL 兼容性与人类可审查的解释分开。该边界使每个示例都很有用,而无需假装合成数据可以验证您的业务规则。

审阅者 Telemetry产品团队 . 测试工具、夹具合同、引擎版本和审查边界. 审查标准和所有权

当前测试目标

阿帕奇 DataFusion 45.2.0

81

套件中的查询

0

允许写入语句

自动化质量门

菜谱发布前的五次检查

1

完整的查询示例合同

审计需要问题、事件架构、SQL、示例结果、可视化、解释、边缘案例、仪表板指南、警报指南和相关阅读。

2

只读声明策略

查询必须以 SELECT 或WITH 开头。审计拒绝DDL并写入CREATE、INSERT、UPDATE、DELETE、DROP、ALTER和MERGE等关键字。

3

输入 DataFusion 执行

Each schema becomes an empty Apache Arrow record batch. The query is planned and executed with Apache DataFusion 45.2.0, catching invalid columns, types, functions, and syntax.

4

可重现的浏览器装置

30 cross-category recipes also execute their complete synthetic input with DuckDB 1.3.2 and compare every expected result value within displayed precision.

5

渲染页面完整性

站点审核呈现每个菜谱并检查其状态、规范 URL、标题、描述、H1、结构化数据和内部链接。

执行检查证明了什么

审核根据查询示例页面上显示的字段名称和箭头类型构建每个记录的表格。它在新的 DataFusion 会话中注册一个空批次,运行确切发布的 SQL,如果引擎拒绝计划或执行,则会失败。这可以捕获拼写错误的字段、不兼容的操作、不支持的函数、不明确的列、格式错误的间隔以及许多返回类型错误,而无需生产数据。

固定版本是故意的。 SQL 引擎不断发展,因此查询不会仅仅因为类似的方言接受它而被标记为兼容。当应用程序升级 DataFusion 时,会在记录的版本更改之前重新运行完整的集合。

安全复制并不安全假设

查询无法知道您对活动帐户、已恢复付款、永久性 Webhook 失败或可接受的延迟的定义。每个查询示例都对这些选择进行了命名,以便审核者可以在仪表板或警报变得权威之前更改它们。

人工审核

还需要判断什么

空类型表证明查询计划并执行;它并不能证明业务定义是正确的。

显示的行和图表是确定性的综合示例。它们显示输出形状和预期解释,而不是基准或客户结果。

阈值、最小交易量、时间窗口、身份规则、货币和终端状态必须适应拥有它们的事件合约。

延迟事件、重复的提供程序交付、不完整的最新存储桶以及架构更改可能会改变实际结果,即使 SQL 有效也是如此。

公共固定装置合同

每个查询示例都会发布一个 JSON 包,其中包含类型化模式、说明性输入行、精确 SQL、确定性预期输出、引擎版本和审阅注释。 CSV 公开相同的显示结果,而静态 SVG 使示例图表可索引和可​​重用。紧凑的输入展示了字段名称和 JSON 类型;它故意不表示为聚合结果的完整生成器。

30 可重现的查询示例更进一步:它们的完整合成行在 浏览器 SQL 游乐场 并根据预期值进行检查。其他紧凑的输入仍然是模式演示,防止微小的教学装置被误认为是统计验证集。

连接的 SQL 实验室 使用单独版本化的合成 SaaS 数据集,以便学习者可以练习联接和多阶段业务定义,而不会混淆课程数据与生产基准。

主要发动机参考

Apache发布权威的SQL语法、函数、类型和升级文档。实时参考可能描述比 Telemetry 固定测试目标更新的版本,因此查询示例页面上的兼容性声明继续命名确切的审核版本。

验证您自己的活动合同中的菜谱

匹配字段名称和类型,发送涵盖成功和失败路径的小型综合夹具,检查中间 CTE,将总计与已知输入进行比较,并在保存的查询旁边记录最终业务定义。