MaxCompute は、テラバイト (TB) からペタバイト (PB)、エクサバイト (EB) スケールに至るデータクエリシナリオをサポートし、業界内で顕著なパフォーマンス上の優位性を提供しています。本トピックでは、MaxCompute のパブリックデータセットおよびテストツールを使用して、TPC-DS ビッグデータベンチマークを通じて MaxCompute の性能を検証します。MaxCompute には以下の 2 つの性能テスト方法があります。方法 1(推奨) では、新しい MaxQA Query Acceleration エンジンを使用して TPC-DS テストを実施します。方法 2 では、MCQA エンジンを使用して TPC-DS テストを実施します(MCQA は新規ユーザーへの提供を終了しており、既存ユーザーのみがこの方法を参照できます)。
事前準備
環境を準備します。
TPC-DS テストを実行する前に、MaxCompute を有効化し、プロジェクトを作成してください。詳細については、「付録:プロジェクト構成パラメーター」をご参照ください。
方法 1(推奨):MaxQA(MaxCompute Query Acceleration 2.0)を有効化します。この機能は現在パブリックプレビュー中です(パブリックプレビューリンクをクリックして参加してください。リージョンごとの可用性については、パブリックプレビュースケジュールをご確認ください)。
「MaxQA Query Acceleration の概要」を参照して、サブスクリプションインスタンスを有効化し、インタラクティブなクォータグループを作成してください。
方法 2(新規ユーザーへの提供を終了):MCQA(MaxCompute Query Acceleration 1.0)を有効化します。これは既存の MCQA ユーザーのみが利用可能です。「MCQA Query Acceleration(新規ユーザーへの提供を終了)」を参照して、サブスクリプションインスタンスを有効化してください。
テストツールを準備します。
テストを簡略化するため、MaxCompute は自動化された TPC-DS 性能テストツールを提供しており、これにより TPC-DS テストを迅速に実行し、結果を自動的に生成できます。
重要このテストツールは現在 Linux 環境でのみサポートされており、JDK バージョン 1.7 以降が必要です。
「mc_tpcds_benchmark」をクリックしてツールパッケージをダウンロードし、ご利用の Linux サーバーで次のコマンドを実行して展開してください。
unzip mc_tpcds_benchmark.zip展開後のディレクトリ構造は次のとおりです。
. |_t1c7039e3-2a1d-451b-bfda-d14c49016243-tpc-ds-tool.zip |_config |_init_tools.sh |_load_table.sh |_logs |_odps_clt |_patches |_pt.sh |_queries_1 |_queries_1.quality |_queries_10 |_queries_100 |_queries_1000 |_queries_10000 |_queries_100000 |_querygen.sh |_results |_run_stream.sh |_run_stream.sh.offline |_sqls |_start_session_only.sh |_start_session.sql |_start_session.sql_tmp |_tools_file |_tt.sh |_v2.10.1rc3テストデータセットについて理解します。
MaxCompute はパブリックデータセットを提供しているため、テストデータを自分で準備する必要はありません。すべてのデータは MaxCompute のパブリックプロジェクト
BIGDATA_PUBLIC_DATASETに格納されています。詳細については、「パブリックデータセットの概要」をご参照ください。TPC-DS テストデータセットは、10 GB、100 GB、1 TB、10 TB の 4 つのサイズで提供されています。テスト要件に応じて適切なサイズを選択してください。詳細は以下のとおりです。
カテゴリ
説明
データセット名
スキーマ名
TPC-DS
TPC-DS は意思決定支援システムの一般的な側面(クエリやデータメンテナンスなど)をモデル化した意思決定支援ベンチマークであり、ビッグデータシステムなどの新技術に対して標準化されたベンチマークを実施可能にします。
TPC-DS 10GB 性能テストセット
TPC-DS 100GB 性能テストセット
TPC-DS 1TB 性能テストセット
TPC-DS 10TB 性能テストセット
tpcds_10g
tpcds_100g
tpcds_1t
tpcds_10t
テスト手順
テストツールの設定ファイルを変更する
展開したテストツールの mc_tpcds_benchmark ディレクトリに移動し、config ファイルを編集します。このツールは MaxQA モードと MCQA モードの両方をサポートしているため、基本設定以外にも、両モード間で若干異なる設定項目があります。
基本設定
設定項目 | 説明 | 値 |
ODPS_CLT_CMD | MaxCompute クライアントの実行可能ファイルへの絶対パス。 このツールキットに含まれるクライアントは作業ディレクトリ内の odps_clt 配下にあります。この設定を適宜更新してください。詳細については、「ローカルクライアント (odpscmd) を使用した接続」をご参照ください。 | 例:/xxxxx/mc_tpcds_benchmark/odps_clt/bin/odpscmd |
PROJECT | テストに使用する MaxCompute プロジェクト。 | 例:tpcds_test |
SF | TPC-DS テストのデータスケール。 単位は GB です。1 は 1 GB、1000 は 1 TB を意味します。必要に応じてこの値を調整してください。 | デフォルト:1000 |
MCQA モードと MaxQA モードの違い
設定項目 | 説明 | MCQA 値 | MaxQA 値 |
ODPS_CLT_CMD | MaxCompute クライアントの実行可能ファイルへの絶対パス。 このツールキットに含まれるクライアントは作業ディレクトリ内の odps_clt 配下にあります。この設定を適宜更新してください。詳細については、「ローカルクライアント (odpscmd) を使用した接続」をご参照ください。 | 例:/xxxxx/mc_tpcds_benchmark/odps_clt/bin/odpscmd | 例:/xxxxx/mc_tpcds_benchmark/odps_clt/bin/odpscmd |
PROJECT | テストに使用する MaxCompute プロジェクト。 | 例:tpcds_test | 例:tpcds_test |
SF | TPC-DS テストのデータスケール。 単位は GB です。1 は 1 GB、1000 は 1 TB を意味します。必要に応じてこの値を調整してください。 | デフォルト:1000。MaxCompute のパブリックデータセットは現在、10G、100G、1T、10T の 4 サイズを提供しています。そのため、SF は 10、100、1000、または 10000 に設定してください。 | デフォルト:1000。MaxCompute のパブリックデータセットは現在、10G、100G、1T、10T の 4 サイズを提供しています。そのため、SF は 10、100、1000、または 10000 に設定してください。 |
MODE | このベンチマーク実行のモードを設定します。 | MCQA | MaxQA |
MAXQA_QUOTA_NAME | テストに使用する MaxQA インタラクティブクォータグループの名前。MaxCompute コンソールのクォータ管理ページで確認できます。必ずクォータエイリアス(割り当てた名前)を入力してください。 | N/A | 例:maxqa_test_quota |
SQL_FLAGS | MaxCompute SQL の組み込みフラグ。変更しないでください。 |
|
|
テストの実行
mc_tpcds_benchmark ディレクトリで、次のコマンドを実行して TPC-DS テストを開始します。
nohup sh pt.sh > pt.log 2>&1 &正常に実行されると、ツールは mc_tpcds_benchmark ディレクトリに pt.log ログファイルを自動生成します。次のコマンドを実行して、詳細なタスクログを表示できます。
tail -f pt.logMaxCompute タスク実行のモニタリング
MaxCompute コンソールにログインし、左上隅でリージョンを選択します。
左側のナビゲーションウィンドウで、 を選択します。
ジョブ O&M ページでタスク実行ステータスを確認します。対象ジョブの 操作 列にある LogView をクリックして、詳細情報を表示します。詳細については、「ジョブ O&M」をご参照ください。
テスト結果の確認
タスクが正常に実行されると、ツールは mc_tpcds_benchmark ディレクトリに console_test_result.csv という名前のテスト結果ファイルを自動生成します。このファイルには、テスト全体の所要時間、各クエリの実行時間、および対応する Logview リンクが含まれています。