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

如果您是MaxCompute初学者

如果您是初学者,建议您从如下模块开始读起:

  • 产品简介: MaxCompute产品的总体介绍以及包含的主要功能。通过阅读该章节,您会对MaxCompute有一个总体的认识。
  • 快速开始:通过示例,指导您如何进行申请账号、安装客户端、创建表、授权、导入导出数据、运行SQL任务、运行UDF/MapReduce程序等操作。
  • 基本介绍:MaxCompute的基本概念及常用命令介绍。您可以进一步熟悉如何操作MaxCompute。
  • 工具:在分析数据之前,您需要掌握MaxCompute常用工具的下载、配置以及使用方法。

    我们为您提供工具,您可以通过此工具对MaxCompute进行操作。

  • 配置Endpoint:MaxCompute Region的开通情况和连接方式,解答您在与其他云产品(ECS、TableStore、OSS)互访场景中遇到的网络连通性和下载数据收费等问题。

建议您熟悉以上的模块后,再有针对性地对其他模块进行深入学习。

如果您是数据分析师

如果您是数据分析师,建议您熟读SQL模块的内容。

  • SQL:您可以查询并分析存储在MaxCompute上的大规模数据。包含的主要功能如下:
    • 支持DDL语句,您可以通过Create、Drop和Alter对表和分区进行管理。
    • 您可以通过Select选择表中的某几条记录,通过Where语句查看满足条件的记录,实现过滤功能。
    • 您可以通过等值连接Join实现两张表的关联。
    • 您可以通过对某些列Group By,实现聚合操作。
    • 您可以通过Insert Overwrite/Into把结果记录插入到另一张表中。
    • 您可以通过内置函数和自定义函数(UDF)来实现一系列的计算。

如果您拥有一定开发经验

如果您拥有一定的开发经验,了解分布式概念,并且某些数据分析可能无法用SQL来实现,此时推荐您学习MaxCompute更高级的功能模块。如下所示:

  • MapReduce:MaxCompute提供的Java MapReduce编程模型。您可以使用MapReduce提供的接口(Java API)编写MapReduce程序,处理MaxCompute中的数据。
  • Graph:一套面向迭代的图计算处理框架。使用图进行建模,图由点(Vertex)和边(Edge)组成,点和边包含权值(Value)。通过迭代对图进行编辑、演化,最终得出结果。
  • Eclipse Plugin:方便您使用MapReduce、UDF以及Graph的Java SDK进行开发工作。
  • Tunnel:您可以使用Tunnel服务向MaxCompute批量上传离线数据或者从MaxCompute下载离线数据。
  • SDK:
    • Java SDK:向开发者提供Java接口。
    • Python SDK:向开发者提供Python接口。
    说明 目前MapReduce以及Graph功能仍处于公测中,若您想使用这部分功能,可以通过工单系统提交申请。申请时请指明您的项目空间名称,我们会在7个工作日内处理。

如果您是项目Owner或者管理员

如果您是一个项目空间的Owner,需要创建和使用项目。如果您是管理员,需要在项目管理、安全管理(人员以及权限管理)、费用管理等方面应用本产品。您需要熟知以下模块:

  • 项目管理

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

    • 创建项目前期工作
      • 资源预算
        MaxCompute收费资源主要是3大模块资源:存储、计算、公网下载流量。
        1. 存储资源:按量付费,阶梯计费,可以根据数据量套公式进行预算,当然数据不是一天就全部放在MaxCompute上。同时每天不同时刻都有可能有进有出,所以这个预算结果不是绝对值。
        2. 计算资源:计算资源(目前包括SQL、MR、Spark、Lightning任务计算)分按量付费和预付费。开始使用会不容易评估计算资源使用量,建议先用后付费形式,测试一段时间后看使用量再决定是否使用预付费。
        3. 公网下载流量:按量付费,只有通过公网下载才会收费。

        详细的计量计费说明请参见计费方式

      • 账号准备并开通服务

        创建MaxCompute项目前,必须先开通MaxCompute服务。而目前只能由阿里云账号作为主账号开通,同时这个账号将作为扣费的主体。确定好账号后,开通MaxCompute服务时,需要您根据前面的预算结论选择后付费/预付费资源进行开通。

    • 创建Project

      通过MaxCompute控制台(也是DataWorks控制台)创建项目空间进行Project创建。创建项目空间时,从业务角度考虑是需要标准模式还是简单模式项目;从安全角度考虑MaxCompute访问身份是用个人账号还是计算引擎指定账号,可以参考MaxCompute数据安全管理指南进行规划。

      创建Project具体操作请参考文档创建项目

    • 项目成员管理

      成员管理主要考虑职责和安全问题,如果通过DataWorks使用MaxCompute,那么还要考虑两个之间相关的权限关联,同样参考MaxCompute数据安全管理指南

    • 子账号管理

      MaxCompute Project支持云账号RAM账号两种账号体系。对于RAM账号,仅识别账号体系不识别RAM权限体系,即可将主账号的任意RAM子账号加入MaxCompute的某一个项目中,但MaxCompute在对该RAM子账号做权限验证时,并不会考虑RAM中的权限定义。关于RAM子账号详细介绍请参见准备RAM子账号

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

      说明
      • MaxCompute不考虑RAM中的权限定义,因此子账号的权限还需通过MaxCompute命令行或者DataWorks的相关功能实现,具体可参考MaxCompute数据安全管理指南
      • 建议一个子账号对应一个项目成员,禁止多个成员共用一个子账号。
      • 离职或转岗的成员,需及时清理对应子账号。
        说明 若子账号在DataWorks中被加为项目成员,请先清除项目成员再到RAM系统中删除子账号。
    • 调度资源管理
      • 关于调度资源

        这里介绍的调度资源是指DataWorks上的调度资源,调度资源用于执行或分发调度系统下发的任务,DataWorks的调度资源分为以下两种模式。具体可参考文档管理控制台 > 调度资源列表

        1. 默认调度资源。指DataWorks默认的调度资源,公共的资源池。当DataWorks节点并发量很高,调度资源紧张时会进入等待调度状态。直到占用到资源,节点才开始执行下发任务。
        2. 自定义调度资源。指将您自助购买的ECS配置为可以执行分发任务的调度服务器。主账号可以新建自定义调度资源,调度资源包括若干台物理机或ECS,主要用于执行数据同步任务。主账号管理员可在调度资源页面中新建、配置调度资源以完成专用调度资源的创建,也可对已有的调度资源进行编辑。
      • 自定义调度资源

        租户管理员可以新建专用的调度资源,以便后续可将专用的调度资源分配给某些项目空间来执行特定的任务。指定的任务可以是数据同步任务、SHELL脚本、MaxCompute SQL脚本,也可以是MaxCompute MR和算法实验室等任务。而在未指定专用调度资源的情况下,项目空间内的所有任务都将默认使用系统托管集群中的资源。

    • 其他项目管理操作

      项目空间的一些设置。在项目开发过程中,有些项目空间的设置操作需要Owner来进行,如设置项目空间是否允许全表扫描、设置项目空间默认打开2.0新类型等。可参见文档常用命令 > 项目空间操作

  • 安全管理
    安全管理包括人员管理、角色管理、权限管理等。通过DataWorks使用MaxCompute时,由于DataWorks和MaxCompute有各种权限模型,因此需要理清楚两个产品之间的权限关系,再从业务需求出发进行权限管理。安全管理过程中,您可以通过阅读安全模型章节,了解如何进行给用户授权、跨项目空间的资源共享、设置项目空间的数据保护功能、policy授权等操作:
    1. 权限模型MaxCompute和DataWorks权限关系用户与权限管理以及相关安全功能的启用等安全管理基础综合介绍。
    2. 安全功能详解:详细的安全相关功能命令等介绍。
    3. 安全管理案例:真实客户业务需求转化的安全案例。
  • 费用管理
    前面提到的创建项目前期工作中的预算是在为使用之前进行成本预估,但是限于目前MaxCompute的计费方式,很多业务无法更准确的进行成本预估。因此在业务开发整个过程中避免不了需要进行费用管理,主要需要关注: