美文网首页
MaxCompute常用语句汇总(更新ing)

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

作者: 猫饭先生 | 来源:发表于2017-10-11 15:16 被阅读0次

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

    创建内部表

    CREATETABLEtable_name(name string);

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

    CREATETABLEtable_name(name string)PARTITIONEDBY(ds string);

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

    CREATETABLEtable_name(name string)PARTITIONEDBY(ds string)LIFECYCLE365;

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

    CREATETABLEtable_name AS SELECT * FROM table_name2 ;

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

    CREATETABLEtable_name LIKE table_name2 ;

    创建虚拟DUAL表

    -- 创建表CREATETABLEIFNOTEXISTSdual(valueBIGINTCOMMENT'value')COMMENT'dual';-- 插入一条数据INSERTOVERWRITETABLEdualSELECTCOUNT(*)FROMdual;

    创建外部表

    CREATEEXTERNALTABLEIFNOTEXISTStable_name(atype,)STOREDBY'com.aliyun.odps.CsvStorageHandler'-- (1)WITHSERDEPROPERTIES('odps.properties.rolearn'='acs:ram::1811270634786818:role/aliyunodpsdefaultrole')-- (2)LOCATION 'oss://oss-cn-shanghai-internal.aliyuncs.com/oss-odps-test/Demo/'; -- (3)(4)

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

    CREATETABLEIFNOTEXISTStable_name(name string);

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

    显示所有表

    SHOWTABLES;

    显示部分表

    SHOWTABLESLIKE'yinlin*';

    显示表分区

    SHOWPARTITIONS

    表中添加一列

    ALTERTABLEtable_nameADDCOLUMNS(col_name1 type1)

    可以一次增加多个列

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

    ALTERTABLEtable_nameADDCOLUMNS(testtypeCOMMENT'测试');

    更改表名

    ALTERTABLEtable_nameRENAMETOnew_table_name;

    删除表

    DROPTABLEtable_name;

    修改列名

    ALTERTABLEtable_name CHANGECOLUMNold_col_nameRENAMETOnew_col_name;

    删除、修改列记录

    1、创建一张表,结果为预期的表结构;CREATETABLEtable2(xxx);2、把数据从原表导入到目标表,可以用SQL,比如:INSERTOVERWRITETABLEtable2SELECT*FROMtable1;3、更换表名:ALTERTABLEtable1RENAMETOtable1_bak;ALTERTABLEtable2RENAMETOtable1;

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

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

    将表数据导出到文件中

    TUNNELdtable_namec:\file.txt;

    查看表的描述

    DESCtable_name;

    按条件查询

    SELECT*FROMtable_nameWHERE foo='';

    统计数据总量

    SELECTCOUNT(1)FROMtable_name;

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

    INSERTOVERWRITETABLEtable_nameSELECTa.bar,count(1)FROMtable_nameaWHEREa.foo>0GROUPBYa.bar;

    欢迎大家补充...

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

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

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

    原文链接

    相关文章

      网友评论

          本文标题:MaxCompute常用语句汇总(更新ing)

          本文链接:https://www.haomeiwen.com/subject/lcewyxtx.html