すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:SQL文を実行し、結果データをエクスポートする

最終更新日:Nov 22, 2024

このトピックでは、MaxComputeクライアントでSQL文を実行し、Tunnel Downloadコマンドを使用して結果データをダウンロードする方法について説明します。

前提条件

データはMaxComputeテーブルにインポートされます。 データをインポートする方法の詳細については、「データをテーブルにインポートする」をご参照ください。

背景情報

提供された構文に基づいて、MaxComputeクライアントでDDLDML、およびDQLステートメントを実行できます。

MaxComputeクライアントで実行できる一般的なSQL文の詳細については、「一般的なSQL文」をご参照ください。

手順1: SQL文の実行

  1. MaxComputeクライアントで、非パーティションテーブルbank_dataおよびパーティションテーブルbank_data_ptから各教育レベルで住宅ローンを利用している独身者の人数を照会し、結果データをresult_table1およびresult_table2テーブルに書き込みます。

    -- Query the number of single persons with home loans at each education level from the non-partitioned table bank_data and write the result data to 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;
    
    -- Query the number of single persons with home loans at each education level from the partitioned table bank_data_pt and write the result data to 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;

    次の情報が返されます。

    -- Data in 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        |
    +------------+------------+
    -- Data in 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    |
    +------------+------------+------------+

ステップ2: 結果データのエクスポート

Tunnel Downloadコマンドを実行して、MaxComputeテーブルからコンピューターにデータをエクスポートします。 トンネル操作の詳細については、「トンネルコマンド」をご参照ください。

  1. エクスポートパスを決定します。

    データをファイルとしてMaxComputeクライアントのbinディレクトリにエクスポートできます。 この場合、exportコマンドでは、File name.File name extension 形式でエクスポートパスを指定する必要があります。 データをファイルとして別のディレクトリ (ドライブDのtestフォルダなど) にエクスポートすることもできます。この場合、exportコマンドでは、D:\test\File name.File name extension形式でエクスポートパスを指定する必要があります。

    この例では、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が返された場合、データはエクスポートされます。 Exported

  3. データがエクスポートパスに完全にエクスポートされているかどうかを確認します。

    次の図は、result_table1からエクスポートされたデータを示しています。

    Export result 1

    次の図は、result_table2からエクスポートされたデータを示しています。

    Export result 2

追加情報

サンプルデータまたはサンプルデータが使用されているMaxComputeプロジェクトを使用する必要がなくなった場合は、データまたはMaxComputeプロジェクトを削除して、リソース消費とストレージ料金を削減できます。 データとMaxComputeプロジェクトを削除する方法の詳細については、「テーブルまたはMaxComputeプロジェクトの削除」をご参照ください。