Dataproc Metastore サービスを作成するときに、MySQL データベース タイプまたは Spanner データベース タイプを使用するように選択する必要があります。
この選択は、Dataproc Metastore サービスと統合して使用できる機能に影響します。Dataproc Metastore サービスを作成した後にデータベース タイプを更新することはできません。ニーズに適したデータベース タイプを選択してください。
このページでは、これらのデータベース タイプの違いと、サービスに適したデータベース タイプの選択方法について説明します。
MySQL と Spanner の相違点
MySQL
Dataproc Metastore MySQL データベース タイプは Cloud SQL の実装です。 MySQL データベースを使用する場合は、次の点に注意してください。
- MySQL は、Dataproc Metastore 作成時のデフォルトのデータベース タイプです。
- MySQL はすべての Hive バージョンでサポートされています。
- MySQL は、すべての Dataproc Metastore 機能をサポートしています。
- MySQL は、顧客管理の暗号鍵(CMEK)の使用など、Dataproc Metastore の暗号化をサポートしています。
Spanner
Dataproc Metastore Spanner データベース タイプは、Spanner の実装です。Spanner データベースを使用する場合は、次の点に注意してください。
- Spanner は、Hive バージョン 2.3.6 と 3.1.2 でのみサポートされています。
- Spanner は Avro インポートのみをサポートしています。
- テーブルでサポートされる列の最大数は 5,000 です。
補足情報
次の表に、これらの違いの補足情報を示します。
| MySQL | Spanner | |
|---|---|---|
| 信頼性(稼働時間) | Cloud SQL の SLO: 99.95%* | Spanner の SLO: 99.99%* |
| メンテナンスの時間枠 | 必須 | 不要 |
注:
- * Cloud SQL と Spanner の SLO は、Dataproc Metastore の SLO に直接変換されません。 Dataproc Metastore データベース タイプの選択は、Dataproc Metastore の SLO には影響しません。
- 2 つのデータベース タイプに料金の違いはありません。
始める前に
- プロジェクトで Dataproc Metastore を有効にします。
- プロジェクトに特有のネットワーキング要件を理解します。
必要なロール
Dataproc Metastore の作成に必要な権限を取得するには、最小権限の原則に基づいて、プロジェクトで次の IAM ロールを付与するよう管理者に依頼してください。
-
Dataproc Metastore リソースに対する完全アクセス権を付与する (
roles/metastore.editor) -
IAM ポリシー管理を含むすべての Dataproc Metastore リソースに対する完全アクセス権を付与する (
roles/metastore.admin)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
この事前定義ロールには、Dataproc Metastore の作成に必要な metastore.services.create 権限が含まれています。
カスタムロールや他の事前定義ロールを使用して、この権限を取得することもできます。
Dataproc Metastore の特定のロールと 権限については、IAM による Managed Service for Apache Spark のアクセス管理をご覧ください。データベースの種類を選択する
データベース タイプは、Dataproc Metastore サービスを初めて作成するときに選択します。
次の例は、データベース タイプを選択する手順の短縮版を示しています。詳細な手順については、Dataproc Metastore サービスを作成するをご覧ください。
コンソール
Google Cloud コンソールで、Dataproc Metastore ページを開きます。
ナビゲーション バーで、[作成] をクリックします。
[Create service] ページが開きます。
[データベースの種類] で、[MySQL] または [Spanner] を選択します。
MySQL はデフォルトのデータベースの種類です。
必要に応じて、サービスの残りの構成を選択します。
[送信] をクリックします。
gcloud CLI
次の
gcloud metastore services createコマンドを実行します。gcloud metastore services create SERVICE_ID \ --location=LOCATION \ --database-type=DATABASE_TYPE; default="mysql"
以下を置き換えます。
SERVICE_ID: Dataproc Metastore サービスの名前または ID。LOCATION: Dataproc Metastore サービスが存在するリージョン。DATABASE_TYPE: Dataproc Metastore サービスに設定するデータベースタイプ。 指定できる値はmysqlとspannerです。 デフォルト値はmysqlです。