本文介绍编写SQL分析语句的操作流程。
前提条件
已创建SQL分析任务:您需在SQL数据分析工作台,根据业务需求,编写SQL分析语句。
背景信息
下列类型的数据存储表可作为SQL分析的查询对象,您可通过SQL分析语句来处理对应表的数据。
平台系统表:更多信息,请参见查看平台系统表。
产品存储表:作为查询对象前,需备份数据源。否则,仅可查询30天内的数据。
自定义存储表:作为查询对象前,自定义存储表需已成为数据解析的目标节点,或其他SQL分析任务的输出的存储表。更多信息,请参见创建和管理自定义存储表和数据解析。
注意事项
输出字段仅支持以字母或美元符号($)为首,且仅包含英文字母、数字、美元符号($)和下划线(_)。长度不超过60个字符。
如果原始字段不满足以上条件,需为其定义别名。
系统字段和系统函数不可作为输出字段。
类型
不支持的字段
系统字段名
id
、gmt_create
、gmt_modified
、creator
、modifier
、is_deleted
、append_column_name
、append_column_value
、append_column_concat
、scope_id
、__closure_context__
。系统函数
COUNT
、DATE_FORMAT
、AVG
、MAX
、MIN
、SUM
。如果查询对象的表中存在系统保留字段,且需查询该字段的值,输出字段需使用您指定的新别名。
例如,查询设备表
${system.device}
中字段gmt_create的值时,将其输出字段指定为gmt_create_alias,SQL语句如下:select gmt_create as gmt_create_alias from ${system.device}
如果输出字段的数据类型不支持查询对象字段的数据类型,需转换数据类型。
例如,设备表
${system.device}
中字段gmt_create的数据类型为DATE,而输出字段的数据类型不支持该类型,需转换为BIGINT,SQL语句如下:select CAST(EXTRACT(EPOCH FROM gmt_create) * 1000 AS BIGINT) as gmt_create_alias from ${system.device}
如果SQL任务中需要获取调度任务的当前时间,直接使用
${bizDate}
替换current_timestamp()
。${bizDate}
:SQL任务的调度时间点,实际执行任务时会被动态替换。格式为13位的毫秒级时间戳,例如1699286400000。取值范围是SQL任务调度策略生效日期内的时间。current_timestamp()
:当前TIMESTAMP类型的时间戳。
使用
${bizDate}
的原因:对于当前调度任务,根据当前调度时间
${bizDate}
和current_timestamp()
都可正常调度产出数据。对于回刷周期任务,需要根据历史的调度时间点
${bizDate}
产出数据。此时,如果使用current_timestamp()
仍然是按照当前时间产出数据,无法回刷产出历史时间的数据。
SQL分析任务支持的函数说明,请参见函数概述。
操作步骤
在分析洞察页面,找到已创建的SQL分析任务,然后单击右侧操作列的开发工作台,进入SQL数据服务工作台页面。
SQL数据服务工作台的详细说明,请参见步骤一:创建SQL分析任务。
在SQL数据服务工作台左侧,选择要查询的数据对象。
重要SQL分析任务支持将数据存储表作为查询对象,更多信息,请参见离线数据存储。
您可以执行以下操作:
双击表名,快速生成查询语句。
将鼠标移动至要查询的表名处后:
单击复制,然后在SQL语句编写区域,粘贴表名,用于SQL语句的编写。
单击详情,查看对应存储表的数据结构,或预览存储表最近20条数据。
在SQL语句编辑区域,根据业务需要,编写SQL分析语句。
重要如果SQL分析任务存储数据到自定义的时序表中,每条数据写入都必须包含时间戳字段ts,否则数据写入时序表会失败。如果写入失败,您可通过任务运维页面查看SQL分析任务的运行日志。具体操作,请参见运维SQL分析任务。
您可单击工作台顶部的智能助手,通过SQL模板快速生成SQL分析语句,进行数据分析。
您可在SQL模板页签,根据数据分析需求,选择目标函数。
函数的使用说明,请参见SQL支持的函数。
等待系统生成对应的SQL分析语句后,单击立即使用或复制SQL语句到SQL语句编辑区域。
在SQL语句编辑区域,修改查询对象等相关参数,即可完成SQL分析语句的编写。
可选:单击编辑区域上方的验证SQL图标,校验编写的SQ分析L语句的语法。
确认SQL分析语句无误后,单击编辑区域上方的运行图标。
如果运行成功,可在编辑区域下方的运行日志、结果页签下,分别查看运行SQL分析语句的日志,及不同图表样式的结果。
您也可单击导出数据,下载当前运行结果的CSV文件。
如果运行失败,可在运行日志页签下,根据报错信息,解决问题后,重新运行。