全部產品
Search
文件中心

MaxCompute:運行SQL命令並匯出結果資料

更新時間:Jun 19, 2024

本文介紹如何在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專案