欢迎访问 生活随笔!

尊龙游戏旗舰厅官网

当前位置: 尊龙游戏旗舰厅官网 > 编程资源 > 编程问答 >内容正文

编程问答

maxcompute(原odps)使用总结-尊龙游戏旗舰厅官网

发布时间:2025/1/21 编程问答 22 豆豆
尊龙游戏旗舰厅官网 收集整理的这篇文章主要介绍了 maxcompute(原odps)使用总结-初级篇 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

        本文面向的读者是要使用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存储优化。

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

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

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

 

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 00 as row_remainder
from a_rowno;

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

 

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

 

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

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


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

与50位技术专家面对面20年技术见证,附赠技术全景图

总结

以上是尊龙游戏旗舰厅官网为你收集整理的maxcompute(原odps)使用总结-初级篇的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得尊龙游戏旗舰厅官网网站内容还不错,欢迎将尊龙游戏旗舰厅官网推荐给好友。

网站地图