次の方法で共有


Synapse Spark プールに外部 Hive メタストアを使用する

Note

外部 Hive メタストアは、Azure Synapse Runtime for Apache Spark 3.4 以降のバージョンの Synapse ではサポートされなくなります。

Azure Synapse Analytics では、同じワークスペース上の Apache Spark プール間で、マネージド HMS (Hive メタストア) 互換メタストアをカタログとして共有できます。 お客様が Hive カタログ メタデータをワークスペースの外部に保持し、カタログ オブジェクトをワークスペース外の他の計算エンジン (HDInsight や Azure Databricks など) と共有したい場合は、外部 Hive メタストアに接続できます。 この記事では、Synapse Spark を外部 Apache Hive メタストアに接続する方法を学ぶことができます。

サポートされている Hive メタストアのバージョン

この機能は Spark 3.3 で動作します。 次のテーブルに、Spark の各バージョンでサポートされている Hive メタストアのバージョンを記載します。

Spark バージョン HMS 2.3.x HMS 3.1.X
3.3 はい はい
3.4 はい はい

リンク サービスを Hive メタストアに設定する

注意

外部 Hive メタストアとしてサポートされているのは、Azure SQL DatabaseAzure Database for MySQL だけです。 SQL (ユーザー名パスワード) 認証は、どちらの種類のデータベースでもサポートされています。 さらに、マネージド ID (システム割り当てやユーザー割り当てなど) 認証は、Azure SQL Database と Spark 3.4 でのみサポートされます。 指定されたデータベースが空の場合は、Hive スキーマ ツールを介してそれをプロビジョニングし、データベース スキーマを作成してください。

次の手順に従って、Synapse ワークスペースで外部 Hive メタストアへのリンク サービスを設定します。

  1. Synapse Studio を開き、左側の [Manage](管理) > [Linked services](リンク サービス) に移動し、[New](新規) をクリックして新しいリンク サービスを作成します。

    Hive メタストアのリンク サービスをセットアップするスクリーンショット。

  2. [Azure SQL Database] を選択して [Continue](続行) をクリックします。

  3. リンク サービスの [Name](名前) を入力します。 リンク サービスの名前を控えます。この情報はすぐ後で Spark の構成に使用します。

  4. [レガシ] バージョンを選択し、[接続文字列] を選択します。

  5. 外部 Hive メタストアの Azure SQL Database を Azure サブスクリプションのリストから選ぶか、手動でその情報を入力します。

  6. SQL AuthenticationSystem-assigned managed identityUser-assigned managed identity のいずれかとして [認証の種類] を設定します。 SQL Authentication の場合は、[User name]\(ユーザー名\)[Password]\(パスワード\) を入力して接続をセットアップします。 System-assigned managed identity の場合は、ページには、現在のワークスペースに関連付けられているマネージド ID が自動的に設定されます。 User-assigned managed identity の場合は、ユーザー割り当てマネージド ID にバインドされた資格情報を選択または作成します。

  7. 認証を確認するには、接続をテストします

  8. [Create](作成) をクリックしてリンク サービスを作成します。