原文链接:http://click.aliyun.com/m/13982/

引言

本文面向的读者是要使用ODPS sql进行一些数据查询和挖掘,或者要使用ODPS udf自定义函数的用户。本文试图达到三个目标:(1)针对应用管理者来讲,看完本文后可以比较清晰的去管理自己的应用;(2)针对ODPS sql使用者来讲,本文在sql语句的内建函数使用以及sql语句加速方面,给出了一些例子;(3)针对ODPS UDF使用者和开发者来讲,本文提供了一个UDF函数创建的完整例子并给出了无IDE依赖的java工程,可直接在公司内部机器上编译使用。具体的内容安排如下。

  • 第1节介绍了ODPS数据上传下载的一些知识,通过本章你可以将数据上传到ODPS中亦可将ODPS中的数据下载到本地。

  • 第2节阐述了ODPS sql语句中一些内建函数的使用以及sql语句加速的一些技巧。

  • 第3节阐述了ODPS UDF函数的创建以及使用的整个例子,欢迎大家一起贡献常用的UDF函数。

  • 第4节中介绍了如何实时的进行在线以及离线的任务监控。

  • 第5节中介绍了如何进行ODPS存储优化。

1.MaxCompute数据上传下载

使用Datahub ,对表格进行上传/下载

更多上传下载相关参数请查看

https://help.aliyun.com/document_detail/27849.html?spm=5176.doc27864.6.154.k7rmpf

2.MaxCompute sql语句

sql语句样例

在ODPS sql界面上可以很方便的执行sql语句,以下简要介绍几个odps上内建函数的使用。更多的内建函数请参考https://help.aliyun.com/document_detail/27864.html

聚类采样

create table A_sample as

select `(sample_flag)?+.+` from

(

select *, cluster_sample(20, 1) over (partition by A_key1) as sample_flag

from A

) sample

where sample_flag=true;

行记录合并

create table A_group as

select  A_key1, wm_concat(',', A_key2) as A_key2s from A

group by A_key1;

计算分割串个数

create table A_count_key_size as

select *, size(split(A_key, ',')) as A_key_count

from A;

行记录序号打标

create table A_rowno as

select *, ROW_NUMBER() OVER(PARTITION BY 1  order by A_key) as row_no

from A;

sql单语句加速

如何控制ODPS原生sql语句分配的节点个数?有以下两种方法可以设置。
1.通过参数设置:
set odps.sql.mapper.merge.limit.size=64;
set odps.sql.mapper.split.size=256;
这两个sql参数可以控制分配的节点个数,更多sql参数请参考https://yq.aliyun.com/articles/60898。如果把参数设到了极限,sql分配的节点个数还是不能满足需求的话,怎么办?没事,我们还可以将表格进行分区,如下所述。
2. 对表格进行分区:
create table A_rowno as
select A_key, ROW_NUMBER() OVER(PARTITION BY 1  order by A_key) as row_no
from A;

create table A_pt
(A_key string
)
partitioned by (row_remainder bigint);

insert overwrite table A_pt partition(row_remainder)
select A_key, row_no%2000 as row_remainder
from A_rowno;

为了描述的方便,我将各个步骤分开来写,实际操作中可以将一些合并起来写。

3.MaxCompute UDF

编写UDF参考https://yq.aliyun.com/articles/61887

4.MaxCompute数据和任务的线上监控

日常任务上线后,我们必须做好监控措施,这样才能在任务发生异常后进行及时地发现错误然后纠正恢复。实时的任务监控可以访问网站http://data.aliyun.com 里的大数据开发套件进行任务资源占用的监控,并同时访问任务返回的logview进行查看。

5.MaxCompute存储优化

随着应用中人数以及业务的不断增加,ODPS应用里会有很多表的生成,这时候需要应用的负责人去做好ODPS的存储优化https://yq.aliyun.com/articles/61532?spm=5176.100240.searchblog.22.anssTb,否则每周推送过来的应用资源消耗周账单中的健康度会非常低,也比较浪费ODPS的存储资源。

转载于:https://blog.51cto.com/11778640/1906642

MaxCompute(原ODPS)使用总结-初级篇相关推荐

  1. 5分钟学会使用DataHub接入实时数据到MaxCompute(原ODPS)

    免费开通大数据服务:https://www.aliyun.com/product/odps DataHub服务是MaxCompute提供的流数据服务, 并提供把实时数据准实时归档到MaxCompute ...

  2. odps传大文件到oss上_【大数据干货】数据进入阿里云数加-大数据计算服务MaxCompute(原ODPS)的N种方式...

    原文链接:http://click.aliyun.com/m/13946/ 想用阿里云大数据计算服务(MaxCompute),对于大多数人首先碰到的问题就是数据如何迁移到MaxCompute中.按照数 ...

  3. 从MapReduce的执行来看如何优化MaxCompute(原ODPS) SQL

    摘要: SQL基础有这些操作(按照执行顺序来排列): from join(left join, right join, inner join, outer join ,semi join) where ...

  4. 从MapReduce的执行来看如何优化MaxCompute(原ODPS) SQL 1

    摘要: SQL基础有这些操作(按照执行顺序来排列): from join(left join, right join, inner join, outer join ,semi join) where ...

  5. BigData:MaxCompute大数据计算服务(阿里巴巴开发/原ODPS/云计算分布式)的简介(基本概念/功能/流程图)、使用方法之详细攻略

    BigData:MaxCompute大数据计算服务(阿里巴巴开发/原ODPS/云计算分布式)的简介(基本概念/功能/流程图).使用方法之详细攻略 目录 背景-传统分布式计算的弊端 MaxCompute ...

  6. TextSeek使用教程(初级篇) - 文件搜索软件

    TextSeek使用教程 (初级篇) 下载安装 搜索初体验 挖掘搜索结果 预览文档内容 软件主要特点 最后 TextSeek使用教程 (初级篇) 随着大家收集整理的文档日益增加,越来越多的文件难以管理 ...

  7. 阿里大数据-数据库总结:RDS ADS OTS Maxcompute(ODPS)

    阿里云大数据开发套件的使用,主要涉及到odps.ads.rds.ots相关数据库的操作,所以针对性的做一些总结,并将阿里云中产品与实际产品对应分析. Maxcompute(原odps) 阿里云中的Ma ...

  8. 《挑战程序设计竞赛》--初级篇习题POJ部分【动态规划】

    关于基本的动态规划和经典的动态规划,在之前已经总结过了,可以温习一下: 传送门 这次是延续上次的<挑战程序设计竞赛>初级篇,总结部分poj上的练习题,主要是DP方面的练习题: 一.基础的动 ...

  9. 金融时间序列分析_写给你的金融时间序列分析:初级篇

    1 前文回顾 前文--<写给你的金融时间序列分析:基础篇>--介绍了金融时间序列的核心特性:自相关性:说明金融时间序列分析的核心正是挖掘该时间序列中的自相关性.一个优秀的模型应该能够有效的 ...

  10. 《Unity Shader入门精要》笔记:初级篇(2)

    本篇博客主要为个人学习所编写读书笔记,不用于任何商业用途,以及不允许任何人以任何形式进行转载. 本篇博客会补充一些扩展内容(例如其他博客链接). 本篇博客还会提供一些边读边做的效果截图.文章内所有数学 ...

最新文章

  1. 批标准归一化(Batch Normalization)解析
  2. 用链栈实现简易四则运算计算器(php版)
  3. Mysql的innodb缓冲池管理(转)
  4. Python Django单表增删改操作
  5. java异常—— finally 子句+带资源的 try语句
  6. php根据分类生成网址,PHP实现无限极分类生成分类树的方法
  7. IndexNotReadyException: Please change caller according to com.intellij.openapi.project.IndexNotReady
  8. 详解C#防访问修饰符:public,private,protected,internal
  9. netty 多个 本地udp端口_如何在SpringBoot中,使用Netty实现远程调用?
  10. 批处理框架 Spring Batch,数据迁移量过大如何保证内存?
  11. numpy: np.random.get_state()
  12. CSC 命令编译cs文件
  13. 如何从0开始编写一个网络爬虫?
  14. LM2596电源降压调整器(150KHZ 3A)原理图中文版
  15. Scala编程思想高清中文版PDF
  16. python--生成器
  17. 惠州市政企信息化(互联网)市场调研报告
  18. C语言笔记含源码(变量、输入输出、分支、循环、函数、数组、指针、字符串、结构体)小总结
  19. VMware15.5创建Windows7教程
  20. Python识别快递条形码及Tesseract-OCR使用详解

热门文章

  1. 自己快速提升SCI论文质量的简单方法:分清研究类型,遵从指南修改
  2. 前端(五)——CSS之美化页面
  3. Matlab | matpower5.0:最优潮流执行步骤
  4. 人工智能 | SLAM与Visual Odometry技术综述(浙江大学智能系统和控制研究所)
  5. mac安装nvm及换源及node安装切换
  6. MFC中如何从EDIT控件中获取文字
  7. 数学之路(2)-数据分析-R基础(5)
  8. windows如何访问linux系统文件,如何从 Windows 访问 Linux 文件?——方法步骤
  9. android videoview播放进度,android – 获取视频播放视频的进度时间?
  10. queue源码java_看看AbstractQueue源码Java9