MaxCompute常用语句汇总(更新ing)

大数据计算服务(MaxCompute,原名ODPS,产品地址:https://www.aliyun.com/product/odps)是一种快速、完全托管的TB/PB级数据仓库解决方案。MaxCompute向用户提供了完善的数据导入方案以及多种经典的分布式计算模型,能够更快速的解决用户海量数据计算问题,有效降低企业成本,并保障数据安全。本文收录了一些MaxCompute常用SQL、MR、Tunnel等语句,帮助您快速了解并使用MaxCompute/ODPS。

 

创建内部表

CREATE TABLE table_name (name string); 

 

创建内部表,并指定分区字段

CREATE TABLE table_name (name string) PARTITIONED BY (ds string); 

 

创建内部表,并指定生命周期

CREATE TABLE table_name (name string) 
PARTITIONED BY (ds string) LIFECYCLE 365;

 

创建内部表,并从其他表导入数据

 

CREATE TABLE table_name AS SELECT * FROM table_name2 ;

 

 

创建内部表,并从其他表复制表结构

 

CREATE TABLE table_name LIKE table_name2 ;

 

 

创建虚拟DUAL表

-- 创建表
CREATE TABLE IF NOT EXISTS dual (
    value BIGINT COMMENT 'value'
)
COMMENT 'dual';

-- 插入一条数据
INSERT OVERWRITE TABLE dual
SELECT COUNT(*)
FROM dual;


 

创建外部表

CREATE EXTERNAL TABLE IF NOT EXISTS table_name
(
a type,
)
STORED BY 'com.aliyun.odps.CsvStorageHandler' -- (1)
WITH SERDEPROPERTIES (
'odps.properties.rolearn'='acs:ram::1811270634786818:role/aliyunodpsdefaultrole'
) -- (2)
LOCATION 'oss://oss-cn-shanghai-internal.aliyuncs.com/oss-odps-test/Demo/'; -- (3)(4)

 

创建内部表,并判断是否内布表是否已经存在

CREATE TABLE  IF NOT EXISTS  table_name (name string); 

加了 IF NOT EXISTS ,sql执行的结果总是成功;如果没加,表存在的情况下会返回失败。

 

显示所有表

SHOW TABLES;

 

显示部分表

SHOW TABLES LIKE 'yinlin*';

 

显示表分区

SHOW PARTITIONS <table_name>

 

表中添加一列 

ALTER TABLE table_name ADD COLUMNS (col_name1 type1)

可以一次增加多个列

 

添加一列并增加列字段注释

ALTER TABLE table_name ADD COLUMNS (test type COMMENT '测试');

 

更改表名

ALTER TABLE table_name RENAME TO new_table_name;

 

删除表

DROP TABLE table_name;

 

修改列名

ALTER TABLE table_name CHANGE COLUMN old_col_name RENAME TO new_col_name;

 

删除、修改列记录

1、创建一张表,结果为预期的表结构;

CREATE TABLE table2 (xxx);

2、把数据从原表导入到目标表,可以用SQL,比如:

INSERT OVERWRITE TABLE table2 SELECT * FROM table1;

3、更换表名:

ALTER TABLE table1 RENAME TO table1_bak;

ALTER TABLE table2 RENAME TO table1;

 

将文件中的数据加载到表中

TUNNEL upload -fd '\t' c:\file.txt table_name;

 

将表数据导出到文件中

TUNNEL d table_name c:\file.txt;

 

查看表的描述

DESC table_name; 

 

按条件查询

SELECT * FROM table_name  WHERE foo='';

 

统计数据总量

 

SELECT COUNT(1) FROM table_name;

 

将一个表的统计结果插入另一个表中

 INSERT OVERWRITE TABLE table_name SELECT a.bar, count(1) FROM table_name a WHERE a.foo > 0 GROUP BY a.bar;

 

 

欢迎大家补充...

https://yq.aliyun.com/ask/59888

 

3d0bf925ff04ddc63c499df7ac1bb482d10999ec

阿里巴巴大数据-玩家社区 https://yq.aliyun.com/teams/6/

---阿里大数据博文,问答,社群,实践,有朋自远方来,不亦说乎……

 

bba01b493e1c5d904e882b1c380673c6ebe49a98

本文为云栖社区原创内容,未经允许不得转载,如需转载请发送邮件至yqeditor@list.alibaba-inc.com;如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:yqgroup@service.aliyun.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。

e77cd6c7dd7335ca7d21a57bb14a19db.png

用云栖社区APP,舒服~

【云栖快讯】红轴机械键盘、无线鼠标等753个大奖,先到先得,云栖社区首届博主招募大赛9月21日-11月20日限时开启,为你再添一个高端技术交流场所  详情请点击

原文链接

转载于:https://my.oschina.net/u/3705041/blog/1549087

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值