当前位置:首页 » 服务存储 » odps查询表存储量
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

odps查询表存储量

发布时间: 2023-03-29 23:31:49

① 2.3 阿里云ODPS常用SQL操作

SQL语句查询时,可使用的关键字:

命令格式如下:

如果需要整个项目都允许全表扫描,可以通过开关自行打开或关闭(true/false),命令如下:

查询的对象是另外一个Select操作,如:

UNION ALL:将两个或多察纤答个Select操作返回的数据集联合成一个数据集,如果结果有重复行时,会返回所有符合条件的行,不进行重复行的去重败慧处理。
UNION [DISTINCT]:其中DISTINCT可忽略。将两个或多个Select操作返回的数据集联合成一个数据集,如果结果有重复行时,将进行重复行的去重处理。
UNION ALL示例如下:

UNION示例如下:

--执行的效果相当于

left join:左连接,会从左表(shop)中返回所有的记录,即使在右表(sale_detail)中没有匹配的行。

right outer join:右连接,返回右表中的所有记录,即使在左表中没竖散有记录与它匹配。
示例如下:

full outer join:全连接,返回左右表中的所有记录。
示例如下:

inner join:在表中存在至少一个匹配时,inner join返回行。关键字inner可省略。

命令格式如下:

② ODPS开发笔记

在insert overwrite到一张乎告分区表时,可以在语句中指定分区到值。也可以用另一种更加灵活到方式,在分区中指定一个分区列名但不给出值。相应的,在SELECT子句中的对应列来提供分区的值。

ODPS SQL支持在一个语句中插入不同的结果表或者分区。

注意:where子句,如果在in/not in 条件后加子查询,子查询只能返回一列值,且返回值的数量不能超过1000条记录。

使用情景:一基备个大表和一个或多个小表做join。
基本原理:将用户指定的小表全部加载到搏顷毁执行join操作的程序内存中,从而加快join的执行数据。

将两个或者多个SELECT操作返回的数据集联合成一个数据集

把数据按照一定条件分成多组称为开窗,每个组称为一个窗口,partirion by部分用来指定开窗的列。
分区列的值相同的行被视为在同一个窗口内order by用来指定数据在一个窗口内如何排序。
windowing_clause部分可以用rows指定开窗方式,有两种方式:

③ ODPS JOIN

阿里云中Max Compute(原ODPS)计算引擎学习备忘录。

子查询等价: https://help.aliyun.com/document_detail/73781.html?spm=a2c4g.11186623.6.695.bfdd28dc5TaSoL#title-kho-mt6-6rm
以下in语句只在ODPS2中生明袜此效。但是可以清楚地看到semi join与anti join的含义。

类似交集 union

LEFT SEMI Join的处理逻辑是对于左表的每一条记录,都去和右表进行匹配,如果匹配成功,则输出左表。这里需要注意的激迅是由于只输出左表,所以JOIN后的Where条件中不能写右侧的过滤条件。LEFT SEMI JOIN常用来实现exists的语义。

类似补集 except / minus

LEFT ANTI Join的处理逻辑是对于左表的每一条记录,都去和右表进行匹配,如果右表所有的记录都没有匹配成功,则输出左表。同样由于只输出左表,所以JOIN后的Where条件中不能写右侧的过滤条件。LEFT SEMI JOIN常常用来实现not exists的语义。

详细语法说明好高: https://help.aliyun.com/document_detail/73783.html?spm=a2c4g.11186623.2.11.66bd7eb5iuC82y#title-6wq-wbn-brl

MaxCompute的JOIN操作分为左连接、右连接、全连接、内连接。以下四种命令中的 outer / inner 都可以省略。

https://help.aliyun.com/document_detail/89993.html

④ odps 中的分区表怎么存储

基本磁盘:间久应用广泛种磁盘类型;兼容性兼容微软所操作系差扮唯统;态缺乱磁盘:虚培windows 2000/2003/xp支持比基本磁盘具较强扩展性靠性

⑤ 2.2 阿里云ODPS常用命令总结

命令格式如下:

其中,各纤州字段代表含义如下:
• Owner(表的属主)。
• Project:表所属的项目空间。
• CreateTime:创建时间。
• LastDDLTime:昌含最后一次DDL操作时间。
• LastModifiedTime:表中的数据最后一次被改动的时间。
• InternalTable:表示被描述的对象是表,总是显示YES。
• Size:表数据所占存毁迅蔽储容量压缩后的大小,压缩比一般为5倍,单位Byte。
• Native Columns:非分区列的信息,包括列名、类型和备注。
• Partition Columns:分区列信息,包括分区名、类型和备注。
• Extended Info:外部表StorageHandler 、Location等信息。

⑥ odps相关笔记

selectsubstr("abc",1,2);--截取字符串selectsubstr('20200303',1,6)month;

selectsubstr(REPLACE('2014-08-31','-',''),1,6);--201408selectTO_CHAR('岩衫拍2019-02-24 22:30:29','yyyymm');--201902selectconcat(split_part('08/30/2020','/',3),split_part('08/30/2020','/',1),split_part('08/30/2020','/',2));--20200830

selectdatediff(TO_DATE('202007','yyyymm'),TO_DATE('塌桥202008','yyyymm'),'mm');-- -1

selectif(b.original_order_idisnull,'直接付费','有过试用')asinfo;--满足条件则粗羡参数2,不满足则参数3

tunnel download -c GBK -h=True  lintt_dingyue_rukou_20200619 lintt_yingye_20200618_success_5.csv;--直接导出表,无条数限制。

⑦ ODPS(MaxCompute)基础教程

1. 什么是ODPS

简单讲就是数据仓库,可以存储海量数据,可针对海量数据进行分析、计算。

本命其实叫 MaxCompute ,本文介绍统称为ODPS 

官方文档链接: https://help.aliyun.com/document_detail/27800.html?spm=a2c4g.11186623.6.542.17ae65d4wAeKXV

DataWorks 开发套件

是数据工场,对ODPS数据进行加工处理,主要提供了: 数据集成 、 数据开发 、 数据管理 、 数据治理 、 数据分享 等功能。

官方文档链接: https://help.aliyun.com/document_detail/73015.html?spm=a2c4g.11186623.2.13.5ef65b9cBmTZdQ#concept-wqv-qbp-r2b

2. 登录篇(阿里云子账号)

子账号登录地址: https://signin.aliyun.com/login.htm

产品列表:数加 · DataWorks

账号赋权:如需要进行数据开发,需要根据业务需求,赋对应缓枯握的工作空间的对应权限。

进入DataWorks> 扰庆工作空间列表页面,单击对应项目中的进入工作区,即可进入数据开发页面。(如下图)

2.使用篇

目前数据仓败尘库的整体概况

目前承载的业务

业务操作日志备份分析

其他日志:系统运行日志

BI 数据分析相关(市场部BI)

开发前环境准备

开通DataWorks 权限的子账号

创建项目(1)

官方的文档: https://help.aliyun.com/document_detail/27815.html?spm=a2c4g.11186623.6.568.60d01df0XvZAoh

目前我们的工作空间

新建调度资源(2)

一般进行简单的数据分析只需要默认的调度资源就满足业务需求(目前的模式就是按量付费)

需要进行特殊的数据集成、数据操作时会用到自定义资源

PyOdps 资源组:执行py脚本的资源组

mongoDB 资源组:进行MongDb --> ODPS 时会用到资源进行数据同步。

新增数据源(3)

路径:选择项目 -> 选择数据集成 -> 同步资源管理 -> 数据源

按照官方文档新增即可

数据源列表

批量数据上云(4)

路径:选择项目 -> 选择数据集成 -> 同步资源管理 -> 数据源 -> 整库数据迁移

数据开发前准备工作完成,可以进入开发阶段。

3 开发篇

数据开发

基本概念:

业务流程:解决一个业务的抽象模型,可以是一个问题的处理流程。

解决方案:多个业务流程组合成一个解决方案,在同一个解决方案里面可以复用相同的业务流程。

其他的概念: https://help.aliyun.com/document_detail/73017.html?spm=a2c4g.11186623.6.543.3b757c78aHPhAD

数据开发流程:

数据开发流程:

选取两个现有的业务进行数据开发演示

财务部门需求

数据埋点分析

流程图如下

4 运维

运维中心:

⑧ ODPS SQL获取max_pt

select max_pt('tableName')对于分区的表,此函数返回该分区表的一级分区的最大值,按字母排序,且该分区下有对应的数据文件。说明: tableName:String 类型,指定表名(必须带上 project 名,例如:prj.src),用户必须拥有该表的读权限。返回值:最大的一级分区的值。例:tab 是分区表,该表对应的分区如下,且都有数据文件。pt=�' pt=�' select * from tab where pt=max_pt('project.tab');该语句 max_pt 值为“20080808”,阿里云 ODPS 数据库 SQL 语句读出 pt=�' 分区下的数据。备注:如果只是用 alter table 的方式新加了一个分区,但是此分区中并无任何数据文件,则此分区不会做为返回值。
max_pt 是个非常好用的函数,可以获取分区表的最新分区,正因为好用,促成使用人员养成了在任意场景下都使用 max_pt 来替代 '${bizdate}' 的习惯。什么场景下会使用?1. 当天数据无法及时产出,想使用最近一个分区的数据。2.使用最新分区的数据,回刷历史某一天的数据。
使用 max_pt 可能引发的风险:1. 部分任务会产出未来日期的分区,比如某业务订单表 ccbOrder 有 20080808 分区,把未完结订单都放在20080808 分区里,此时用 max_pt 可能会取不到想要的数据。2. 同一个结果表,分多段 insert 数据至同一结果表,当多段任务并未完成时,使用 max_pt 获取不到全量数据。3.当 datax 同步任务刚添加好分区,数据未完成同步,使用 max_pt,只获取了部分数据。4.回刷数据,确保数据源自历史分区数据状态,使用 max_pt 达不到这个目的。

⑨ 阿里云的大数据应用ODPS应该怎么使用

阿里云开放数据处理服务(Open Data Processing Service简称ODPS)是构建在飞天系蚂陵统上的大规模分布式数段物罩据梳理服务。处理量大,一般用握闹户用来购买日志和业务数据进行数据挖掘。