数据湖支持在低存储成本的情况下,更好地满足数据长期存储、查询、分析、读取等需求。本文介绍通过日志服务SLS完成日志数据入湖的操作方式。
前提条件
已在日志服务Project所在的地域创建Bucket。具体操作,请参见创建存储空间。背景信息
数据湖是一个集中式存储库,允许您以任意规模存储所有结构化、半结构化以及非结构化数据。这些数据包括来源于关系型数据库中的结构化数据(行和列)、半结构化数据(例如CSV、日志、XML、JSON等)、非结构化数据(例如email、文档、PDF等)和二进制数据(例如图像、音频、视频等)。日志服务集成了数据投递到OSS的功能,以Serverless的方式助力日志数据入湖,支持丰富的日志数据源,一站式的分析查询,多种投递格式,压缩类型,无需运维。
步骤一:选择投递的数据源
(可选)步骤二:加工数据
以下以过滤OSS访问日志为例,介绍过滤后仅保留OSS访问日志中GetObject方法的操作步骤。
- 单击目标Logstore左侧的>,选择 。
- 在页面右上角,选择数据的时间范围。请确保在原始日志页签中有日志数据。
- 在编辑框中,输入以下数据加工语句。
e_keep(e_search("operation=GetObject"))
- 预览数据。
- 创建数据加工任务。
步骤三:投递数据到OSS
日志服务投递数据到OSS为同地域投递,即日志服务Project所在的地域和OSS Bucket所在地域相同。您可以选择新版或旧版投递数据到OSS的方式完成日志数据入湖。旧版投递数据到OSS支持日志服务所有已开服地域,而新版投递数据到OSS(新版)仅支持以下地域:
重要 目前只支持华东1(杭州)、华东2(上海)、华东5(南京-本地地域)、华东1(杭州-金融云)、华东2(上海-金融云)、华北1(青岛)、华北2(北京)、华北3(张家口)、华北5 (呼和浩特)、华北6(乌兰察布)、西南1(成都)、华南1(深圳)、华南2(河源)、华南3(广州)、中国香港、新加坡、澳大利亚(悉尼)、马来西亚(吉隆坡)、印度尼西亚(雅加达)、菲律宾(马尼拉)、泰国(曼谷)、日本(东京)、美国(硅谷)、美国(弗吉尼亚)。
其中,华东1(杭州-金融云)仅支持OSS杭州金融云公网的Bucket;华东2(上海-金融云)仅支持OSS华东2金融云的Bucket。
关于新旧版投递数据到OSS的更多信息,请参见OSS投递新旧版本对比。
- 创建OSS投递作业。在OSS投递功能面板,按如下说明配置相关参数,其他参数保留默认配置,然后单击确定。
参数 说明 OSS投递名称 投递作业的名称。 OSS Bucket OSS Bucket名称。 文件投递目录 指定OSS Bucket中的目录。目录名不能以正斜线(/)或者反斜线(\)开头。如果未指定该目录,则生成的文件将保存在Bucket的根目录下。 创建OSS投递作业后,Logstore中的数据将投递到目标OSS Bucket的此目录中。
文件后缀 指定生成文件的后缀。如果未设置文件后缀,则日志服务会根据存储格式和压缩类型自动生成后缀,例如suffix。 写OSS RAM角色 选择默认角色,表示授权OSS投递作业使用阿里云系统角色AliyunLogDefaultRole将数据写入到OSS Bucket中。如果您还没有生成默认角色,需手动输入AliyunLogDefaultRole的ARN。如何获取ARN,请参见通过默认角色访问数据。 读Logstore RAM角色 选择默认角色,表示授权OSS投递作业使用阿里云系统角色AliyunLogDefaultRole来读取Logstore中的数据。如果您还没有生成默认角色,需手动输入AliyunLogDefaultRole的ARN。如何获取ARN,请参见通过默认角色访问数据。 起始时间 选择投递作业开始拉取Logstore中数据的起始时间。 关于创建投递作业涉及的各参数详细说明,请参见创建OSS投递作业(新版)。
- 可选:查看生成的文件。将日志投递到OSS成功后,您可以通过OSS控制台、API、SDK或ossutil查看生成的文件。文件格式为:
oss://OSS-BUCKET/OSS-PREFIX/PARTITION-FORMAT_RANDOM-ID
参数说明如下表所示:
参数 说明 示例值 OSS-BUCKET OSS Bucket名称。 examplebucket OSS-PREFIX 文件投递目录。 exampledir PARTITION-FORMAT 分区格式,通过strptime API计算得到的投递作业创建时间。 2022/01/20/19/50_1484913043351525351 RANDOM-ID 随机生成的一次投递行为的唯一标识。 2850008 结合以上示例值,则投递作业创建时间为2022/01/20 19:50:43生成的OSS文件路径为:
oss://examplebucket/exampledir/2022/01/20/19/50_1484913043351525351_2850008.suffix
说明 OSS文件路径以投递作业的创建时间动态生成。假设您在2022-01-20 00:00:00创建投递作业,5分钟投递一次数据到OSS Bucket,则此次投递任务投递的是2022-01-19 23:55后写入日志服务的数据。由于写入日志服务的数据可能存在延时,因此当您希望分析2022-01-19全天日志,除了查看2022/01/19目录下的全部Object以外,还需要检查2022/01/20/00/目录下前十分钟的Object是否包含2022-01-22的日志。