关联OSS数据源

更新时间:2025-04-08 01:56:28

本文介绍如何创建外部存储,建立日志服务与OSS的关联。

前提条件

  • 已采集日志。更多信息,请参见数据采集

  • 已开启并配置索引。更多信息,请参见创建索引

  • 已创建OSS Bucket。更多信息,请参见控制台创建存储空间

  • 已上传CSV格式文件到OSS Bucket。更多信息,请参见控制台上传文件

    重要

    支持关联多个OSS文件,单个文件最大为50M,不支持压缩,参数不支持正则表达式。

功能优势

OSS进行关联查询分析,具有如下优势:

  • 节省费用:将更新频率低的数据保存在OSS上,只需要支付少量的存储费用,并且可以通过内网读数据,免去流量费用。

  • 降低运维工作:在轻量级的联合分析平台中,不需要搬迁数据到同一个存储系统中。

  • 节省时间:使用SQL分析数据,分析结果秒级可见,并可以将常用的分析结果定义为报表,打开即可看到结果。

操作步骤

  1. 登录日志服务控制台

  2. Project列表区域,单击目标Project。

    image

  3. 日志存储 > 日志库页签中,单击目标Logstore。

    image

  4. 输入查询与分析语句,单击查询/分析

    通过SQL定义虚拟外部表,映射到OSS文件。

    * | create table <External storage> (<Schema>) with (endpoint='oss-cn-${your_region_name}-internal.aliyuncs.com',accessid='yourAccessKeyID',accesskey ='yourAccessKeySecret',bucket='<your bucket name>',objects=ARRAY['*.csv'],type='oss')

    在查询分析语句中定义外部存储名称External storage、表的Schema等信息,并通过WITH语法指定OSS访问信息及文件信息,详细信息如下表所示。

    配置项

    说明

    示例

    配置项

    说明

    示例

    外部存储名称External storage

    外部存储名称,即虚拟表的名称。

    user_meta1

    表的Schema

    定义表的属性,包括表的列名及格式。

    (userid bigint, nick varchar, gender varchar, province varchar, age bigint)

    endpoint

    OSS访问域名。更多信息,请参见OSS地域和访问域名

    说明

    您可使用公网访问域名或内网访问域名,如果日志服务和OSS在同一地域,推荐使用内网访问域名。

    oss-cn-hangzhou-internal.aliyuncs.com

    accessid

    阿里云账号AccessKey IDAccessKey Secret。建议您使用具备日志服务Project写入权限的RAM用户的AccessKey。授予RAM用户向指定Project写入数据权限的具体操作,请参见RAM自定义授权场景。如何获取AccessKey的具体操作,请参见访问密钥

    LTAI****************

    accesskey

    yourAccessKeySecret

    bucket

    CSV文件所在的OSS Bucket名称。

    examplebucket

    objects

    CSV文件。

    说明

    objectsarray类型,可以包含多个OSS文件。

    user.csv

    type

    固定为oss,表示外部存储类型为OSS。

    oss

    示例命令如下所示:

    * | create table user_meta1 ( userid bigint, nick varchar, gender varchar, province varchar, age bigint) with ( endpoint='oss-cn-hangzhou.aliyuncs.com',accessid='yourAccessKeyID',accesskey='yourAccessKeySecret',bucket='examplebucket',objects=ARRAY['user.csv'],type='oss')

    如果执行结果中的resulttrue,表示执行成功。

    外部存储

  5. 验证是否已成功定义外部存储。

    执行如下语句,其中,External storage步骤4中定义的外部存储名称。返回结果为您之前定义的表内容,则表示已成功定义外部存储。

    * | select * from <External storage>
  6. 通过JOIN语法完成日志服务和OSS的联合查询。

    例如,执行如下查询分析语句关联日志服务中日志的IDOSS文件中的userid,补全日志信息。

    说明

    采集的日志中需要包含参数userid。

    * | select * from <logstore> l join <External storage> u on l.userid = u.userid

    配置项

    说明

    示例

    配置项

    说明

    示例

    Logstore

    需要查询的Logstore的名称。

    test_logstore

    External storage

    步骤4中定义的外部存储名称。

    user_meta1

    联合查询

关联OSS数据源的最佳实践请参见关联LogstoreOSS外表进行查询和分析

相关文档

本文介绍了创建外部数据源OSS Bucket的步骤,如果需要修改、删除外部数据源,请调用UpdateOssExternalStore - 更新OSS外部存储DeleteExternalStore - 删除外部存储配置

  • 本页导读 (1)
  • 前提条件
  • 功能优势
  • 操作步骤
  • 相关文档
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等