このトピックでは、MaxCompute クライアントで SQL コマンドを実行し、Tunnel Download を使用して結果をエクスポートする方法について説明します。
前提条件
データが MaxCompute テーブルにインポートされていること。 データのインポート方法の詳細については、「テーブルへのデータのインポート」をご参照ください。背景情報
MaxCompute クライアントは、DDL、DML、DQL などの操作をサポートしています。MaxCompute クライアントの一般的な SQL コマンドのリストについては、「一般的なコマンドのリスト」をご参照ください。
ステップ 1:SQL コマンドの実行
- 非パーティション化テーブル 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; - 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 コマンド」をご参照ください。 手順は次のとおりです:
- データファイルのエクスポートパスを指定します。
ファイル名 (例:
bin) のみを指定して、MaxCompute クライアントのfilename.extensionディレクトリにデータをエクスポートできます。 または、完全なパス (例:D:\test\filename.extension) を指定して、別の場所にデータをエクスポートすることもできます。この例では、result_table1 のデータを MaxCompute クライアントの
binディレクトリにエクスポートし、result_table2 のデータを D ドライブの test フォルダにエクスポートします。 - MaxCompute クライアントで、Tunnel Download コマンドを実行してデータをエクスポートします。
コマンド例:
出力の OK メッセージは、エクスポートが成功したことを示します。tunnel download result_table1 result_table1.txt; tunnel download result_table2 D:\test\result_table2.csv;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> - エクスポートパスで、データファイルが存在し、完全であることを確認します。
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 プロジェクトの削除」をご参照ください。