MaxCompute 使用总结-初级篇
本文面向的读者是要使用MaxCompute sql进行一些数据查询和挖掘 或者要使用MaxCompute udf自定义函数的用户。本文试图达到三个目标 1 针对应用管理者来讲 看完本文后可以比较清晰的去管理自己的应用 2 针对MaxCompute sql使用者来讲 本文在sql语句的内建函数使用以及sql语句加速方面 给出了一些例子 3 针对MaxCompute UDF使用者和开发者来讲 本文提供了一个UDF函数创建的完整例子并给出了无IDE依赖的java工程 可直接在公司内部机器上编译使用。具体的内容安排如下。
第1节介绍了ODPS数据上传下载的一些知识 通过本章你可以将数据上传到ODPS中亦可将ODPS中的数据下载到本地。第2节阐述了ODPS sql语句中一些内建函数的使用以及sql语句加速的一些技巧。第3节阐述了ODPS UDF函数的创建以及使用的整个例子 欢迎大家一起贡献常用的UDF函数。第4节中介绍了如何实时的进行在线以及离线的任务监控。第5节中介绍了如何进行MaxCompute存储优化。 1.MaxCompute数据上传下载使用Datahub 对表格进行上传/下载
更多上传下载相关参数请查看
https://help.aliyun.com/document_detail/27849.html?spm 5176.doc27864.6.154.k7rmpf
2.MaxCompute sql语句 sql语句样例在MaxCompute sql界面上可以很方便的执行sql语句 以下简要介绍几个MaxCompute上内建函数的使用。更多的内建函数请参考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
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
日常任务上线后 我们必须做好监控措施 这样才能在任务发生异常后进行及时地发现错误然后纠正恢复。实时的任务监控可以访问网站http://data.aliyun.com 里的大数据开发套件进行任务资源占用的监控 并同时访问任务返回的logview进行查看。
5.MaxCompute存储优化随着应用中人数以及业务的不断增加 ODPS应用里会有很多表的生成 这时候需要应用的负责人去做好ODPS的存储优化https://yq.aliyun.com/articles/61532?spm 5176.100240.searchblog.22.anssTb 否则每周推送过来的应用资源消耗周账单中的健康度会非常低 也比较浪费MaxCompute的存储资源。
欢迎加入“数加·MaxCompute购买咨询”钉钉群 群号 11782920 进行咨询 群二维码如下
MaxCompute - ODPS重装上阵 第九弹 - 脚本模式与参数视图
MaxCompute提供了新的脚本模式与参数化视图,可以明显提高开发者的编程效率,提高代码的可重用性,与此同时,也提高了性能!
MaxCompute - ODPS重装上阵 第八弹 - 动态类型函数
MaxCompute自定义函数的参数和返回值不够灵活,是数据开发过程中时常被提及的问题。Hive 提供给了 GenericUDF 的方式,通过调用一段用户代码,让用户来根据参数类型决定返回值类型。MaxCompute 出于性能、安全性等考虑,没有支持这种方式。
MaxCompute - ODPS重装上阵 第七弹 - Grouping Set, Cube and Rollup
MaxCompute中的GROUPING SETS功能是SELECT语句中GROUP BY子句的扩展。允许采用多种方式对结果分组,而不必使用多个SELECT语句来实现这一目的。这样能够使MaxCompute的引擎给出更有的执行计划,从而提高执行性能。
DLA支持MaxCompute(ODPS)数据源
DLA支持MaxCompute(ODPS)数据源
1. 概述
支持功能包括:
MaxCompute(ODPS)的数据查询,目前复杂数据类型以字符串形式返回;
一条命令同步对应project下的所有表。
MaxCompute - ODPS重装上阵 第五弹 - SELECT TRANSFORM
MaxCompute(原ODPS)是阿里云自主研发的具有业界领先水平的分布式大数据处理平台, 尤其在集团内部得到广泛应用,支撑了多个BU的核心业务。 MaxCompute除了持续优化性能外,也致力于提升SQL语言的用户体验和表达能力,提高广大ODPS开发者的生产力。
MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。
隐林
阿里云大数据产品专家,擅长MaxCompute、机器学习、分布式、可视化、人工智能等大数据领域;
相关文章
- 2022年蓝队初级护网总结
- 面试:第十二章:所有总结
- LaTeX大括号公式和一般括号总结
- 如何比较两个或多个分布:从可视化到统计检验的方法总结
- 有了这篇网络排错思路大总结/我帮了不少女同事~
- ProjFS新手开发总结
- 【BLE MIDI】MIDI 文件格式分析总结 ★★★
- MongoDB aggregate 运用篇个人总结
- Hadoop学习总结之五:Hadoop的运行痕迹详解大数据
- hadoop 知识点总结详解大数据
- javaweb学习总结(四十七)——监听器(Listener)在开发中的应用详解编程语言
- Java hashCode() equals()总结详解编程语言
- PHP初学者头疼问题总结
- 登录验证全局控制的几种方式总结(session)