日志数据投递到MaxCompute最佳实践

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 日志服务采集到日志后,有时需要将日志投递至MaxCompute的表中进行存储与分析。本文主要向用户介绍将数据投递到MaxCompute完整流程,方便用户快速实现数据投递至MaxCompute。

背景

日志服务采集到日志后,有时需要将日志投递至MaxCompute的表中进行存储与分析。本文主要向用户介绍将数据投递到MaxCompute完整流程,方便用户快速实现数据投递至MaxCompute。

投递流程

温馨提示本文描述不做特殊说明,默认都是使用RAM账户登陆控制台。更多创建或获取RAM用户信息操作,请参见准备RAM用户

一、创建角色

温馨提示:如果使用默认角色,可以跳过这一步。

1.登录RAM控制台

2.在左侧导航栏,选择身份管理 > 角色

3.在角色页面,单击创建角色

image.png

4.在创建角色面板,选择可信实体类型为阿里云服务,然后单击下一步

image.png

5.在配置角色配置向导中,配置如下内容,然后单击完成

参数

说明

角色类型

选择普通角色类型

角色名称

输入角色名称,例如aliyunlogreadrole。

备注

输入创建角色的备注信息。

选择受信服务

选择日志服务

image.png

二、授予角色日志服务读权限

温馨提示:

1.如果使用默认角色AliyunLogDefaultRole,可以跳过这一步。

2.如果使用自定义创建RAM角色,该RAM角色此时无任何权限。您需要为该RAM角色授予系统策略或自定义策略,参考如下。

1.在角色页面,单击目标RAM角色操作列的添加权限

image.png

2.在添加权限页面,选中目标权限(如AliyunLogFullAccess)。

  • 选择授权应用范围。
  • 整个云账号:权限在当前阿里云账号内生效(推荐)。
  • 指定资源组:权限在指定的资源组内生效。
  • 输入授权主体。授权主体即需要授权的RAM角色名称,系统会自动填入当前的RAM角色。
  • 选择AliyunLogFullAccess权限策略(AliyunLogFullAccess为管理日志服务的权限)。

image.png

3.确认授权结果,单击完成

三、修改角色信任策略

说明:信任策略是来告知MaxCompute服务和sls服务可以信任该目标角色。

1.单击目标角色名称。

2.单击信任策略管理并修改其内容,添加"dataworks.aliyuncs.com"为授信服务如下。

{
  "Statement": [
    {
      "Action": "sts:AssumeRole",
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "log.aliyuncs.com",
          "dataworks.aliyuncs.com"
        ]
      }
    }
  ],
  "Version": "1"
}

image.png

image.png

四、通过Dataworks控制台创建工作空间并绑定MaxCompute引擎

前提条件:

  • 阿里云账号或RAM用户已开通DataWorks服务MaxCompute服务,且位于同一地域。
  • RAM用户通过DataWorks平台管理MaxCompute项目,请确认已获取RAM账户并已为RAM账户授予AliyunDataWorksFullAccess权限。更多创建或获取RAM用户信息操作,请参见准备RAM用户

1.使用RAM账户登录DataWorks控制台

2.创建工作空间,创建工作空间完成后也会一并创建好MaxCompute项目。

  • 在左侧导航栏,单击工作空间列表,并切换至相应的地域后,单击创建工作空间

image.png

  • 创建工作空间对话框,配置选项参数,单击提交。更多信息请参见创建工作空间

image.png

  • 绑定计算引擎,注意:需要为工作空间绑定计算引擎,才可进行数据开发工作。更多绑定方式请参考为工作空间绑定引擎

image.png

  • 进入绑定MaxCompute页面,配置各项参数后,单击完成绑定。

image.png

  • 配置完成后,单击左侧导航栏MaxCompute即可跳转至Maxcompute控制台项目管理页面看到所创建的Maxcompute项目。 image.png

image.png

五、通过Dataworks控制台创建MaxCompute表

温馨提示:如果已有MaxCompute表,可以跳过这一步。

1.进入DataWorks控制台工作空间列表页面,鼠标悬停至目标工作空间对应操作列的快速进入,单击数据开发。

        image.png

2.单击左侧数据开发> 鼠标悬停至+新建图标,单击新建业务流程,弹窗内输入业务名称,然后单击新建

image.png

image.png

3.鼠标悬停至+新建图标,单击新建节点 > MaxCompute > ODPS SQL,弹窗内输入对应的节点类型路径名称

image.png

image.png

4.新建完节点后,即会跳出sql页面,输入sql语句单击运行即可进行表的创建。

image.png

5.单击左侧表管理->其它,双击已创建的目标表即可进入表管理页面。

6.表管理页面中基本属性的中文名行输入自定义别名,然后单击提交到生产环境。

image.png

image.png

六、通过MaxCompute控制台添加用户

1.进入DataWorks控制台工作空间列表页面,单击目标工作空间对应的管理进入工作空间管理中心。

image.png

2.在左侧导航栏,单击 image.png 后在请选择工作空间中选择标准模式名称,点击计算引擎信息 > MaxCompute > 进入MaxCompute管理控制台

image.png

3.跳转至MaxCompute项目管理页面 > 角色权限,若出现如下图错误提示,解决方法请参考下方第4步。更多信息请参见MaxCompute项目管理(新版)

image.png

4.在阿里云主账号下将当前登录的RAM账添加至MaxCompute项目,在角色名称为admin的操作列,单击成员管理后,在左侧搜索账号处勾选当前登录账号(注意必须是当前登录账号),单击 >,将其移动至右侧待添加账号中并点击确定

image.png

七、授予角色MaxCompute写权限

方式一、一键式授权(推荐)请直接跳至第八步创建MaxCompute投递任务并在投递配置页面完成该授权。

方式二、通过MaxCompute控制台授予角色查看、修改、更新目标MaxCompute表的权限

  1. 在角色名称为role_project_admin的操作列,单击成员管理,在左侧搜索账号处勾选当前登录账号、目标RAM角色账号,单击>,将其移动至右侧待添加账号中后点击确定

image.png

  1. 在角色名称为role_project_admin的操作列,单击编辑角色,在角色授权弹窗框中,单击Table -> 输入框内选择已创建的MaxCompute表 -> 选择DescribeAlterUpdate -> 确定

image.png

八、创建MaxCompute投递任务

前提条件:

  1. 创建Project和Logstore。具体操作,请请参见创建Project和Logstore
  2. 已采集日志。具体操作,请参见数据采集
  3. 已在MaxCompute中创建表。具体操作,请参见上述第五步创建MaxCompute项目表

1.登录日志服务控制台

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

3.开始创建投递任务。

  • 日志存储 > 日志库页签中,单击目标Logstore左侧的>,选择数据处理 > 导出> MaxCompute(原ODPS)。
  • 将鼠标悬浮在MaxCompute(原ODPS)上,单击+

image.png

  • MaxCompute投递功能面板中,配置如下参数,然后单击确定

选择投递版本新版(推荐),重要参数配置说明如下所示。

参数

说明

投递名称

投递任务的名称。

投递区域

目标MaxCompute表所在地域。

MaxCompute Endpoint

MaxCompute地域对应的Endpoint,可以向MaxCompute发出除数据上传、下载外的所有请求。

Tunnel Endpoint

MaxCompute地域对应的Tunnel Endpoint,有上传、下载数据的能力。

项目名

目标MaxCompute表所在的MaxCompute项目。

MaxCompute表名

目标MaxCompute表名称。

读日志服务授权

授予MaxCompute投递作业读取Logstore数据的权限,您可使用已完成授权的默认角色或自定义角色。

写入授权方式

您可以通过RAM用户的AccessKey或RAM角色,完成写MaxCompute的授权。

写MaxCompute授权

授予MaxCompute投递作业将数据写到MaxCompute表中的权限,您可使用已完成授权的默认角色或自定义角色。

MaxCompute普通列

左边输入框中填写与MaxCompute表列相映射的日志字段名称,右边为MaxCompute表的列名称。

说明:不允许使用同名字段。

点击自动授权

授予角色写入MaxCompute权限。

说明:1.需要有权限的账户进行操作。

2.该自动授权操作可能会失败。如果授权失败会提示如下三条操作命令:

USE xxxxx;
ADD USER RAM$xxxxx:`role/xxxxx`;
GRANT Describe, Alter, update ON TABLE xxxxx TO USER RAM$xxxxx:`role/xxxxx`;

请复制为您提示的三条操作命令到MaxCompute控制台手动完成授权,详细步骤请参考通过命令行完成授权

MaxCompute分区列

左边输入框中填写与MaxCompute表分区列相映射的日志字段名称,右边为MaxCompute表分区列名称。

说明:分区字段不支持extract_othersextract_others_all

时间分区格式

时间分区格式。

时区选择

该时区用于格式化时间以及时间分区。

投递模式

支持实时投递和批投递。

  • 实时投递:即时读取Logstore中的数据,并投递到MaxCompute。
  • 批投递:读取Logstore中早于当前时间5分钟~10分钟之间的数据,并投递到MaxCompute中。

开始时间范围

投递作业从该时间开始拉取Logstore中的数据。

image.png

image.png

  • 单击MaxCompute任务页面即可查看数据写入状态,如下参考图。

image.png

九、通过管理页面排查错误

  1. 登录日志服务控制台
  2. 在Project列表区域,单击目标Project。
  3. 日志存储 > 日志库页签中,单击目标Logstore左侧的>,选择数据处理 > 导出> MaxCompute(原ODPS)。
  4. 单击目标任务进入任务管理页面,如果页面没有显示内容,请通过步骤10开通投递日志。

image.png

5.通过管理页面运行异常表可及时排查错误如下图点击信息列展开字样即可看到详细错误信息。

image.png

十、开通运行日志

说明:

开通作业运行日志后,您可以在指定Project下的internal-diagnostic_log Logstore中查看MaxCompute投递作业的运行日志与错误日志,其日志主题(__topic__)为etl_metrics。您也可以通过投递作业名称查询目标投递作业的运行日志与错误日志,对应的查询语句为job_name:作业名称,例如job_name:job-1646****946

  1. 登录日志服务控制台
  2. 在Project列表区域,单击目标Project。该Project为MaxCompute投递作业所在的Project。
  3. 在页面左上方,单击 image.png 图标。

image.png

  1. 进入开通作业运行日志页面。
  • 如果您开未通过该Project的详细日志,则在服务日志页签中,单击开通服务日志
  • 如果您已开通过该Project的详细日志,则在服务日志页签中,单击 image.png 图标。

image.png

image.png

5.设置参数如下,然后单击确定。

参数

说明

作业运行日志

打开作业运行日志开关后,系统将在您指定的Project中自动创建一个名为internal-diagnostic_log的Logstore,用于存储Scheduled SQL、MaxCompute投递、OSS投递、数据导入等作业的运行日志与错误日志。

日志存储位置

开通作业运行日志功能后,需要选择日志的存储位置,即需要指定Project。可以设置为:

  • 自动创建(推荐)。
  • 当前Project。
  • 同一地域下的其他Project。

image.png

投递限制与常见问题

1.投递限制相关,具体请参见稳定性说明与使用限制

2.投递过程中常见问题,具体请参见MaxCompute投递作业(新版)常见报错与问题

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
2天前
|
存储 大数据 数据挖掘
【数据新纪元】Apache Doris:重塑实时分析性能,解锁大数据处理新速度,引爆数据价值潜能!
【9月更文挑战第5天】Apache Doris以其卓越的性能、灵活的架构和高效的数据处理能力,正在重塑实时分析的性能极限,解锁大数据处理的新速度,引爆数据价值的无限潜能。在未来的发展中,我们有理由相信Apache Doris将继续引领数据处理的潮流,为企业提供更快速、更准确、更智能的数据洞察和决策支持。让我们携手并进,共同探索数据新纪元的无限可能!
32 11
|
7天前
|
存储 分布式计算 大数据
MaxCompute 数据分区与生命周期管理
【8月更文第31天】随着大数据分析需求的增长,如何高效地管理和组织数据变得至关重要。阿里云的 MaxCompute(原名 ODPS)是一个专为海量数据设计的计算服务,它提供了丰富的功能来帮助用户管理和优化数据。本文将重点讨论 MaxCompute 中的数据分区策略和生命周期管理方法,并通过具体的代码示例来展示如何实施这些策略。
30 1
|
12天前
|
JSON Java fastjson
Java日志通关(五) - 最佳实践
作者日常在与其他同学合作时,经常发现不合理的日志配置以及五花八门的日志记录方式,后续作者打算在团队内做一次Java日志的分享,本文是整理出的系列文章第五篇。
|
12天前
数据平台问题之在数据影响决策的过程中,如何实现“决策/行动”阶段
数据平台问题之在数据影响决策的过程中,如何实现“决策/行动”阶段
|
14天前
|
存储 分布式计算 大数据
【Flume的大数据之旅】探索Flume如何成为大数据分析的得力助手,从日志收集到实时处理一网打尽!
【8月更文挑战第24天】Apache Flume是一款高效可靠的数据收集系统,专为Hadoop环境设计。它能在数据产生端与分析/存储端间搭建桥梁,适用于日志收集、数据集成、实时处理及数据备份等多种场景。通过监控不同来源的日志文件并将数据标准化后传输至Hadoop等平台,Flume支持了性能监控、数据分析等多种需求。此外,它还能与Apache Storm或Flink等实时处理框架集成,实现数据的即时分析。下面展示了一个简单的Flume配置示例,说明如何将日志数据导入HDFS进行存储。总之,Flume凭借其灵活性和强大的集成能力,在大数据处理流程中占据了重要地位。
31 3
|
15天前
|
存储 监控 安全
大数据架构设计原则:构建高效、可扩展与安全的数据生态系统
【8月更文挑战第23天】大数据架构设计是一个复杂而系统的工程,需要综合考虑业务需求、技术选型、安全合规等多个方面。遵循上述设计原则,可以帮助企业构建出既高效又安全的大数据生态系统,为业务创新和决策支持提供强有力的支撑。随着技术的不断发展和业务需求的不断变化,持续优化和调整大数据架构也将成为一项持续的工作。
|
19天前
|
分布式计算 DataWorks 关系型数据库
DataWorks产品使用合集之ODPS数据怎么Merge到MySQL数据库
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
24天前
|
消息中间件 数据采集 JSON
大数据 - DWD&DIM 行为数据
大数据 - DWD&DIM 行为数据
31 1
|
7天前
|
SQL 数据库 Java
Hibernate 日志记录竟藏着这些秘密?快来一探究竟,解锁调试与监控最佳实践
【8月更文挑战第31天】在软件开发中,日志记录对调试和监控至关重要。使用持久化框架 Hibernate 时,合理配置日志可帮助理解其内部机制并优化性能。首先,需选择合适的日志框架,如 Log4j 或 Logback,并配置日志级别;理解 Hibernate 的多级日志,如 DEBUG 和 ERROR,以适应不同开发阶段需求;利用 Hibernate 统计功能监测数据库交互情况;记录自定义日志以跟踪业务逻辑;定期审查和清理日志避免占用过多磁盘空间。综上,有效日志记录能显著提升 Hibernate 应用的性能和稳定性。
14 0
|
7天前
|
分布式计算 安全 大数据
MaxCompute 的安全性和数据隐私保护
【8月更文第31天】在当今数字化转型的时代背景下,企业越来越依赖于大数据分析来推动业务增长。与此同时,数据安全和隐私保护成为了不容忽视的关键问题。作为阿里巴巴集团推出的大数据处理平台,MaxCompute(原名 ODPS)致力于为企业提供高效、安全的数据处理解决方案。本文将探讨 MaxCompute 在数据安全方面的实践,包括数据加密、访问控制及合规性考虑等方面。
23 0

相关产品

  • 日志服务
  • 下一篇
    DDNS