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

:SQL コマンドの実行と結果のエクスポート

最終更新日:Jun 23, 2026

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

前提条件

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

背景情報

MaxCompute クライアントは、DDLDMLDQL などの操作をサポートしています。

MaxCompute クライアントの一般的な SQL コマンドのリストについては、「一般的なコマンドのリスト」をご参照ください。

ステップ 1:SQL コマンドの実行

  1. 非パーティション化テーブル 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    |
    +------------+------------+------------+

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

Tunnel Download を使用して、MaxCompute テーブルからローカルマシンにデータをエクスポートします。 Tunnel の操作の詳細については、「Tunnel コマンド」をご参照ください。 手順は次のとおりです:

  1. データファイルのエクスポートパスを指定します。
    ファイル名 (例:bin) のみを指定して、MaxCompute クライアントの filename.extension ディレクトリにデータをエクスポートできます。 または、完全なパス (例:D:\test\filename.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 メッセージは、エクスポートが成功したことを示します。
    odps@ doc_test_dev>tunnel download result_table2 D:\test\result_table2.csv;
    2021-05-18 18:19:16  -  new session: 202105181821291531f60b253e09d6    total lines: 15
    2021-05-18 18:19:16  -  file [0]: [0, 15), D:\test\result_table2.csv
    downloading 15 records into 1 file
    2021-05-18 18:19:16  -  file [0] start
    2021-05-18 18:19:16  -  file [0] OK. total: 337 bytes
    total: 337 bytes, time: 282 ms, average speed: 1,000 bytes/s
    download OK
    odps@ doc_test_dev>
  3. エクスポートパスで、データファイルが存在し、完全であることを確認します。

    result_table1 からエクスポートされたデータは次のとおりです。

    basic.4y,227
    basic.6y,172
    basic.9y,709
    high.school,1641
    illiterate,1
    professional.course,785
    university.degree,2399
    unknown,257

    エクスポートされたファイルは D:\test ディレクトリに保存され、result_table2.csv という名前が付けられます。 データをプレビューすると、列が学歴、カウント、およびクレジットステータスに対応しており、result_table2 のデータと一致していることがわかります。

次のステップ

サンプルデータまたは MaxCompute プロジェクトが不要になった場合は、不要な料金が発生しないように削除できます。 データまたは MaxCompute プロジェクトの削除方法の詳細については、「テーブルまたは MaxCompute プロジェクトの削除」をご参照ください。