次の方法で共有


Apache Spark™ クラスターで Hive メタストアを使用する方法

大事な

AKS 上の Azure HDInsight は、2025 年 1 月 31 日に廃止されました。 この発表 について詳しく知りましょう。

ワークロードの突然の終了を回避するには、ワークロードを Microsoft Fabric または同等の Azure 製品 に移行する必要があります。

大事な

この機能は現在プレビュー段階です。 Microsoft Azure プレビューの 追加使用条件 には、ベータ版、プレビュー版、または一般公開されていない Azure 機能に適用される、より多くの法的条件が含まれています。 この特定のプレビューの詳細については、AKS プレビュー情報 Azure HDInsightを参照してください。 ご質問や機能の提案がある場合は、AskHDInsight に詳細を記載した要求を送信してください。また、Azure HDInsight Community をフォローして、さらに多くの更新情報を入手してください。

複数のサービス間でデータとメタストアを共有することが不可欠です。 HIVE メタストアで一般的に使用されるメタストアの 1 つ。 AKS 上の HDInsight を使用すると、ユーザーは外部メタストアに接続できます。 この手順により、HDInsight ユーザーはエコシステム内の他のサービスにシームレスに接続できます。

AKS 上の Azure HDInsight では、運用クラスターに推奨されるカスタム メタ ストアがサポートされています。 関連する主要な手順は次のとおりです。

  1. Azure SQL データベースを作成する
  2. 資格情報を格納するためのキー コンテナーを作成する
  3. Apache Spark™ を使用して AKS クラスターで HDInsight を作成するときに Metastore を構成する
  4. 外部メタストアを操作します (データベースを表示し、選択制限 1 を実行します)。

クラスターの作成時に、HDInsight サービスは外部メタストアに接続し、資格情報を確認する必要があります。

Azure SQL データベースを作成する

  1. HDInsight クラスターのカスタム Hive メタストアを設定する前に、Azure SQL Database を作成するか、既存のものを持っている必要があります。

    手記

    現時点では、HIVE メタストア用の Azure SQL Database のみがサポートされています。 Hive の制限により、メタストア データベース名の "-" (ハイフン) 文字はサポートされていません。

資格情報を格納するためのキー コンテナーを作成する

  1. Azure Key Vault を作成します。

    Key Vault の目的は、SQL データベースの作成時に設定された SQL Server 管理者パスワードを格納できるようにすることです。 AKS プラットフォーム上の HDInsight では、資格情報は直接処理されません。 そのため、重要な資格情報を Azure Key Vault に格納する必要があります。 Azure Key Vaultを作成する手順について説明します。

  2. Azure Key Vault の作成後に、次のロールを割り当てます

    オブジェクト 役割 備考
    ユーザー割り当てマネージド ID (HDInsight クラスターで使用されるのと同じ UAMI) Key Vault シークレット ユーザー UAMI にロール 割り当てる方法について説明します
    ユーザー (Azure Key Vault でシークレットを作成するユーザー) Key Vault 管理者 ユーザー にロールの割り当てをする方法について説明します。

    手記

    このロールがないと、ユーザーはシークレットを作成できません。

  3. シークレット を作成する

    この手順では、SQL Server 管理者パスワードをシークレットとして Azure Key Vault に保持できます。 シークレットの追加中に、パスワード (SQL DB for admin で指定されたパスワードと同じ) を [値] フィールドに追加します。

    キー ボールトを作成する方法を示すスクリーンショット。

    シークレットを作成する方法を示すスクリーンショット。

    手記

    クラスターの作成時に必要になるので、必ずシークレット名を書き留めます。

HDInsight Spark クラスターの作成時に Metastore を構成する

  1. AKS クラスター プールの HDInsight に移動してクラスターを作成します。

    新しいクラスターを作成する方法を示すスクリーンショット。

  2. トグル ボタンを有効にして外部 Hive メタストアを追加し、次の詳細を入力します。

    基本タブを示すスクリーンショット。

  3. 残りの詳細は、AKS 上の HDInsightApache Spark クラスターのクラスター作成規則に従って入力されます。

  4. 確認と作成をクリックしてください。

    [review and create]\(レビューと作成\) タブを示すスクリーンショット。

    手記

    • メタストアのライフサイクルはクラスターのライフサイクルに関連付けられていないため、メタデータを失うことなくクラスターを作成および削除できます。 HIVE スキーマなどのメタデータは、HDInsight クラスターを削除して再作成した後でも保持されます。
    • カスタム メタストアを使用すると、複数のクラスターとクラスターの種類をそのメタストアにアタッチできます。

外部メタストアでの操作

  1. テーブルを作成する

    >> spark.sql("CREATE TABLE sampleTable (number Int, word String)")

    テーブルの作成方法を示すスクリーンショット。

  2. テーブルにデータを追加する

    >> spark.sql("INSERT INTO sampleTable VALUES (123, \"HDIonAKS\")");\

    挿入文を示すスクリーンショット。

  3. テーブルを読み取る

    >> spark.sql("select * from sampleTable").show()

    テーブルの読み取り方法を示すスクリーンショット。

参考

  • Apache、Apache Spark、Spark、および関連するオープン ソース プロジェクト名は、Apache Software Foundation (ASF) の 商標です。