使用须知

本文根据您的角色推荐不同的文档阅读顺序。

如果您是MaxCompute初学者

如果您是初学者,建议先熟悉如下模块,然后再有针对性地对深入学习其他模块。

模块

说明

产品简介

介绍MaxCompute产品的概况、主要功能、应用场景、使用限制及基本概念。通过阅读该章节,您会对MaxCompute有一个总体的认知。

准备工作

通过示例指导您如何准备账号、准备环境、创建表、导入数据、运行SQL及导出结果数据。

快速入门

常用命令列表

介绍MaxCompute的常用命令。您可以进一步熟悉如何操作MaxCompute。

工具

您需要在分析数据前掌握MaxCompute涉及的客户端、MaxCompute Studio等工具。

Endpoint

介绍MaxCompute各地域支持的连接方式及Endpoint信息,并对您在与其他云产品(ECS、Tablestore或OSS)互访场景中遇到的网络连通性和下载数据收费等问题进行说明。

如果您是数据分析师

如果您是数据分析师,建议熟读SQL模块的内容。您可以查询并分析存储在MaxCompute上的大规模数据。MaxCompute SQL支持如下主要功能。

功能项

说明

DDL操作

支持管理表、分区、列、生命周期及视图。

DML操作

支持插入或更新表、分区数据。

DQL操作

支持SELECT、子查询等多种查询操作。

增强操作

支持通过命令导入导出MaxCompute表中的数据、复制表数据等SQL增强操作。

内建函数

支持通过内建数学函数、窗口函数、日期函数、聚合函数、字符串函数等处理数据。

UDF

支持通过创建自定义函数来满足更多的计算需求。

如果您拥有一定开发经验

如果您拥有一定的开发经验,了解分布式概念,且希望解决某些无法用SQL实现的数据分析问题,推荐您学习MaxCompute更高级的功能模块。

模块

说明

MapReduce

MaxCompute提供Java MapReduce编程模型。您可以使用MapReduce提供的接口(Java API)编写MapReduce程序,处理MaxCompute中的数据。

Graph

一套面向迭代的图计算处理框架。使用图进行建模,图由点(Vertex)和边(Edge)组成,点和边包含权值(Value)。通过迭代对图进行编辑、演化,最终得出结果。

Tunnel

您可以使用Tunnel服务向MaxCompute批量上传离线数据或从MaxCompute下载离线数据。

Java SDK

向开发者提供的Java接口。

Python SDK

向开发者提供的Python接口。

如果您是项目Owner或管理员

如果您是一个项目的Owner(创建和使用项目)或管理员(管理项目、安全和费用)需要熟知如下模块。

模块

子模块

说明

项目管理

创建项目前期工作

项目(Project)是MaxCompute的基本组织单元,它类似于传统数据库的Database或Schema的概念,是进行多用户隔离和访问控制的主要边界。一个用户可以同时拥有多个项目的权限,通过安全授权,可以在一个项目中访问另一个项目中的对象,例如表(Table)、资源(Resource)、函数(Function)和实例(Instance)。使用MaxCompute,实际是操作项目中的各种对象。前期准备工作如下:

  • 资源预算

    MaxCompute收费资源主要包含存储、计算和公网下载流量。

    • 存储资源:按量阶梯计费。您可以按照数据量套用公式预估费用。由于数据不是当天全部存储在MaxCompute,且每时每刻都会存在数据导入导出,所以预算结果不是绝对值。

    • 计算资源:计算资源分为按量计费和包年包月模式。由于使用初期不容易评估计算资源使用量,建议您先使用按量计费模式,测试一段时间后根据使用量再决定是否使用包年包月模式。

    • 外网下载流量:按量计费,只有通过外网下载才会收费。

    详细计费说明请参见计费项与计费方式概述

  • 准备账号并开通服务

    创建MaxCompute项目前,必须先开通MaxCompute服务,且只能将阿里云账号作为主账号,同时该账号为计费主体。确定账号后,在开通MaxCompute服务时,您需要根据资源预算结论选择按量计费或包年包月模式。

创建项目

创建项目具体操作,请参见创建MaxCompute项目

创建项目时,需要从业务角度考虑选择标准模式或简单模式项目,从安全角度考虑使用个人账号或计算引擎指定账号,详情请参见MaxCompute访问身份MaxCompute数据安全管理指南

项目成员管理

成员管理主要考虑成员的职责和安全问题,如果通过DataWorks使用MaxCompute,您需要考虑两个产品之间的关联权限,详情请参见MaxCompute和DataWorks的权限关系

RAM用户管理

MaxCompute项目支持阿里云账号和RAM用户两种账号体系。您可以将阿里云账号下的任意RAM用户加入MaxCompute的某一个项目中。RAM用户详情,请参见创建RAM用户

通过DataWorks使用MaxCompute和DataWorks的工作空间,仅支持添加阿里云账号下的RAM用户为成员。因此,需要阿里云账号通过RAM系统创建RAM用户,并对RAM用户进行维护管理。

说明
  • MaxCompute不提供RAM中的权限定义,因此RAM用户的权限还需通过MaxCompute命令行或者DataWorks的项目管理功能实现,详情请参见MaxCompute数据安全管理指南

  • 建议一个RAM用户对应一个项目成员,禁止多个成员共用一个RAM用户。

  • 离职或转岗的成员,需要及时清理对应RAM用户账号。若RAM用户在DataWorks中被加为项目成员,请先清除项目成员再到RAM系统中删除RAM用户。

调度资源管理

  • 调度资源

    即DataWorks上的调度资源,调度资源用于执行或分发调度系统下发的任务。DataWorks的调度资源分为如下两种模式,详情请参见查看资源组列表

    • 默认调度资源。指DataWorks的公共资源池。当DataWorks节点并发量很高,调度资源紧张时会进入等待调度状态。直到占用到资源,节点才开始执行下发任务。

    • 自定义调度资源。指将您自助购买的ECS配置为可以执行分发任务的调度服务器。阿里云账号可以新建自定义调度资源,调度资源包括若干台物理机或ECS,主要用于执行数据同步或其他任务。

  • 独享资源

    DataWorks提供独享调度、独享数据集成和DataStudio运行空间(生产环境)资源供您选择,以获取最优性能保障。详情请参见DataWorks资源组概述

项目设置

在项目开发过程中,部分项目的设置操作需要项目Owner来执行。例如,设置项目是否允许全表扫描、设置项目默认打开2.0新类型等。详情请参见项目操作

安全管理

人员管理

安全管理包括人员管理、角色管理、权限管理等。通过DataWorks使用MaxCompute时,由于DataWorks和MaxCompute有各种权限模型,因此您需要理清楚两个产品之间的权限关系,再从业务需求出发进行权限管理。安全管理过程中,您需要了解如何进行用户授权、跨项目的资源共享、设置项目的数据保护功能、Policy授权等操作:

角色管理

权限管理

费用管理

资源预算是在使用之前进行成本预估。基于MaxCompute的计费方式,很多业务无法更准确地预估成本,因此在整个业务开发过程中需要进行费用管理,主要需要关注: