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

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

最終更新日:Jan 17, 2025

E-MapReduce (EMR) と Data Lake Formation (DLF) の組み合わせに基づくデータレイクソリューション (EMR+DLF データレイクソリューション) により、企業はデータレイクのメタデータと権限を一元的に管理できます。このソリューションは、データライフサイクル管理、レイク形式の自動最適化、ストレージ分析などのデータレイク管理もサポートしています。 EMR+DLF データレイクソリューションを使用して、さまざまなソースからデータレイクにデータを書き込み、ワンストップのデータ探索を実装できます。このトピックでは、EMR+DLF データレイクソリューションの使用方法について説明します。

背景情報

EMR+DLF データレイクソリューションは、従来の EMR データレイクソリューションに比べて次の利点があります。

  • DLF は、エンジン全体でデータレイクに統一された、完全に管理された、O&M 不要のメタデータサービスを提供します。

    • メタデータ管理とマルチバージョン管理、ロールバックの可視化。

    • 容易なメタデータ移行の可視化。

    • メタデータの全文検索。

    • メタデータのデータプロファイリング。たとえば、データプロファイリングを使用して、ファイルサイズ、ファイルの行数、アクセス頻度、小さなファイルの数、ファイルの人気度、有効なファイルの数を調べることができます。

    • EMR のオープンソースエンジンに加えて、MaxCompute、Flink、Hologres など、より多くのコンピューティングエンジンをサポート。

  • DLF は、きめ細かいデータ権限管理をサポートします。

    • データカタログ、データベース、データ列、関数などのリソースに対する、可視化されたきめ細かい権限管理。

    • Spark、Hive、Presto、Impala との統合など、EMR の複数のコンピューティングエンジンとの統合。

  • 豊富なデータレイク管理機能が提供されます。

    • 多次元のデータライフサイクル管理。ファイルの人気度と更新時間に基づいてデータを自動的にアーカイブし、ストレージコストを削減できます。

    • ストレージコストを削減するための Delta Lake 形式の自動ストレージ最適化ポリシー。

追加情報

手順

ステップ 1:EMR DataLake クラスタを作成する

[メタデータ][DLF 統合メタデータ] を選択する必要があります。

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

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

    • [ビジネスシナリオ]: [データレイク] を選択します。

    • [オプションサービス (少なくとも 1 つ選択)]: [hive] が必須です。ビジネス要件に基づいて他のサービスを選択できます。

    • [メタデータ]: [DLF 統合メタデータ] を選択します。

    • [DLF カタログ]: デフォルトの DLF カタログを使用するか、カタログを作成します。 DLF をアクティブ化していない場合は、最初に DLF をアクティブ化するように求められます。

  3. プロンプトに従って後続の操作を完了します。 詳細については、「クラスタを作成する」をご参照ください。

ステップ 2:メタデータを初期化する

シナリオに応じて異なる方法を使用してメタデータを初期化できます。

  • EMR クラスタのメタデータが組み込み MySQL データベースまたはセルフマネージド ApsaraDB RDS データベースに保存されている場合は、メタデータを DLF に移行する必要があります。 詳細については、「EMR メタデータを DLF に移行する」をご参照ください。

  • 新しく作成された EMR クラスタで履歴メタデータが使用できない場合は、DLF を使用してメタデータを視覚的に作成するか、Hive または Spark SQL を使用してデータベースとデータテーブルを作成できます。

    1. DLF コンソール にログオンします。上部のナビゲーションバーで、Object Storage Service (OSS) がアクティブ化されているリージョン (例:中国 (杭州)) を選択します。

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

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

    4. [データベースの作成] ページで、パラメーターを設定し、[OK] をクリックします。

  • 新しく作成された EMR クラスタのデータが OSS に保存されていて、メタデータが使用できない場合は、DLF の メタデータディスカバリー 機能を使用して、OSS から DLF にメタデータを抽出できます。詳細については、「DLF データ探索 - Taobao ユーザー行動分析」をご参照ください。

ステップ 3:データを初期化する

次のシナリオでは、異なる方法を使用してデータを初期化できます。

  1. 既存の EMR クラスタのデータを移行する場合は、Jindo DistCp を使用して、クラスタから OSS にデータを移行できます。

  2. RDS、MySQL、Kafka などのサービスシステムからデータをインポートする場合は、Realtime Compute for Apache Flink を使用して DLF にデータをインポートできます。詳細については、「DLF カタログを管理する」をご参照ください。

ステップ 4:Spark または Presto を使用して特定の DLF テーブルのデータをクエリする

EMR クラスタのマスターノード -1-1 に SSH モードでログオンします。詳細については、「。詳細については、クラスタにログオンする」をご参照ください。

  1. Spark SQL を使用して特定のテーブルのデータをクエリします。

    1. 次のコマンドを実行して Spark SQL を起動します。

      spark-sql
    2. 次のステートメントを実行して、テーブル内のデータをクエリします。

      SELECT * FROM <database>.<table>;
  2. Presto を使用して特定のテーブルのデータをクエリします。

    1. 次のコマンドを実行して Presto CLI を起動します。

      presto --server master-1-1:8889
    2. 次のステートメントを実行して、テーブル内のデータをクエリします。

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

      上記のステートメントのパラメーター

      パラメーター

      説明

      <catalog>

      接続先のデータソースの名前。

      show catalogs; コマンドを実行して、すべてのカタログを表示できます。また、EMR コンソールの Presto サービスページの [設定] タブですべてのカタログを表示することもできます。

      <database>

      クエリするデータベースの名前。

      <table>

      クエリするテーブルの名前。

      たとえば、Hive のデフォルトデータベースの test テーブルからデータをクエリする場合は、SELECT * FROM hive.default.test; ステートメントを実行できます。

(オプション) ステップ 5:データ権限管理を有効にする

特定のビジネスシナリオでは、高いデータセキュリティとデータレイクの適切なデータ権限管理が必要です。データ権限管理を有効にするには、次の手順を実行します。

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

  2. DLF のデータカタログの権限管理を有効にします。詳細については、「権限を設定する」をご参照ください。

設定された権限管理は、EMR クラスタ内のすべてのデータに適用されます。 EMR クラスタ内のデータにアクセスするには、ユーザーに必要な権限が付与されている必要があります。

ユーザーに権限を付与する方法については、「データの承認」をご参照ください。詳細については、「DLF と EMR を使用して権限を管理する」をご参照ください。

(オプション) ステップ 6:ライフサイクル管理を実装する

ライフサイクル管理機能を使用して、データレイク内のデータベースとデータテーブルのデータ管理ルールを設定できます。パーティションとテーブルの作成時間、パーティションとテーブルの最終変更時間、パーティション値という 3 つのタイプのルールに基づいて、OSS 内のデータのストレージタイプを定期的に変換できます。これにより、データストレージコストが削減されます。詳細については、「ライフサイクル管理」をご参照ください。