ODPS的概念和模型

整体而言,ODPS服务包含以下这些概念:

帐号(Account):用户到aliyun.com申请注册统一帐号,并购买开通ODPS 服务。拥有统一帐户和必要权限后,系统会分配确保数据和计算安全的AccessID 和AccessKey的安全加密对。用户就可以通过ODPS命令行工具(odpscmd)、SDK开发包或者Web API创建属于该帐号的项目(Project)。

项目(Project):项目是ODPS最基本的组织对象。其他常见资源,例如表(Table)和作业(Job)都归属于某个确定的项目。项目也是权限管理的基本单位。项目的创建者可以把项目对象的读取、修改权限授予其他帐号,也可以取消授权。

表(Table):表是ODPS中的数据存储对象。与常见的关系型数据库类似,ODPS中的表逻辑上也是二维结构。每一行代表一条记录,每一列代表相同数据类型的某个字段。

查询(Query)和查询任务(Query Task):ODPS支持类似SQL的查询语言,但根据大规模分布式系统的特点进行了细节裁剪。查询是静态概念。一条查询脚本的一次具体执行,称为一个查询任务。查询任务作为独立单位,在分布式系统中被调度执行。

导入导出任务(Import/ Export Task):ODPS提供从数据源的导入导出功能。导入导出任务作为独立单位,在分布式系统中被调度执行。

MapReduce任务(M/R Task):ODPS支持用户自主编写并上传MapReduce代码,经过注册后成为Task单位,在分布式系统中被调度执行。ODPS的MapReduce类似于常见的Hadoop MapReduce接口,但只能读写表,不能直接操作物理文件。

作业(Job)和作业实例(Job Instance):一个作业包括一条或多条导出导出、查询等脚本指令,以及它们之间的执行次序关系。所谓执行次序,可以是串行、并行或混合组成的更复杂的DAG工作流。作业还可以包括子作业。作业是静态概念。当一个作业被提交到分布式系统开始实际执行,它就拥有了一个作业实例。作业实例包含了作业运行的现场状态,例如查询脚本的现场版本,执行的返回状态。如果一个作业多次运行,它就拥有多个作业实例。

资源(Resource):用户可以上传自定义的jar包或文本文件作为资源,也可以将某个表作为资源,资源大小限制为小于100M。例如UDF代码、 MapReduce代码,一些应用中需要用到的字典表等等。

  1. da shang
    donate-alipay
               donate-weixin weixinpay

发表评论↓↓