Tunnel命令操作

大数据计算服务(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);
创建内部表,并指定生命周期
  1.  
    CREATE TABLE table_name (name string)
  2.  
    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.  
    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;
查看表的描述
  1. 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;

 

猜你喜欢

转载自www.cnblogs.com/mrchis/p/9900631.html
今日推荐