仮想ウェアハウスのオートスケーリング

# この記事について

以下のドキュメントの翻訳です。

https://docs.cloudera.com/data-warehouse/cloud/auto-scaling/topics/dw-public-cloud-autoscaling-overview.html

# 翻訳

## 全体概要

Hive の仮想ウェアハウスと Impala の仮想ウェアハウスでは、オートスケーリングの方法が異なります。適切な仮想ウェアハウスの種類を選んだり、ジョブを動かすために正しいオートスケーリングの設定を行うために、オートスケーリングがどのように動くのかを学ぶことが役に立ちます。

[Keyfeatures](https://docs.cloudera.com/data-warehouse/cloud/overview/topics/dw-key-features.html#pnavId3)の記事では、Cloudera の Data Warehouse におけるオートスケーリングについてと、その利点について説明しています。

選択した仮想ウェアハウスごとに、オートスケーリングがどのように動くのか、具体的に知っておく必要があります。

Hive の仮想ウェアハウスのオートスケーリングがどのように動くかは、同時に稼働するクエリの数とクエリの複雑性によって決まります。

BIで利用するような種類のクエリは、ETL処理として稼働するタイプのクエリほどのリソースやスケーリングのプロセスを必要としません。複雑なETL用のクエリでは、大量のデータスキャンが必要になります。

同時に稼働するクエリの数、およびクエリがスキャンするデータのサイズによって、Hive仮想ウェアハウスで利用する[オートスケーリングの方法を設定（英語ページ）](https://docs.cloudera.com/data-warehouse/cloud/managing-warehouses/topics/dw-tuning-virtual-warehouse-auto-scaling.html)することができます。

Hive の仮想ウェアハウスのオートスケーリングには、以下の方法があります。

- BI用クエリ向けの同時実行数によるオートスケーリング
- ETL用クエリ向けの独立化

Impala 仮想ウェアハウスのオートスケーリングは、BI用クエリを同時実行するために設計されており、キューにたまったクエリがリソースを利用できるようにします。Hive でのオートスケーリングの方法と同様、コーディネーターと executor が Impala のオートスケーリングを制御します。

Impala の仮想ウェアハウスでは、ワークロードに基づくオートスケーリング（[英語ドキュメント](https://docs.cloudera.com/data-warehouse/cloud/auto-scaling/topics/dw-waas-introduction.html)）が利用可能です。

## executor を理解する

Hive, Impala ともに、AWS環境では、 executor は EC2 の r5d.4xlarge インスタンスを使ったコンピュートノードです。詳細は[ "AWS resources created for Data Warehouse".（英語ドキュメント）](https://docs.cloudera.com/cdp-public-cloud/cloud/requirements-aws/topics/mc-aws-resources-list.html#pnavId5)を参照してください。

Azure 環境では、 executor は Azure E16 v3 インスタンスです。詳細は ["Virtual Warehouse sizing requirements for on cloud environments"（英語ドキュメント）](https://docs.cloudera.com/data-warehouse/cloud/planning/topics/dw-public-cloud-vw-env-size-requirements-planning.html) を参照してください。

仮想ウェアハウスの作成時の設定項目に含まれる executor nodeの数が、executor グループあたりの executor の数の初期値となります。たとえば、20個のexecutor node を含む MEDIUM サイズを選んだ場合は、各 executor グループは20個の executor を含みます。

稼働中のクエリを止めた場合、リソースはスケールダウンし、executore は解放されます。すべての executor グループがスケールバックすると、executor は待機状態となり、設定されたアイドルタイム（AutoSuspend Timeout）の経過後に仮想ウェアハウスが停止します。停止中の仮想ウェアハウスに対してクエリが実行されると、コーディネーターはクエリをキューに溜めます。auto-scaler  はキューに溜まったクエリを検知すると、ただちに executor グループを追加して仮想ウェアハウス常でクエリを実行できるようにします。

## 関連記事

[Hive ウェアハウスの同時実行オートスケーリング（英語ドキュメント）](https://docs.cloudera.com/data-warehouse/cloud/auto-scaling/topics/dw-hive-auto-scale-bi-type-queries.html)
Hive および Impala の仮想ウェアハウスは、一定の条件に基づき同時実行によるオートスケーリングを行いますが、オートスケーリングの実装は異なります。この記事では、Hive の仮想ウェアハウスの同時実行によるオートスケーリングについて学び、Hive の仮想ウェアハウスでBOのクエリを稼働させるための設定の改善に役立てることができます。

[Hive ウェアハウスの独立したオートスケーリング（英語ドキュメント）](https://docs.cloudera.com/data-warehouse/cloud/auto-scaling/topics/dw-hive-query-isolation-data-intensive-queries-public.html)
Cloudera Data Warehouse on Cloud における Hive の仮想ウェアハウスは、クエリがスキャンしたデータのサイズに基づきオートスケーリングを行います。クエリは`hive.query.isolation.scan.size.threshold` に設定された値を超えるデータをスキャンすると、独立化の方法を使ってオートスケーリングを行います。

[Impala 仮想ウェアハウスのオートスケーリング（英語ドキュメント）](https://docs.cloudera.com/data-warehouse/cloud/auto-scaling/topics/dw-impala-autoscaling-overview.html)
Impala の仮想ウェアハウスは、Hive の仮想ウェアハウスと同様に同時実行数によるオートスケーリングを行いますが、方法は異なります。オートスケーリングの仕組みを理解することで、実行したいジョブに適した仮想ウェアハウスを選択し、設定を行う助けになります