遇到一个项目需求是统计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来限制

ODPS基础的更多相关文章

  1. 阿里云 MaxCompute(ODPS)

    大数据产品架构 BASE - Dataworks ODPS - MaxCompute ODPS 功能组成(Open Data Process Service) ODPS 是旧称,阿里云公有云服务中现称 ...

  2. 【ODPS】UDF基础

     UDF全称User Defined Function,即用户自己定义函数.ODPS提供了非常多内建函数来满足用户的计算需求,同一时候用户还能够通过创建自己定义函数来满足 不同的计算需求. UDF ...

  3. 阿里云大数据计算服务 - MaxCompute (原名 ODPS)

    MaxCompute 是阿里EB级计算平台,经过十年磨砺,它成为阿里巴巴集团数据中台的计算核心和阿里云大数据的基础服务.去年MaxCompute 做了哪些工作,这些工作背后的原因是什么?大数据市场进入 ...

  4. 用Fluent实现MySQL到ODPS数据集成

    安装ruby 首先通过 /etc/issue 命令查看当前使用centos是哪个版本: [hadoop@hadoop03 ~]$  cat /etc/issue 由于centos版本是6.6,安装ru ...

  5. hive sql基础了解

    会有些不一样 1 例如使用SQL 之前,要了解用了那个库,use jz_daojia 2 使用GET_JSON_OBJECT 函数等,以及参数 匹配 $.childBrithDay 挺有意思的.新玩意 ...

  6. java基础集合经典训练题

    第一题:要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10; 分析:*1.看到这个题目,或许你脑海中会想到很多方法,比如判 ...

  7. node-webkit 环境搭建与基础demo

    首先去github上面下载(地址),具体更具自己的系统,我的是windows,这里只给出windows的做法 下载windows x64版本 下载之后解压,得到以下东西 为了方便,我们直接在这个目录中 ...

  8. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  9. Golang, 以17个简短代码片段,切底弄懂 channel 基础

    (原创出处为本博客:http://www.cnblogs.com/linguanh/) 前序: 因为打算自己搞个基于Golang的IM服务器,所以复习了下之前一直没怎么使用的协程.管道等高并发编程知识 ...

随机推荐

  1. 从JDK源码角度看Object

    Java的Object是所有其他类的父类,从继承的层次来看它就是最顶层根,所以它也是唯一一个没有父类的类.它包含了对象常用的一些方法,比如getClass.hashCode.equals.clone. ...

  2. 升级到XE10

    下午抽空从XE7升级到XE10,用的是lsuper大侠的Dx10Update1_23.0.21418.4207,用到的控件基本装全乎了. 过程中也碰到点问题,记录下子. 1. cnPack结构匹配线与 ...

  3. DevExpress相关控件中非字符数值居左显示

    用了这么长时间的DevExpress控件,今天遇到俩问题. 一个是从头到尾看了一遍编译成功的例子,只能感慨,功能太丰富了,自己所用的不过是冰山一角.有些自己一直想实现的效果,原来早就有现成的可用,汗颜 ...

  4. JPA级联(一对一 一对多 多对多)注解【实际项目中摘取的】并非自己实际应用

    下面把项目中的用户类中有个:一对一  一对多  多对多的注解对应关系列取出来用于学习      说明:项目运行正常 问题类:一对多.一对一.多对多 ============一对多 一方的设置 @One ...

  5. Scoi 2010 幸运数字

    [题目描述]在中国,很多人都把6和8视为是幸运数字!lxhgww也这样认为,于是他定义自己的“幸运号码”是十进制表示中只包含数字6和8的那些号码,比如68,666,888都是“幸运号码”!但是这种“幸 ...

  6. Sharepoint Web.config trust level="Full"权限说明

    在SharePoint里面,不仅有用户的权限,还有代码的权限.比如,我们在安装一个自定义的WebPart的时候,默认的情况下是不能操纵文件夹的,如果你看一些教你怎么做WebPart的文章的话,你会发现 ...

  7. Redis 字符串与哈希

    /*** * 字符串 redis里的字符串 ***/ //设置key的值 redis 127.0.0.1:6379> set key 'my name is imay' //设置值的过期时间 ( ...

  8. 《selenium2 python 自动化测试实战》(3)——操作测试对象

    上一节我们说了如何定位元素,定位到元素以后就涉及到对元素的操作了,webdriver中常用的操作元素的方法有: clear  ——用于清除输入框的默认内容 send_keys  ——用于在一个输入框里 ...

  9. matlab调用c程序(转载)

    通过把耗时长的函数用c语言实现,并编译成mex函数可以加快执行速度. Matlab本身是不带c语言的编译器的,所以要求你的机器上已经安装有VC,BC或Watcom C中的一种. 如果你在安装Matla ...

  10. [MEF]第04篇 MEF的多部件导入(ImportMany)和目录服务

    一.演示概述此演示介绍了MEF如何使用ImportMany特性同时导入多个与相同约束相匹配的导出部件,并且介绍了目录服务(Catalog),该服务告知MEF框架可以在什么地方去搜寻与指定约束匹配的导出 ...