Dataproc クラスタ キャッシュを有効にすると、クラスタは Spark ジョブによって頻繁にアクセスされる Cloud Storage データをキャッシュに保存します。
利点
- パフォーマンスの向上: キャッシュを使用すると、ストレージからデータを取得する時間を短縮して、ジョブのパフォーマンスを改善できます。
- ストレージ コストの削減: ホットデータがローカル ディスクにキャッシュされるため、データを取得するためにストレージに対して行われる API 呼び出しが少なくなります。
制限事項と要件
- キャッシュは Dataproc Spark ジョブにのみ適用されます。
- Cloud Storage のデータのみがキャッシュされます。
- キャッシュは、次の要件を満たすクラスタにのみ適用されます。
- クラスタには 1 つのマスターと
n
台のワーカーがあります(高可用性(HA)クラスタと単一ノード クラスタはサポートされていません)。 - この機能は、Compute Engine イメージ バージョン
2.0.72+ or 2.1.20+
の Dataproc で使用できます。 - 各クラスタノードの NVME(Non-Volatile Memory Express)インターフェースにローカル SSD が接続されている必要があります(Persistent Disk(PD)はサポートされていません)。データは NVME ローカル SSD のキャッシュにのみ保存されます。
- クラスタでは、認証にデフォルトの VM サービス アカウントが使用されます。カスタム VM サービス アカウントはサポートされていません。
- クラスタには 1 つのマスターと
クラスタ キャッシュを有効にする
Google Cloud コンソール、Google Cloud CLI、または Dataproc API を使用して Dataproc クラスタを作成する場合は、クラスタ キャッシュを有効にできます。
Google Cloud コンソール
- Google Cloud コンソールで、Dataproc の [Compute Engine にクラスタを作成する] ページを開きます。
- [クラスターを設定] パネルが選択されています。[Spark のパフォーマンスの向上] セクションで、[Google Cloud Storage のキャッシュを有効にする] を選択します。
- クラスタ作成パネルでクラスタの詳細を確認、指定したら、[作成] をクリックします。
gcloud CLI
gcloud dataproc clusters create コマンドは、ターミナル ウィンドウでローカルに実行するか、dataproc:dataproc.cluster.caching.enabled=true
クラスタ プロパティを使用して Cloud Shell で実行します。
例:
gcloud dataproc clusters create CLUSTER_NAME \ --region=REGION \ --properties dataproc:dataproc.cluster.caching.enabled=true \ --num-master-local-ssds=2 \ --master-local-ssd-interface=NVME \ --num-worker-local-ssds=2 \ --worker-local-ssd-interface=NVME \ other args ...
REST API
clusters.create リクエストの一部として "dataproc:dataproc.cluster.caching.enabled": "true"
クラスタ プロパティを含めるには、SoftwareConfig.properties を設定します。