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 CLI または Dataproc API を使用して Dataproc クラスタを作成する場合は、クラスタ キャッシュを有効にできます。
コンソール
現在、Google Cloud Console からのクラスタ キャッシュを有効にすることはできません。
gcloud CLI
gcloud dataproc clusters create コマンドは、ターミナル ウィンドウでローカルに実行するか、dataproc:dataproc.cluster.caching=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": "true"
クラスタ プロパティを含めるには、SoftwareConfig.properties を設定します。