华为云用户手册

  • array函数 将参数构建成数组,参数类型必须相同。 语法:array(expr1,expr ...) 表2 参数说明 参数名称 描述 类型 是否必选 expr 原始数据 String/Integer/Long/Double/Float 是 返回值类型:Array类型 示例:SELECT ARRAY('1','2','3','4','5') 表3 查询分析结果 类型 场景 查询语句 ARRAY('1','2','3','4','5') 返回结果 ["1", "2", "3", "4", "5"]
  • 函数列表 表1 数组函数 函数 描述 array函数 将输入的参数构造成数组,参数类型必须相同。 array_position函数 获取指定元素的下标,下标从1开始。如果指定元素不存在,则返回0。 cardinality函数 计算数组中元素的个数。 mv_length函数 计算数组中元素的个数, 同cardinality。 contains函数 判断数组中是否包含指定元素。如果包含,则返回true。 mv_contains函数 判断数组中是否包含指定元素。如果包含,则返回true,同contains。 mv_prepend函数 将指定的元素添加到数组的开始位置。 mv_append函数 将指定的元素添加到数组的末尾。 mv_slice函数 返回从start到end索引的数组。 mv_to_string函数 通过str指定分隔符连接arr所有元素。 string_to_mv函数 使用指定的分隔符str2将str1拆分为数组 mv_offset函数 返回所提供的基于0的索引处的数组元素,或对于超出范围的索引返回null。 mv_ordinal函数 返回所提供的基于1的索引处的数组元素,或对于超出范围的索引返回null。 mv_offset_of函数 返回数组中第一次出现expr的基于0的索引,如果未出现,则返回-1。 mv_ordinal_of函数 返回数组中第一次出现expr的基于1的索引,如果未出现,则返回-1。
  • url_extract_protocol函数 提取URL中的协议信息。 语法:url_extract_protocol(expr) 表16 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 返回值类型:String类型 示例:SELECT URL_EXTRACT_PROTOCOL('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 表17 查询分析结果 类型 场景 查询语句 URL_EXTRACT_PROTOCOL('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 返回结果 http
  • url_extract_port函数 提取URL中的端口信息。 语法:url_extract_port(expr) 表14 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 返回值类型:String类型 示例:SELECT URL_EXTRACT_PORT('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 表15 查询分析结果 类型 场景 查询语句 URL_EXTRACT_PORT('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 返回结果 8080
  • url_extract_query函数 提取URL中的查询部分的信息。 语法:url_extract_query(expr) 表18 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 返回值类型:String类型 示例:SELECT URL_EXTRACT_QUERY('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 表19 查询分析结果 类型 场景 查询语句 URL_EXTRACT_QUERY('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 返回结果 parameterName=parameterValue
  • url_extract_host函数 提取URL中的host信息。 语法:url_extract_fragment(expr) 表8 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 返回值类型:String类型 示例:SELECT URL_EXTRACT_HOST('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 表9 查询分析结果 类型 场景 查询语句 URL_EXTRACT_HOST('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 返回结果 host
  • url_extract_path函数 提取URL中的path信息。 语法:url_extract_path(expr) 表12 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 返回值类型: String类型 示例:SELECT URL_EXTRACT_PATH('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 表13 查询分析结果 类型 场景 查询语句 URL_EXTRACT_PATH('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 返回结果 /index
  • url_extract_fragment函数 提取URL中的fragment信息。 语法:url_extract_fragment(expr) 表6 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 返回值类型:String类型 示例:SELECT URL_EXTRACT_FRAGMENT('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 表7 查询分析结果 类型 场景 查询语句 URL_EXTRACT_FRAGMENT('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 返回结果 fragment
  • url_decode函数 对URL进行解码。 语法:url_decode(expr) 表4 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 返回值类型:String类型 示例:SELECT URL_DECODE('http%3A%2F%2Fusername%3Apassword%40host%3A8080%2Findex%3FparameterName%3DparameterValue%23fragment') 表5 查询分析结果 类型 场景 查询语句 URL_DECODE('http%3A%2F%2Fusername%3Apassword%40host%3A8080%2Findex%3FparameterName%3DparameterValue%23fragment') 返回结果 http://username:password@host:8080/index?parameterName=parameterValue#fragment
  • url_extract_parameter函数 提取URL中的参数信息。 语法:url_extract_host(expr) 表10 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 paramName 参数名称 String 是 返回值类型:String类型 示例:SELECT URL_EXTRACT_PARAMETER('http://username:password@host:8080/index?parameterName=parameterValue#fragment', 'parameterName') 表11 查询分析结果 类型 场景 查询语句 URL_EXTRACT_PARAMETER('http://username:password@host:8080/index?parameterName=parameterValue#fragment', 'parameterName') 返回结果 parameterValue
  • url_encode函数 对URL进行编码。 语法:url_encode(expr) 表2 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 返回值类型:String类型 示例:SELECT URL_ENCODE('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 表3 查询分析结果 类型 场景 查询语句 URL_ENCODE('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 返回结果 http%3A%2F%2Fusername%3Apassword%40host%3A8080%2Findex%3FparameterName%3DparameterValue%23fragment
  • 函数列表 表1 URL函数 函数 描述 url_encode函数 对URL进行编码。 url_decode函数 对URL进行解码。 url_extract_fragment函数 提取URL中的fragment信息。 url_extract_host函数 提取URL中的host信息。 url_extract_parameter函数 提取URL中的参数信息。 url_extract_path函数 分割目标字符串,返回被分割后的子串合集。 url_extract_port函数 提取URL中的端口信息。 url_extract_protocol函数 提取URL中的协议信息。 url_extract_query函数 提取URL中查询部分的信息。
  • 自定义模板 在“选择模板”下,选择“自定义模板”,选择已有的结构化模板。模板来源有以下两种方式: 在配置正则分析、JSON、分隔符或Nginx方式时单击左下角的“另存为模板”,系统会弹出“另存模板”页面,输入模板名称,单击“确定”,完成自定义模板的保存,会在“自定义模板”下的模板列表看到该模板。 新增结构化模板,具体操作如下: 在“选择模板”下,选择“自定义模板”,单击“新增结构化模板”,在“新增结构化模板”界面选择正则分析、JSON、分隔符或Nginx方式,进行配置,配置完成后输入模板名称,单击“确定”。完成自定义模板的保存,会在“自定义模板”下的模板列表看到该模板。
  • round函数 用于对x进行四舍五入。如果n存在,则保留n位小数;如果n不存在,则对x进行四舍五入取整数。 对x进行四舍五入取整数。 语法:ROUND(x) 对x进行四舍五入且保留n位小数。 语法:ROUND(x, n) 表2 参数说明 参数名称 描述 类型 是否必选 x 原始字段。 number 是 n n位小数(int)。 int 是 返回值类型:Number 示例:select ROUND(3.1415, 1) 表3 查询分析结果 类型 场景 查询语句 ROUND(3.1415, 1) 返回结果 3.1
  • compare函数 用于对比当前时间周期内的计算结果与n秒之前时间周期内的计算结果。 语法:compare(x, n1, n2, n3...) 对比当前时间周期内的计算结果与n1、n2、n3秒之前时间周期内的计算结果。 表2 参数说明 参数名称 描述 类型 是否必选 x 待同比表达式。 double 是 n? 时间窗口,单位为毫秒。例如3600000(1小时)、86400000(1天)、604800000(1周)、31622400000(1年)。 long 是 返回值类型:数组。格式为[当前计算结果, n秒前的计算结果, 当前计算结果与n秒前计算结果的比值]。 示例:select compare(c,1) as diff from (select count(type) as c) as t 表3 查询分析结果 类型 场景 查询语句 compare(c,1) as diff from (select count(type) as c) as t 返回结果 [8,8,1] 8表示当前时间[0,1693533477000]数据总量。 8表示前一秒同时间段[1,1693533477001]数据总量。 1表示当前时间与前一秒同时间段的数据总量比值。
  • ts_compare函数 用于对比当前时间周期内的计算结果与n秒之前时间周期内的计算结果。ts_compare函数必须按照时间列进行分组(GROUP BY)。 语法:ts_compare(x, n1, n2, n3...) 对比当前时间周期内的计算结果与n1、n2、n3秒之前时间周期内的计算结果。 表4 参数说明 参数名称 描述 类型 是否必选 x 待环比表达式。 double 是 n? 时间窗口,单位为毫秒。例如3600000(1小时)、86400000(1天)、604800000(1周)、31622400000(1年)。 long 是 返回值类型:数组。格式为[当前计算结果, n秒前的计算结果, 当前计算结果与n秒前计算结果的比值, n秒前的UNIX时间戳]。 示例:select time,ts_compare(pv,86400000) as diff from (select count(*) as pv,date_histogram(field=time, calendar_interval=day) as time group by time) as t group by time 表5 查询分析结果 类型 场景 查询语句 time,ts_compare(pv,86400000) as diff from (select count(*) as pv,date_histogram(field=time, calendar_interval=day) as time group by time) as t group by time 返回结果 [20,20,1,1698766080000]
  • ntile函数 用于将窗口分区内数据按照顺序分成N组。 语法: ntile(n) over ( [partition by partition_expression] [order by order_expression] ) 表2 参数说明 参数名称 描述 类型 是否必选 n 组数。 int 是 partition by partition_expression 窗口分区,根据分区表达式将数据划分成不同的分区。 任意 是 order by order_expression 窗口排序,根据排序表达式对各个分区内的每一行进行排序。 任意 是 返回值类型:integer 示例:status,host,ntile(5) over (partition by status order by host) as n 表3 查询分析结果 类型 场景 查询语句 status,host,ntile(5) over (partition by status order by host) as n 返回结果
  • regexp_replace函数 删除或替换目标字符串中符合正则表达式的子串。 删除目标字符串中符合正则表达式的子串,返回未被删除的子串。 语法:regexp_replace(expr, regularExpr) 替换目标字符串中符合正则表达式的子串,返回被替换后的字符串。 语法:regexp_replace(expr, regularExpr, replaceStr) 表8 参数说明 参数名称 描述 类型 是否必选 expr 目标字符串 String 是 regularExpr 包含捕获组的正则表达式,(\\d)(\\d)表示两个捕获组 String 是 replaceStr 替换的字符串 String 否 返回值类型:String类型 示例:SELECT REGEXP_REPLACE('ab12cd34', '\\d+'), REGEXP_REPLACE('ab12cd34', '\\d+', '00') 表9 查询分析结果 类型 场景1 场景2 查询语句 REGEXP_REPLACE('ab12cd34', '\\d+') REGEXP_REPLACE('ab12cd34', '\\d+', '00') 返回结果 abcd ab00cd00
  • regexp_split函数 分割目标字符串,返回被分割后的子串合集。 语法:regexp_split(expr, regularExpr) 表10 参数说明 参数名称 描述 类型 是否必选 expr 目标字符串 String 是 regularExpr 包含捕获组的正则表达式,(\\d)(\\d)表示两个捕获组 String 是 返回值类型:Array类型 示例:SELECT REGEXP_SPLIT('request_uri:/request/path-0/file-7','/') 表11 查询分析结果 类型 场景 查询语句 REGEXP_SPLIT('request_uri:/request/path-0/file-7','/') 返回结果 ["request_uri:","request","path-0","file-7"]
  • regexp_extract函数 提取目标字符串中符合正则表达式的子串。 提取并返回目标字符串中符合正则表达式的第一个子串。 语法:regexp_extract(expr, regularExpr) 提取并返回目标字符串中符合正则表达式的第n个子串。 语法:regexp_extract(expr, regularExpr, n) 表2 参数说明 参数名称 描述 类型 是否必选 expr 目标字符串。 String 是 regularExpr 包含捕获组的正则表达式,(\\d)(\\d)表示两个捕获组。 String 是 n 第n个符合正则表达式的子串。 Integer 否 返回值类型:String类型 示例:SELECT REGEXP_EXTRACT('HTTP/2.0', '\\d+') 表3 查询分析结果 类型 场景1 场景2 查询语句 REGEXP_EXTRACT('HTTP/2.0', '\\d+') REGEXP_EXTRACT ('HTTP/2.0', '\\d+', 1) 返回结果 2 2
  • regexp_like函数 判断目标字符串是否符合正则表达式。 语法:regexp_like(expr, regularExpr) 表4 参数说明 参数名称 描述 类型 是否必选 expr 目标字符串 String 是 regularExpr 包含捕获组的正则表达式,(\\d)(\\d)表示两个捕获组 String 是 返回值类型: Boolean类型 示例:SELECT REGEXP_LIKE('HTTP/2.0', '\\d+') 表5 查询分析结果 类型 场景 查询语句 REGEXP_LIKE('HTTP/2.0', '\\d+') 返回结果 true
  • 函数列表 表1 正则式函数 函数 描述 regexp_extract函数 提取目标字符串中符合正则表达式的子串。 regexp_like函数 判断目标字符串是否符合正则表达式。 regexp_extract_all函数 从目标字符串中提取符合正则表达式的子字符串。 regexp_replace函数 删除或替换目标字符串中符合正则表达式的子串。 regexp_split函数 分割目标字符串,返回被分割后的子串合集。
  • regexp_extract_all函数 从目标字符串中提取符合正则表达式的子字符串。 语法:regexp_extract_all(expr, regularExpr) 表6 参数说明 参数名称 描述 类型 是否必选 expr 目标字符串 String 是 regularExpr 包含捕获组的正则表达式,(\\d)(\\d)表示两个捕获组 String 是 返回值类型:Array类型 示例:SELECT REGEXP_EXTRACT_ALL('HTTP/2.0', '\\d+') 表7 查询分析结果 类型 场景 查询语句 REGEXP_EXTRACT_ALL ('HTTP/2.0', '\\d+') 返回结果 ["2","0"]
  • max_by函数 查询y为最大值时对应的x值,或查询最大的n个y值对应的x值。 查询y为最大值时对应的x值。 语法:max_by(x, y) 查询最大的n个y值对应的x值。 语法:max_by(x, y, n) 表8 参数说明 参数名称 描述 类型 是否必选 x 原始字段。 任意 是 y 原始字段。 number 是 n 大于0的整数。 int 否 返回值类型:array 示例:select max_by(host, value) 表9 查询分析结果 类型 场景 查询语句 max_by(host, value) 返回结果 ["h1"]
  • approx_distinct函数 用于估算x中不重复值的个数。 语法:approx_distinct(x) 表2 参数说明 参数名称 描述 类型 是否必选 x 原始字段 任意 是 返回值类型:double类型 示例:select approx_distinct(type) as c group by region 表3 查询分析结果 类型 场景 查询语句 approx_distinct(type) as c group by region 返回结果 1
  • approx_percentile函数 用于对x进行正序排列,返回处于percentage位置的数值。 语法:approx_percentile(x, array[percentage01, percentage02...]) 表4 参数说明 参数名称 描述 类型 是否必选 x 原始字段 double 是 percentage 百分比值,取值范围为[0,1]。 double 是 返回值类型:array(double,...,double) 示例:select approx_percentile(type, 0.99) as c group by region 表5 查询分析结果 类型 场景 查询语句 approx_percentile(type, 0.99) as c group by region 返回结果 [1]
  • 函数列表 表1 聚合函数 函数 描述 approx_distinct函数 用于估算x中不重复值的个数。 approx_percentile函数 用于对x进行正序排列,返回处于percentage位置的数值。 arbitrary函数 用于返回x中任意一个非空的值。 max_by函数 查询y为最大值时对应的x值,或查询最大的n个y值对应的x值。 count函数 用于计数。 max函数 用于查询x中最大的值。 min函数 用于查询x中最小值。 avg函数 用于计算x的算术平均值。
  • cast函数 将值从一种数据类型转换为另一种数据类型,并将数据类型提供给动态参数。 在允许表达式的任何地方都允许使用铸造表达式。 语法:CAST(Expression as Datatype) 要将表达式转换到的数据类型是目标类型。要从中转换的表达式的数据类型是源类型。 表2 参数说明 参数名称 描述 类型 是否必选 expression 源类型的表达式。 任意 是 Datatype 目标类型。 任意 是 下表显示了数据类型的源类型和目标类型之间的有效显式转换。 to/from boolean date string double long int boolean Y Y Y Y Y Y date - Y - Y Y Y string Y Y Y Y Y Y double - Y Y Y Y Y long - Y Y Y Y Y int - Y Y Y Y Y 返回值类型:目标数据类型。 示例:select cast(time as date) 表3 查询分析结果 类型 场景 查询语句 cast(time as date) 返回结果 2023-08-31 23:11:17.000
  • 使用限制 短语搜索不支持搭配模糊搜索。 短语搜索中的星号(*)和问号(?)会被视为普通字符,因此短语搜索不支持搭配模糊搜索,可以用来搜索日志中的星号(*)和问号(?)。 短语搜索不支持对分词符进行搜索。 例如搜索语句#"var/log",其中 / 为分词符,搜索语句等同于#"var log",会搜索包含目标短语var log的日志。同理,搜索语句#"var:log"、#"var;log"等搜索的也是包含目标短语var log的日志。 中文搜索推荐采用短语搜索。 由于中文默认采用的是一元分词,每个汉字单独分词,搜索时会匹配同时包含搜索语句中每一个汉字的日志,本身便具有模糊搜索的特性,当需要更加精确的结果时,推荐采用短语搜索。
  • ip_subnet_min函数 获取IPv4网段中的最小IP地址。 语法:ip_subnet_min (expr) 表12 参数说明 参数名称 描述 类型 是否必选 expr1 IPv4网段 String 是 返回值类型:String类型 示例:SELECT IP_SUBNET_MIN('192.120.80.128/10') 表13 查询分析结果 类型 场景 查询语句 IP_SUBNET_MIN('192.120.80.128/10') 返回结果 192.64.0.1
共100000条