本文介绍如何通过对象存储服务(OSS)的生命周期规则,自动化删除或归档EMR Serverless Spark产生的冗余日志文件,有效降低存储成本。
使用限制
操作步骤
步骤一:查找日志存储路径
创建的Serverless Spark工作空间在执行任务后,会自动在OSS中生成日志文件。日志存储路径格式如下:
-
<工作空间ID>/spark/logs/:Spark任务日志。 -
<工作空间ID>/spark/eventlogs/:Spark事件日志。 -
<工作空间ID>/spark/snapshot/:Spark快照数据。
步骤二:设置生命周期规则
-
登录OSS管理控制台。
-
在左侧导航栏,单击Bucket列表,然后单击存储Serverless Spark日志的目标Bucket名称。
-
在左侧导航栏,选择。
-
在生命周期页面,单击创建规则。
-
在创建生命周期规则面板中,配置以下参数:
参数
说明
前缀
设置为Serverless Spark工作空间对应的日志路径前缀。请分别添加以下前缀,不要直接使用
<工作空间ID>/spark/作为前缀,否则可能会清理掉环境管理上传的文件。-
<工作空间ID>/spark/logs/ -
<工作空间ID>/spark/eventlogs/ -
<工作空间ID>/spark/snapshot/
文件过期策略
根据实际需求选择过期策略。您可以选择以下策略:
-
删除:到期后自动删除文件。
-
转换存储类型:到期后将文件转换为低频访问、归档等存储类型,降低存储费用。
过期天数
设置文件最后一次修改后的过期天数。请根据业务需求合理设置,建议保留至少7天的日志以便排查问题。
更多生命周期规则的配置详情,请参见生命周期规则概述。
-
最佳实践示例
以下示例演示如何通过创建Serverless Spark任务产生日志,并配置OSS生命周期规则自动清理过期日志文件。
步骤一:创建并运行Spark任务
-
进入Serverless Spark工作空间的数据开发页面。
-
在左侧导航栏,选择。
-
在Spark页面,单击目标工作空间名称。
-
在EMR Serverless Spark页面,单击左侧导航栏中的数据开发。
-
新建Spark SQL任务。
-
在开发目录页签下,单击新建图标。
-
在新建对话框中,输入名称(例如Test),类型使用默认的SparkSQL,然后单击确定。
-
拷贝如下代码到新增的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');
-
-
完成代码编写后,单击右上角发布。
步骤二:创建并运行工作流
-
在左侧导航栏中,单击任务编排。
-
在任务编排页面,单击创建工作流。
-
在创建工作流面板中,输入工作流名称(例如spark_workflow_task),然后单击下一步。
其他参数请根据实际情况配置,更多参数信息请参见管理工作流。
-
在新建的节点画布中,单击添加节点。
-
在添加节点面板中,在来源文件路径下拉列表中选择已发布的任务Test,然后单击保存。
-
在新建的节点画布中,单击发布工作流。
-
运行工作流。
-
在任务编排页面,单击目标工作流名称。
-
在工作流实例列表页面,单击运行。
-
在运行工作流对话框中,单击确定。
-
-
运行完成后,在运维中心下的任务历史查看对应的任务信息。
步骤三:配置OSS生命周期规则
-
登录OSS管理控制台,进入存储工作空间日志的Bucket。
-
在左侧导航栏,选择。
-
单击创建规则,配置以下关键参数:
-
前缀:请分别添加以下三个前缀,不要直接使用
<工作空间ID>/spark/作为前缀,否则可能会清理掉环境管理上传的文件。-
<工作空间ID>/spark/logs/ -
<工作空间ID>/spark/eventlogs/ -
<工作空间ID>/spark/snapshot/
-
-
文件时间策略:选择Object过期策略,可选择指定天数、指定日期和不启用。选择不启用时,文件过期策略不生效。
-
生命周期管理规则:配置转换Object存储类型或者删除过期Object的规则,可选择低频访问、归档存储、冷归档存储、深度冷归档存储和数据删除。
例如,当您将文件时间策略设置为指定日期,并将日期设置为2023年9月24日,则最后一次修改时间在2023年9月24日之前的Object会被自动删除,且删除后不可恢复。
详细规则的配置,请参见生命周期配置示例。
-
步骤四:验证清理效果
生命周期规则配置完成后,OSS将根据设定的过期策略自动清理符合条件的日志文件。您可以在OSS控制台中查看对应路径下的文件变化,确认过期日志已被删除。
通过以上配置,即可实现OSS存储空间的自动化清理,有效降低存储成本。建议定期检查规则配置,根据实际业务需求调整策略。