• ODPS基础


     

    遇到一个项目需求是统计128张分库分表的数据表记录的最大id,通过单表查询计算非常费时,也无法应对分表数更多的情况,因此考虑到通过odps进行任务发布和运算

    在云端

    http://d2.alibaba-inc.com/
    是云梯的第二版,叫在云端,提供了开发工作台,工作流,权限管理,project管理和运维工具。
    能够从获得数据、开发数据、运维管理、出售加工好的数据,是数据处理操作的平台。
    而数据来源和数据计算都由ODPS系统提供

    ODPS

    开放数据处理服务(Open Data Processing Service,简称ODPS)是阿里巴巴自主研发的海量数据处理平台。 主要服务于批量结构化数据的存储和计算,可以提供海量数据仓库的解决方案以及针对大数据的分析建模服务。
    和在云端的关系就是,一个是平台,提供开发运维等操作,一个是底层设施,提供存储和计算

    ODPS基本概念

    项目空间(Project)

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

    分区表 partition

    指的是在创建表时指定的partition的分区空间,即指定表内的某几个字段作为分区列。在大多数情况下,用户可以将分区类比为文件系统下的目录。 ODPS将分区列的每个值作为一个分区(目录)。用户可以指定多级分区,即将表的多个字段作为表的分区,分区之间正如多级目录的关系。 在使用数据时如果指定了需要访问的分区名称,则只会读取相应的分区,避免全表扫描,提高处理效率,降低费用。

    create table src (key string, value bigint) partitioned by (pt string);  -- ODPS的分区目前只支持String类型
    select * from src where pt='20151201';      -- 正确使用方式。ODPS在生成查询计划时只会将'20151201'分区的数据纳入输入中
    select * from src where pt = 20151201;      -- 错误的使用方式。这样会做全表扫描

    数据类型

    目前仅支持Bigint 8字节有符号整型
    String 字符串,
    Boolean 布尔型。 True/False
    Double 8字节双精度浮点数。 -1.0 10308 ~ 1.0 10308
    Datetime 日期类型。使用东八区时间作为系统标准时间。 0001-01-01 00:00:00 ~ 9999-12-31 23:59:59
    Decimal Decimal类型整数部分36位有效数字 小数部分保留18位有效数字
    Array < T > 数组类型, T为bigint/boolean/double/string/decimal
    Map < T1, T2 >

    资源(Resource)

    用户如果想使用ODPS的 自定义函数(UDF) 或 MapReduce 功能需要依赖资源来完成
    比如用户编写了UDF或MapReduce,需要上传jar包,ODPS自动使用这些资源进行运算

    自定义函数UDF

    ODPS为用户提供了SQL计算功能,用户可以在ODPS SQL中使用系统的 内建函数 完成一定的计算和计数功能。 但当内建函数无法满足要求时,用户可以使用ODPS提供的Java编程接口开发自定义函数(User Defined Function,以下简称UDF)。 自定义函数(UDF) 又可以进一步分为标量值函数(UDF),自定义聚合函数(UDAF)和自定义表值函数(UDTF)三种。

    任务Task

    任务(Task)是ODPS的基本计算单元。SQL及MapReduce功能都是通过任务(Task)完成的。
    对于用户提交的大多数任务,特别是计算型任务,例如:SQL DML语句 ,MapReduce 等,ODPS会对其进行解析,得出任务的执行计划。 执行计划是由具有依赖关系的多个执行阶段(Stage)构成的。目前,执行计划逻辑上可以被看做一个有向图,图中的点是执行阶段, 各个执行阶段的依赖关系是图的边。ODPS会依照图(执行计划)中的依赖关系执行各个阶段。在同一个执行阶段内,会有多个进程,也称之为Worker, 共同完成该执行阶段的计算工作。同一个执行阶段的不同Worker只是处理的数据不同,执行逻辑完全相同。计算型任务在执行时,会被实例化, 用户可以操作这个 [实例(Instance)] 的信息,例如:获取实例状态( Status Instance ),终止实例运行( Kill Instance )等。

    配额

    ODPS的每个project有存储上限,计算能力也会因为内存和CPU来限制

  • 相关阅读:
    拓扑检查(ArcEngine)
    IMap.SelectByShape 方法选择要素
    根据图层获取要素的渲染颜色
    ArcEngine(AE)符号选择器及符号恢复功能【转载】
    版面元素介绍IElement
    示例:由线段生成一个环,由环构成一个多边形(可以包含多个环的多边形集)
    AO的Display对象简介二【转载】
    显示要素层中的某些要素
    示例:从GraphicsContain中取出一个元素
    示例:从Table中获取SelectionSet
  • 原文地址:https://www.cnblogs.com/gzxbkk/p/7999435.html
Copyright © 2020-2023  润新知