【问题标题】:Azure Stream Analytics grammarAzure 流分析语法
【发布时间】:2022-01-02 16:20:32
【问题描述】:

Azure 流分析查询语言是否存在语法? Like this one

【问题讨论】:

  • 您介意告诉我为什么您需要整个语法吗?我很好奇你在建造什么:)
  • 我必须先解析和验证查询,然后再将其发送执行。我还没有找到任何现成的解决方案(我正在使用无法做到这一点的java lib,而且我在REST documentation 页面上也找不到类似的东西)。所以我决定使用ANTLR 生成解析器,我需要语法。
  • 您是否考虑过对查询进行单元测试以验证它们?我们有一个模块可以做到这一点:docs.microsoft.com/en-us/azure/stream-analytics/…
  • 同一个模块具有编译作业并检查查询docs.microsoft.com/en-us/azure/stream-analytics/…中的语法错误的构建方法@
  • 不,它不适合我,因为我必须即时创建流分析作业,并且我需要有能力参与查询,例如“从别名”和“到别名” ”。但感谢您尝试提供帮助。

标签: parsing grammar azure-stream-analytics


【解决方案1】:

每篇文章in the language doc 都包含其语法。

例如SELECT:

SELECT <select_list>   
<select_list> ::=   
    {   
      *   
      | { input_name |  input_alias }.*   
      | {  
          [ { input_name | input_alias }. ]  
               { column_name }  
     | expression [ [ AS ] column_alias ]  
         }  
      | column_alias = expression   
    } [ ,...n ]

FROM:

FROM <input_source> [<PARTITION BY clause>] [<TIMESTAMP BY clause>]
  
<PARTITION BY clause> ::== PARTITION BY <key_spec>

<TIMESTAMP BY clause> ::== TIMESTAMP BY scalar_expression [OVER <key_spec>]

<input_source> ::=   
    {   
      *   
      | { input_name |  input_alias }.*   
      | {  
          [ { input_name | input_alias }. ]  
               { column_name }  
     | expression [ [ AS ] column_alias ]  
         }  
      | column_alias = expression   
    }

<key_spec> ::== { column_name | expression } [,... n]

但我认为我们没有将其作为单个文档发布。

【讨论】:

    猜你喜欢
    • 2018-05-14
    • 2020-08-31
    • 1970-01-01
    • 2021-05-23
    • 1970-01-01
    • 2019-11-14
    • 2018-11-03
    • 1970-01-01
    相关资源
    最近更新 更多