すべてのプロダクト
Search
ドキュメントセンター

Data Lake Formation:EMR メタデータの DLF への移行に関するベストプラクティス

最終更新日:Mar 26, 2026

E-MapReduce (EMR) クラスターの Hive Metastore メタデータを Data Lake Formation (DLF) に移行し、コンピュートエンジンを再構成して DLF を統合メタデータストアとして使用します。移行後、複数のソースからデータレイクにデータを書き込み、すべてのメタデータを単一の場所から管理できます。

重要

DLF メタデータ統合には、EMR V3.33 以降 (V3.x)、EMR V4.6 以降 (V4.x)、または EMR V5.1 以降 (V5.x) が必要です。以前の EMR バージョンの場合は、DingTalk グループ 33719678 に参加してください。

移行パスの選択

この表を使用して、状況に応じた適切な手順を見つけてください。

開始点目標手順
ビッグデータクラスター (非 EMR)DLF をすでに使用している EMR クラスターにメタデータを移行しますメタデータの移行
組み込み MySQL またはセルフマネージド ApsaraDB RDS を使用する EMR クラスターメタデータを DLF に保存する別の EMR クラスターに移動しますメタデータの移行
組み込み MySQL またはセルフマネージド ApsaraDB RDS を使用する EMR クラスター既存のクラスターのメタデータストレージを DLF に切り替えます統合メタデータストレージとしての DLF の使用
image

メタデータの移行

DLF を使用すると、手動でデータ転送をスクリプト化することなく、ビジュアルインターフェイスを通じて Hive Metastore からデータレイクにメタデータを移行できます。

前提条件

開始する前に、以下があることを確認してください。

  • メタデータがセルフマネージド ApsaraDB RDS データベースまたは組み込み MySQL データベースに保存されている EMR クラスター (V3.33 以降、V4.6 以降、または V5.1 以降)

  • EMR クラスター内の Hive データベース。手順については、「Hive を使用して基本操作を実行する」をご参照ください。この例では、testdb2 という名前のデータベースを使用します。

  • ソースデータベースで構成されたリモートアクセス権限 (以下を参照)

リモートアクセス権限の構成

ApsaraDB RDS または MySQL データベースにログインし、次のステートメントを実行します。この例では、testdb データベースの root ユーザーに権限を付与します。xxxx を実際のパスワードに置き換えてください。

CREATE USER 'root'@'%' IDENTIFIED BY 'xxxx';
GRANT ALL PRIVILEGES ON testdb.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

ApsaraDB RDS の場合、コンソールで直接アクセス権限を表示および更新することもできます。詳細については、「アカウント権限の変更」をご参照ください。

image

移行タスクの作成

  1. DLF コンソールにログインします。

  2. ご利用の EMR クラスターが存在するリージョンを選択します。

  3. 左側のナビゲーションウィンドウで、[メタデータ] > [メタデータの移行] を選択します。

  4. [移行タスク] タブで、[クラウド移行タスクの作成] をクリックします。

  5. ソース接続パラメーターを設定し、[次へ] をクリックします。パラメーターの詳細については、「メタデータ移行タスクの作成」をご参照ください。

    image

  6. 移行タスクの詳細を設定し、[次へ] をクリックします。この例では、タスクを test_rds と名付けます。

    image

  7. タスク構成を確認し、[OK] をクリックします。

移行タスクの実行

[移行タスク] タブで、名前が test_rds のタスクを見つけ、[実行] を [操作] 列でクリックします。タスクが正常に完了すると、そのステータスは [成功] に変わります。

image

実行履歴とログの表示

  1. 移行タスク」タブで、「実行履歴」を「操作」列からクリックして、実行履歴を表示します。

    image

  2. 実行履歴」タブで、「操作」列の[ログの表示]をクリックして、ログの詳細を表示します。

メタデータ移行の検証

  1. 左側のナビゲーションウィンドウで、[メタデータ] > [メタデータ] を選択します。

  2. [データベース]」タブをクリックし、「[カタログ一覧]」ドロップダウンリストからカタログを選択し、「[データベース名]」フィールドにデータベース名を入力して Enter キーを押します。結果にデータベースが表示された場合、メタデータは正常に移行されました。

統合メタデータストレージとしての DLF の使用

EMR クラスターを MySQL ベースのメタデータストレージから DLF に切り替えるには、各コンピュートエンジンの構成を更新して、DLF メタデータサービスを指すようにします。

デフォルトカタログではなく特定のカタログにメタデータを保存するには、dlf.catalog.id 設定項目をご利用のカタログ ID に設定します。

Hive

hive-site.xml で、次の設定項目を追加または更新し、変更を保存して適用します。設定項目の変更方法については、「設定項目の変更」をご参照ください。

<!-- DLF メタデータサービスエンドポイント。{regionId} をご利用のクラスターのリージョン ID (例:cn-hangzhou) に置き換えてください。 -->
dlf.catalog.endpoint=dlf-vpc.{regionId}.aliyuncs.com
<!-- 貼り付け後、余分なスペースが挿入されていないことを確認してください。 -->
hive.imetastoreclient.factory.class=com.aliyun.datalake.metastore.hive2.DlfMetaStoreClientFactory
dlf.catalog.akMode=EMR_AUTO
dlf.catalog.proxyMode=DLF_ONLY

<!-- Hive 3 に必要です -->
hive.notification.event.poll.interval=0s
<!-- V3.33 または V4.6.0 より前の EMR バージョンに必要です -->
dlf.catalog.sts.isNewMode=false

Presto

hive.properties で、次の設定項目を追加し、変更を保存して適用します。詳細については、「設定項目の追加」をご参照ください。

hive.metastore=dlf
<!-- DLF メタデータサービスエンドポイント。{regionId} をご利用のクラスターのリージョン ID (例:cn-hangzhou) に置き換えてください。 -->
dlf.catalog.endpoint=dlf-vpc.{regionId}.aliyuncs.com
dlf.catalog.akMode=EMR_AUTO
dlf.catalog.proxyMode=DLF_ONLY

<!-- hive-site.xml の hive.metastore.warehouse.dir の値に設定します。 -->
dlf.catalog.default-warehouse-dir=

<!-- V3.33 または V4.6.0 より前の EMR バージョンに必要です -->
dlf.catalog.sts.isNewMode=false

Spark

Spark サービスページの[構成]タブで、[クライアント構成のデプロイ]をクリックして指示に従ってください。その後、Spark を再起動します。

image

Impala

Impala サービスページの [設定] タブで、[クライアント設定のデプロイ] をクリックしてプロンプトに従います。その後、Impala を再起動します。

メタデータストレージ変更の検証

次の手順では Hive を使用します。他のエンジンにも同じ検証が適用されます。

  1. SSH 経由でクラスターにログインします。詳細については、「クラスターへのログイン」をご参照ください。

  2. Hive CLI を開きます。

    hive
  3. テストデータベースを作成します。

    CREATE database if NOT EXISTS dlf_test_db;

    出力に OK が含まれている場合、データベースは正常に作成されています。

  4. DLF コンソールにログインします。

  5. 左側のナビゲーションウィンドウで、[メタデータ][メタデータ] を選択します。

  6. データベース]タブをクリックし、[カタログリスト]ドロップダウンリストからカタログを選択し、[データベース名]フィールドに dlf_test_db を入力して Enter キーを押します。結果に dlf_test_db が表示された場合は、Hive のメタデータストレージが変更されています。それ以外の場合は、Hive のメタデータストレージの変更に失敗しています。

    image

よくある質問

移行タスクを複数回実行するとどうなりますか?

同じ移行タスクを複数回実行しても、同じ結果になります。これは、移行タスクが ApsaraDB RDS または MySQL データベースのメタデータに基づいて実行され、ソースデータベースのメタデータと DLF のメタデータ間の結果整合性を確保するためです。

ソースとターゲットのカタログメタデータ間の競合を処理するには、タスクを作成する際に[競合解決戦略]パラメーターを設定します。詳細については、「メタデータ移行タスクを作成する」をご参照ください。