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

Data Lake Formation:EMR+DLF データレイクソリューションの利用

最終更新日:Mar 26, 2026

E-MapReduce (EMR) と Data Lake Formation (DLF) を組み合わせることで、Alibaba Cloud 上のデータレイクに対して、一元化・フルマネージドなメタデータおよび権限管理レイヤーを提供します。このソリューションにより、別途メタデータストアを管理することなく、複数のデータソースからデータを取り込み、さまざまなコンピュートエンジン間で統一的にクエリを実行できます。

本ガイドを完了すると、以下の状態が実現します:

  • DLF 統合メタデータをバックエンドとする、実行中の EMR DataLake クラスター

  • データレイク内に初期化されたメタデータおよびデータ

  • Spark SQL または Presto を用いたデータクエリ実行機能

  • (任意)細かい粒度での権限管理およびライフサイクルルールの設定

開始前に: ステップ 2 およびステップ 3 は、既存の EMR クラスターを利用するか、新規構築から始めるかによって複数の実施経路が存在します。作業を進める前に、ご自身の出発点を特定してください。

前提条件

開始する前に、以下の条件を満たしていることを確認してください。

  • EMR および DLF のサービスが有効化された Alibaba Cloud アカウント

  • 対象リージョンで Object Storage Service (OSS) が有効化されていること

  • EMR クラスターおよび DLF カタログの作成に十分な権限を保有していること

対応リージョンについては、「対応リージョンおよびエンドポイント」をご参照ください。課金に関する詳細は、「課金」をご参照ください。

仕組み

DLF は、従来の EMR Deployment でクラスター単位で使用されていた Hive メタストアに代わる、マルチエンジン対応・フルマネージドなメタデータサービスを提供します。主な機能は以下のとおりです。

機能説明
メタデータ管理多バージョン履歴およびロールバック機能を備えた可視化管理
メタデータ移行既存の EMR クラスターからメタデータを移行
全文検索すべてのメタデータを対象とした検索
データプロファイリングファイルサイズ、行数、アクセス頻度、small-file 数、人気スコア、有効ファイル数など
マルチエンジン対応オープンソースの EMR スタックに加え、MaxCompute、Flink、Hologres にも対応
権限管理カタログ、データベース、カラム、関数単位での細かい粒度の制御。Spark、Hive、Presto、Impala との統合対応
ライフサイクル管理ファイルの人気スコアおよび更新時刻に基づき、自動的にデータをアーカイブし、OSS のストレージコストを削減
ストレージ最適化Delta Lake フォーマット向けの自動最適化により、ストレージコストを削減

ステップ 1:EMR DataLake クラスターの作成

クラスター作成時に、メタデータ パラメーターに DLF 統合メタデータ を選択します。これにより、クラスターが DLF と連携されます。

  1. EMR コンソール にログインします。左側ナビゲーションウィンドウで、ECS 上の EMR をクリックします。

  2. ECS 上の EMR ページで、クラスターの作成 をクリックします。ECS 上の E-MapReduce ページで、以下のパラメーターを設定します。

    パラメーター
    ビジネスシナリオデータレイク
    オプションサービス(最低 1 つを選択)Hive(必須)。必要に応じて他のサービスを追加します。
    メタデータDLF 統合メタデータ
    DLF カタログデフォルトカタログを使用するか、新規作成します。DLF がまだ有効化されていない場合は、まず有効化するよう促されます。
  3. 画面の指示に従って残りの手順を完了します。詳細については、「クラスターの作成」をご参照ください。

ステップ 2:メタデータの初期化

ご自身の出発点に合った経路を選択してください。

  • 組み込み MySQL または ApsaraDB RDS にメタデータを保持する既存の EMR クラスターがある場合 — 続行前に、メタデータを DLF へ移行してください。「EMR メタデータの DLF への移行」をご参照ください。

  • 過去のメタデータがない新規 EMR クラスターの場合 — 次のいずれかの方法でメタデータを作成します。

    • DLF コンソール(推奨): または、Hive または Spark SQL を使用してデータベースおよびテーブルを作成します。

      1. DLF コンソール にログインします。上部ナビゲーションバーで、OSS が有効化されているリージョン(例:中国 (杭州))を選択します。

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

      3. データベース タブで、データベースの作成 をクリックします。

      4. パラメーターを設定し、OK をクリックします。

    • メタデータディスカバリー(OSS に既にデータが格納されている場合)メタデータディスカバリー 機能を用いて OSS をスキャンし、DLF にメタデータを自動登録します。手順付きの具体例については、「DLF データ探索 - 淘宝ユーザー行動分析」をご参照ください。

ステップ 3:データの初期化

データソースに応じた経路を選択してください。

データソース方法
既存の EMR クラスター(HDFS データ)Jindo DistCp を使用して、クラスターから OSS へデータを移行します。
サービスシステム(RDS、MySQL、Apache Kafka)Realtime Compute for Apache Flink を使用して、データを DLF へストリーミングします。「DLF カタログの管理」をご参照ください。

ステップ 4:Spark SQL または Presto を用いたデータクエリ

SSH で EMR クラスターのマスターノードに接続します。「クラスターへのログイン」をご参照ください。

Spark SQL を用いたクエリ

  1. Spark SQL を起動します。

    spark-sql
  2. クエリを実行します。

    SELECT * FROM <database>.<table>;

Presto を用いたクエリ

DLF は、3 レベルの名前空間を使用します: <catalog>.<database>.<table>。カタログは、データソースを識別します。利用可能なカタログを表示するには、Presto で show catalogs; を実行するか、EMR コンソールの Presto サービスページの [設定] タブを確認します。

  1. Presto CLI を起動し、master-1-1 をマスターノードのホスト名に置き換えます:

    presto --server master-1-1:8889
  2. クエリを実行します。

    SELECT * FROM <catalog>.<database>.<table>;

    たとえば、Hive の test テーブルに対してクエリを実行する場合、default データベースを使用します:

    SELECT * FROM hive.default.test;

(任意)ステップ 5:権限管理の有効化

厳格なアクセス制御を要するデータレイクでは、EMR クラスター内のすべてのデータに対して細かい粒度の権限を適用するために、DLF 権限管理を有効化します。有効化後は、ユーザーがデータにアクセスするには明示的な権限付与が必要になります。

  1. お使いの EMR クラスターで DLF 権限管理を有効化します。詳細については、「DLF-Auth」をご参照ください。

  2. DLF 内でデータカタログに対する権限を設定します。「権限の設定」をご参照ください。

ユーザーに権限を付与するには、「データの権限付与」をご参照ください。エンドツーエンドの手順については、「DLF および EMR を使用した権限管理」をご参照ください。

(任意)ステップ 6:ライフサイクル管理の設定

ライフサイクル管理では、データレイク内のデータベースおよびテーブルに対してデータ保持ルールを定義できます。DLF は、以下の 3 種類のルールに基づき、該当するデータの OSS ストレージクラスを変更します。

ルールタイプ説明
作成時刻パーティションおよびテーブルの作成時刻に基づく
最終更新時刻パーティションおよびテーブルの最終更新時刻に基づく
パーティションキーの値パーティションキーの値に基づく

これにより、手動介入なしで長期的なストレージコストを削減できます。設定手順については、「ライフサイクル管理」をご参照ください。

次のステップ