遇到一个项目需求是统计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. moment时间转换插件

    在vue中的使用: import moment = from “moment” Vue.prototype.$moment = moment; 获取时间戳 : var res = this.$mome ...

  2. vue轮播图

    vue开发中遇到这样一个需求实现导航栏和中间内容相结合实现页面滑动导航跟随改变的效果.看效果: 这里我用的是vue所带的插件:vue-awesome-swiper,传送门:https://www.np ...

  3. 用with来打开文本文件

    with open ('text.txt') as f: for line in f.readlines(): print(line) 这种方法的好处就是如果出了异常也会自动提示报错.

  4. 在mac os x 下升级emacs

    大概是09年的时候接触到emacs这个编辑器,当时我们c语言老师用的,他自信满满,而那时我是个vimer,所以每次看他按那么多组合键我就替他感觉手指头累啊. 再后来我用了几年vim写代码,再后来用了许 ...

  5. windows主机与virtualbox虚拟机下的Linux共享网络

    环境: 主机:windows7 虚拟机:virtualbox 4.2 虚拟系统:CentOS6.2 需求: 1.虚拟机linux可以共享主机网络上互联网 2.主机.虚拟机互通讯,组成一个虚拟的局域网, ...

  6. 《DSP using MATLAB》示例 Example6.7

    代码: M = 32; alpha = (M-1)/2; magHk = [1, 1, 1, 0.5, zeros(1, 25), 0.5, 1, 1]; k1 = 0:15; k2 = 16:M-1 ...

  7. HTML5的28个常用特性

    1. 新的Doctype 尽管使用<!DOCTYPE html>,即使浏览器不懂这句话也会按照标准模式去渲染 2. Figure元素 用<figure>和<figcapt ...

  8. {Reship}{Socket}C#简单应用

    This article come frome here ======================================================================= ...

  9. WINDOWS下kill进程的命令

    相信大家都有用命令行(CMD)解决问题的习惯,起码我感觉自己在处理Windows系统故障时越来越离不开Windows PE了,今天我想介绍两个很实用的命令:Tasklist与Tskill.命令:Tas ...

  10. Fuel9.0安装openstack过程中所踩过的坑2018最新版

    坑一,安装好后,无法访问Web UI画面 访问https//10.20.0.2:8443无法打开UI画面.首先我们不管以后的步骤,打不开是很不爽的. 解决方法:把下面网卡1,网卡2,网卡3的界面名称都 ...