本文介紹如何在MaxCompute客戶端上運行SQL命令并通過Tunnel Download導出結果數據。

前提條件

已向MaxCompute的表中導入數據。更多導入數據操作,請參見導入數據

背景信息

MaxCompute客戶端支持DDLDMLDQL等操作,您可以結合相應語法運行SQL命令。

MaxCompute客戶端的常用SQL命令,請參見常用命令列表

步驟一:運行SQL命令

  1. 在MaxCompute客戶端,基于非分區表bank_data和分區表bank_data_pt,查詢各個學歷下的貸款買房的單身人士數量,并將結果分別保存到result_table1和result_table2中。
    命令示例如下。
    --查詢非分區表bank_data中各個學歷下的貸款買房的單身人士數量并將查詢結果寫入result_table1。
    insert overwrite table result_table1
    select education, count(marital) as num
    from bank_data
    where housing = 'yes' and marital = 'single'
    group by education;
    
    --查詢分區表bank_data_pt中各個學歷下的貸款買房的單身人士數量并將查詢結果寫入result_table2。
    set odps.sql.allow.fullscan=true;
    insert overwrite table result_table2 
    select education, count(marital) as num, credit 
    from bank_data_pt 
    where housing = 'yes' and marital = 'single'
    group by education, credit;
  2. 查詢result_table1和result_table2的寫入結果。
    命令示例如下。
    select * from result_table1;
    select * from result_table2;
    返回結果如下。
    --result_table1中的數據。
    +------------+------------+
    | education  | num        |
    +------------+------------+
    | basic.4y   | 227        |
    | basic.6y   | 172        |
    | basic.9y   | 709        |
    | high.school | 1641       |
    | illiterate | 1          |
    | professional.course | 785        |
    | university.degree | 2399       |
    | unknown    | 257        |
    +------------+------------+
    --result_table2中的數據。
    +------------+------------+------------+
    | education  | num        | credit     |
    +------------+------------+------------+
    | basic.4y   | 164        | no         |
    | basic.4y   | 63         | unknown    |
    | basic.6y   | 104        | no         |
    | basic.6y   | 68         | unknown    |
    | basic.9y   | 547        | no         |
    | basic.9y   | 162        | unknown    |
    | high.school | 1469       | no         |
    | high.school | 172        | unknown    |
    | illiterate | 1          | unknown    |
    | professional.course | 721        | no         |
    | professional.course | 64         | unknown    |
    | university.degree | 2203       | no         |
    | university.degree | 196        | unknown    |
    | unknown    | 206        | no         |
    | unknown    | 51         | unknown    |
    +------------+------------+------------+

步驟二:導出結果數據

基于Tunnel Download將MaxCompute表中的數據導出到本地。更多Tunnel操作,請參見Tunnel命令。導出結果數據的操作流程如下:

  1. 確認數據文件的導出路徑。
    數據文件的導出路徑有兩種選擇:您可以直接將數據以文件形式導出至MaxCompute客戶端的bin目錄中,導出路徑為文件名.后綴名;也可以導出至其他路徑下,例如D盤的test文件夾,導出路徑為D:\test\文件名.后綴名

    假設,表result_table1的數據導出至MaxCompute客戶端的bin目錄中,result_table2的數據導出至D盤的test文件夾下。

  2. 在MaxCompute客戶端,執行Tunnel Download命令導出數據。
    命令示例如下。
    tunnel download result_table1 result_table1.txt;
    tunnel download result_table2 D:\test\result_table2.csv;
    當出現圖示OK字樣,說明導出完成。導出完成
  3. 在導出路徑下確認數據文件的存在性及完整性。

    result_table1的導出結果確認如下。

    導出結果

    result_table2的導出結果確認如下。

    導出結果

后續步驟

如果您不再需要示例數據或MaxCompute項目,可以刪除數據或MaxCompute項目,以免產生不必要的資源浪費及賬單費用。刪除數據或MaxCompute項目的操作,請參見刪除表或MaxCompute項目