设置生命周期规则(自动删除/归档日志文件)

更新时间:
复制为 MD 格式

本文介绍如何通过对象存储服务(OSS)的生命周期规则,自动化删除或归档EMR Serverless Spark产生的冗余日志文件,有效降低存储成本。

使用限制

  • 仅支持OSS,不支持OSS-HDFS。

  • OSSServerless Spark需处于同一地域。

  • 已创建工作空间和会话实例,详情请参见创建工作空间管理SQL会话

操作步骤

步骤一:查找日志存储路径

创建的Serverless Spark工作空间在执行任务后,会自动在OSS中生成日志文件。日志存储路径格式如下:

  • <工作空间ID>/spark/logs/:Spark任务日志。

  • <工作空间ID>/spark/eventlogs/:Spark事件日志。

  • <工作空间ID>/spark/snapshot/:Spark快照数据。

步骤二:设置生命周期规则

  1. 登录OSS管理控制台

  2. 在左侧导航栏,单击Bucket列表,然后单击存储Serverless Spark日志的目标Bucket名称。

  3. 在左侧导航栏,选择数据管理 > 生命周期

  4. 生命周期页面,单击创建规则

  5. 创建生命周期规则面板中,配置以下参数:

    参数

    说明

    前缀

    设置为Serverless Spark工作空间对应的日志路径前缀。请分别添加以下前缀,不要直接使用<工作空间ID>/spark/作为前缀,否则可能会清理掉环境管理上传的文件。

    • <工作空间ID>/spark/logs/

    • <工作空间ID>/spark/eventlogs/

    • <工作空间ID>/spark/snapshot/

    文件过期策略

    根据实际需求选择过期策略。您可以选择以下策略:

    • 删除:到期后自动删除文件。

    • 转换存储类型:到期后将文件转换为低频访问、归档等存储类型,降低存储费用。

    过期天数

    设置文件最后一次修改后的过期天数。请根据业务需求合理设置,建议保留至少7天的日志以便排查问题。

    更多生命周期规则的配置详情,请参见生命周期规则概述

最佳实践示例

以下示例演示如何通过创建Serverless Spark任务产生日志,并配置OSS生命周期规则自动清理过期日志文件。

步骤一:创建并运行Spark任务

  1. 进入Serverless Spark工作空间的数据开发页面。

    1. 登录E-MapReduce控制台

    2. 在左侧导航栏,选择EMR Serverless > Spark

    3. Spark页面,单击目标工作空间名称。

    4. EMR Serverless Spark页面,单击左侧导航栏中的数据开发

  2. 新建Spark SQL任务。

    1. 开发目录页签下,单击新建图标。

    2. 新建对话框中,输入名称(例如Test),类型使用默认的SparkSQL,然后单击确定

    3. 拷贝如下代码到新增的Spark SQL页签中。

      CREATE TABLE IF NOT EXISTS default.students (
        name VARCHAR(64),
        address VARCHAR(64)
      )
      USING PARQUET
      PARTITIONED BY (data_date STRING);
      
      INSERT OVERWRITE TABLE students PARTITION (data_date = '${ds}') VALUES
        ('Ashua Hill', '456 Erica Ct, Cupertino'),
        ('Brian Reed', '723 Kern Ave, Palo Alto');
  3. 完成代码编写后,单击右上角发布

步骤二:创建并运行工作流

  1. 在左侧导航栏中,单击任务编排

  2. 任务编排页面,单击创建工作流

  3. 创建工作流面板中,输入工作流名称(例如spark_workflow_task),然后单击下一步

    其他参数请根据实际情况配置,更多参数信息请参见管理工作流

  4. 在新建的节点画布中,单击添加节点

  5. 添加节点面板中,在来源文件路径下拉列表中选择已发布的任务Test,然后单击保存

  6. 在新建的节点画布中,单击发布工作流

  7. 运行工作流。

    1. 任务编排页面,单击目标工作流名称。

    2. 在工作流实例列表页面,单击运行

    3. 运行工作流对话框中,单击确定

  8. 运行完成后,在运维中心下的任务历史查看对应的任务信息。

步骤三:配置OSS生命周期规则

  1. 登录OSS管理控制台,进入存储工作空间日志的Bucket。

  2. 在左侧导航栏,选择数据管理 > 生命周期

  3. 单击创建规则,配置以下关键参数:

    • 前缀:请分别添加以下三个前缀,不要直接使用<工作空间ID>/spark/作为前缀,否则可能会清理掉环境管理上传的文件。

      • <工作空间ID>/spark/logs/

      • <工作空间ID>/spark/eventlogs/

      • <工作空间ID>/spark/snapshot/

    • 文件时间策略:选择Object过期策略,可选择指定天数指定日期不启用。选择不启用时,文件过期策略不生效。

    • 生命周期管理规则:配置转换Object存储类型或者删除过期Object的规则,可选择低频访问归档存储冷归档存储深度冷归档存储数据删除

      例如,当您将文件时间策略设置为指定日期,并将日期设置为2023924日,则最后一次修改时间在2023924日之前的Object会被自动删除,且删除后不可恢复。

    详细规则的配置,请参见生命周期配置示例

步骤四:验证清理效果

生命周期规则配置完成后,OSS将根据设定的过期策略自动清理符合条件的日志文件。您可以在OSS控制台中查看对应路径下的文件变化,确认过期日志已被删除。

通过以上配置,即可实现OSS存储空间的自动化清理,有效降低存储成本。建议定期检查规则配置,根据实际业务需求调整策略。