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;

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM