详情页标题前

阿里云日志服务SLSUNNEST子句-云淘科技

详情页1

在复杂的业务场景下,日志字段的值可能为数组(array)、对象(map)等类型。对这种特殊类型的日志字段进行查询和分析时,您可以先使用UNNEST子句将字段值展开。

语法

  • 将array类型的数据展开为多行单列形式,列名为column_name
    UNNEST(x) AS table_alias(column_name)
  • 将map类型的数据展开为多行多列形式,列名为key_namevalue_name
    UNNEST(y) AS table(key_name,value_name)


注意 UNNEST子句处理的是array或者map类型的数据。如果您输入的数据为字符串类型,则需要先转化为JSON类型,然后再转化为array类型或map类型,转化方法为try_cast(json_parse(array_column) as array(bigint))。更多信息,请参见类型转换函数。

参数说明

参数 说明
x 数据类型为array类型。
column_name 将array类型的数据展开后,指定一个列名。该列用于存放array中的元素。
y 数据类型为map类型。
key_name 将map类型的数据展开后,指定一个列名。该列用于存放map中的键。
value_name 将map类型的数据展开后,指定一个列名。该列用于存放map中的键值。

示例

示例1

将number字段的值(array类型)展开为多行单列形式。

  • 字段样例
    number:[49, 50, 45, 47, 50]
  • 查询和分析语句
    * |
    SELECT
      a
    FROM  log,
      UNNEST(cast(json_parse(number) AS array(bigint))) AS t(a)
  • 查询和分析结果阿里云日志服务SLSUNNEST子句-云淘科技

示例2

将number字段的值(array类型)展开为多行单列形式,并进行求和计算。

  • 字段样例

    此处仅提供一条日志样例,求和计算是针对所有日志,即对所有日志中的number字段的值进行求和。

    number:[49, 50, 45, 47, 50]
  • 查询和分析语句
    * |
    SELECT
      sum(a) AS sum
    FROM  log,
      UNNEST(cast(json_parse(number) as array(bigint))) AS t(a)
  • 查询和分析结果阿里云日志服务SLSUNNEST子句-云淘科技

示例3

将number字段的值(array类型)展开为多行单列形式,并对各个值进行分组统计。

  • 字段样例
    number:[49, 50, 45, 47, 50]
  • 查询和分析语句
    * |
    SELECT
      a, count(*) AS count
    FROM  log,
      UNNEST(cast(json_parse(number) as array(bigint))) AS t(a) GROUP BY a
  • 查询和分析结果阿里云日志服务SLSUNNEST子句-云淘科技

示例4

将number字段的值(map类型)展开为多行多列形式。

  • 字段样例
    result:{
      anomaly_type:"OverThreshold"
      dim_name:"request_time"
      is_anomaly:true
      score:1
      value:"3.000000"}
  • 查询和分析语句
    * |
    select
      key,
      value
    FROM  log,
      UNNEST(
        try_cast(json_parse(result) as map(varchar, varchar))
      ) AS t(key, value)
  • 查询和分析结果阿里云日志服务SLSUNNEST子句-云淘科技

示例5

将number字段的值(map类型)展开为多行多列形式,并对各个键进行分组统计。

  • 字段样例
    result:{
      anomaly_type:"OverThreshold"
      dim_name:"request_time"
      is_anomaly:true
      score:1
      value:"3.000000"}
  • 查询和分析语句
    * |
    select
      key,
      count(*) AS count
    FROM  log,
      UNNEST(
        try_cast(json_parse(result) as map(varchar, varchar))
      ) AS t(key, value)
    GROUP BY
      key
  • 查询和分析结果阿里云日志服务SLSUNNEST子句-云淘科技

示例6

使用histogram函数获取各个请求方法对应的请求数量,返回结果为map类型。然后通过unnest子句将histogram函数的返回结果展开为多行多列形式,并通过柱状图展示。

  • 查询和分析语句
    * |
    SELECT
      key,
      value
    FROM(
        SELECT
          histogram(request_method) AS result
        FROM      log
      ),
      UNNEST(result) AS t(key, value)
  • 查询和分析结果阿里云日志服务SLSUNNEST子句-云淘科技

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/161813.html

(0)
上一篇 2023年12月10日 上午3:45
下一篇 2023年12月10日 上午3:47
详情页2

相关推荐

  • 阿里云日志服务SLS云产品日志审计-云淘科技

    日志服务基于可观测性数据平台能力,为您提供云产品的日志审计能力。 日志审计对应的日志库为只读库,只能写入专属云产品日志数据,不允许通过自行写入或其他方式篡改数据。日志审计支持多账户下实时自动化、中心化采集云产品日志并进行审计,以及支持审计所需的存储、查询及信息汇总。日志审计的功能优势如下: 中心化采集 跨账号:支持将多个阿里云账号下的日志采集到一个阿里云账号…

    阿里云日志服务SLS 2023年12月10日
  • 阿里云RDS数据库下载日志备份-云淘科技

    为保障用户权益,RDS提供了未加密的日志备份下载功能,您可以通过该功能下载实例的日志备份,方便您的数据管理和恢复操作。数据备份暂时只提供快照备份用于恢复。 下载限制 只读子账号无法下载备份文件,可以在RAM控制台中添加权限到子账号中。 数据备份文件 日志备份文件 不支持下载数据备份文件,仅可通过恢复功能将数据恢复到新建实例或原实例上。在基础备份列表页签下选择…

    2023年12月9日
  • 阿里云负载均衡SetBackendServers – 设置后端服务器权重-云淘科技

    设置后端服务器权重。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试调试授权信息下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下: 操作:是指具体的…

    阿里云负载均衡 2023年12月10日
  • 阿里云大数据开发治理平台 DataWorks使用内建函数-云淘科技

    函数列表页面为您展示MaxCompute系统自带的函数,您可以在该页面查看函数的分类、说明和示例。 背景信息 为了供您方便快捷的使用MaxCompute SQL进行数据分析和数据加工,MaxCompute提供了丰富的内建函数,以便您在日常开发和分析中使用,对于内建函数,您无需关注函数内部的实现逻辑,可直接进行调用。您可以根据需要从不同维度快速查询目标函数。 …

  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云日志服务SLS异常对比函数-云淘科技

    异常对比函数用于比较某个观测对象在两个时间段的差异程度。 调用方式一 调用函数 select anomaly_compare(long stamp, array[ feature_1, feature_2 ], long timePoint, long interval) select anomaly_compare(long stamp, array[ f…

    2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。