MaxComputeでは、MaxComputeとHadoopを使用して、大量のデータを一元管理、保存、分析することで、データlakehouseを構築できます。 データレイクハウスは、構造化および半構造化データを処理するだけでなく、並行性の高いデータ分析シナリオにも従事する統合データプラットフォームを提供します。 このトピックでは、MaxComputeとHadoopを使用してデータレイクハウスを構築し、データレイクハウスプロジェクトを管理する方法について説明します。
前提条件
MaxComputeが有効化され、MaxComputeプロジェクトが作成されます。 詳細については、「MaxComputeの有効化」および「MaxComputeプロジェクトの作成」をご参照ください。
説明MaxComputeが有効化されている場合、MaxComputeを直接使用できます。 MaxComputeが有効化されていない場合、MaxComputeの有効化時にHive互換データ型エディションを有効にすることを推奨します。
MaxComputeとHadoopを使用してデータレイクハウスを構築する場合は、Hadoopがデプロイされている仮想プライベートクラウド (VPC) をMaxComputeと同じリージョンに配置することを推奨します。 この方法では、クロスリージョンネットワーク接続に対して課金されません。
MaxComputeとHadoopを使用してデータレイクハウスを構築する前に、Hadoopで高可用性 (HA) 機能が有効になっていることを確認してください。 詳細については、HadoopクラスターのO&Mエンジニアにお問い合わせください。
制限事項
データレイクハウスは、中国 (杭州) 、中国 (上海) 、中国 (北京) 、中国 (張家口) 、中国 (深セン) 、中国 (香港) 、シンガポール、ドイツ (フランクフルト) の各リージョンでサポートされています。
HadoopがデプロイされるVPCは、MaxComputeと同じリージョンにある必要があります。
手順
データレイクハウスを構築するには、次の手順を実行します。
ステップ1: MaxComputeにクラウドリソースへのアクセスを許可する
MaxComputeとHadoopを使用してデータレイクハウスを構築する場合は、次の方法を使用して承認を完了します。 ENIが作成されると、MaxComputeはVPCに接続されます。 VPCが属するAlibaba Cloudアカウントを使用してResource Access Management (RAM) コンソールにログインし、[Cloud Resource Access authorization] ページで承認を完了できます。
ステップ2: DataWorksコンソールでデータlakehouseを作成する
最初に DataWorksコンソール
で、データレイクハウスがサポートされているリージョンを選択します。
説明データレイクハウスがサポートされているリージョンの詳細については、「制限」をご参照ください。
DataWorksコンソールの左側のナビゲーションウィンドウで、[詳細] > [レイクとウェアハウスの統合 (データレイクハウス)] を選択します。
[Lake and Warehouse Integration (Data Lakehouse)] ページで、[開始] をクリックします。
[データレイクハウスの作成] ページで、パラメーターを設定します。 下表に追加のパラメーターを示します。
表 1 [データウェアハウスの作成] ステップのパラメーター
パラメーター
説明
外部プロジェクト名
外部プロジェクトのカスタム名。 名前の条件は以下の通りです。
名前には、英字、数字、およびアンダースコア (_) のみを使用でき、先頭は英字である必要があります。
名前は 1 から 128 文字にしなければなりません。
説明外部プロジェクトの詳細については、「プロジェクト」をご参照ください。
MaxComputeプロジェクト
ドロップダウンリストからMaxComputeプロジェクトを選択します。 MaxComputeプロジェクトが存在しない場合は、MaxComputeコンソールで [プロジェクトの作成] をクリックします。 詳細については、「MaxComputeプロジェクトの作成」をご参照ください。
説明[MaxComputeプロジェクト] ドロップダウンリストからプロジェクトを選択できない場合は、DataWorksコンソールのDataWorksワークスペースにプロジェクトを関連付ける必要があります。 詳細については、「データソースの追加またはクラスターのワークスペースへの登録」をご参照ください。
表 2. データレイク接続の作成
パラメーター
説明
異種データプラットフォームタイプ
Alibaba Cloud E-MapReduce/Hadoopクラスター: MaxComputeとHadoopを使用してデータレイクハウスを構築する場合は、このオプションを選択します。
Alibaba Cloud DLF + OSS: MaxCompute、DLF、およびOSSを使用してデータレイクハウスを構築する場合は、このオプションを選択します。
Alibaba Cloud E-MapReduce/Hadoopクラスター
ネットワーク接続
ドロップダウンリストから、MaxComputeから外部データソースがデプロイされているVPCへの接続を選択します。 外部データソースは、Alibaba Cloud EMR Hadoopクラスターまたは自己管理型Hadoopクラスターです。 接続を確立することもできます。 パラメーターの詳細については、「ネットワーク接続プロセス」の「VPC経由のアクセス (専用接続) 」の「MaxComputeとターゲットVPC間のネットワーク接続の確立」をご参照ください。
説明データレイクハウスのパブリックレビューフェーズでは、ネットワーク接続の料金は請求されません。
ネットワーク接続の詳細については、「規約」をご参照ください。
外部データソース
外部データソースには、MaxComputeから外部データソースへの接続を確立するために必要な情報が格納されます。 この情報には、URL (Uniform Resource Locator) 、ポート番号、およびユーザ認証情報が含まれる。 ドロップダウンリストからEMR Hadoopクラスターまたは自己管理Hadoopクラスターを選択します。 EMR Hadoopクラスターまたは自己管理Hadoopクラスターを作成することもできます。 詳細については、「外部データソースの管理」の「外部データソースの作成」の手順3をご参照ください。
表 3. 外部データソースの作成
パラメーター
説明
MaxComputeプロジェクトの選択
ドロップダウンリストから目的のMaxComputeプロジェクトを選択します。 MaxComputeプロジェクトの名前は、[プロジェクト] ページで確認できます。
外部データソース名
外部データソースのカスタム名。 名前の条件は以下の通りです。
名前には、小文字、数字、およびアンダースコア (_) のみを使用できます。
名前は128文字未満である必要があります。
ネットワーク接続オブジェクト
MaxComputeからE-MapReduce (EMR) Hadoopクラスターまたは自己管理HadoopクラスターがデプロイされているVPCへのネットワーク接続。 詳細については、「ネットワーク接続プロセス」をご参照ください。
NameNodeアドレス
Hadoopクラスター内のアクティブおよびスタンバイNameNodeプロセスのIPアドレスとポート番号。 ほとんどの場合、ポート番号は8020です。 詳細については、Hadoopクラスター管理者にお問い合わせください。
HMSサービスアドレス
Hadoopクラスター内のアクティブおよびスタンバイNameNodeプロセスのHive Metastore Service (HMS) IPアドレスとポート番号。 ほとんどの場合、ポート番号は9083です。 詳細については、Hadoopクラスター管理者にお問い合わせください。
クラスター名
クラスターの名前。 HA Hadoopクラスターの場合、このパラメーターの値はNameNodeプロセスの名前と同じです。 自己管理型Hadoopクラスターの場合、hdfs-site.xmlファイルのe dfs.nameサービスパラメーターに基づいてクラスター名を取得できます。
認証タイプ
MaxComputeは、アカウントマッピングを使用して、Hadoopクラスターからメタデータとデータを取得します。 マップされたHadoopアカウントは、Kerberos認証などの認証メカニズムを使用して保護されます。 したがって、マップされたアカウントの認証情報を含むファイルが必要です。 ビジネス要件に基づいて認証タイプを選択します。 詳細については、HadoopクラスターのO&Mエンジニアにお問い合わせください。
認証なし: HadoopクラスターでKerberos認証メカニズムが無効になっている場合、このオプションを選択します。
Kerberos認証: HadoopクラスターでKerberos認証メカニズムが有効になっている場合は、このオプションを選択します。
[設定ファイル]: [KRB5.confファイルのアップロード] をクリックして、Hadoopクラスターのkrb5.confファイルをアップロードします。
説明HadoopクラスターがLinuxオペレーティングシステムで実行されている場合、krb5.confファイルはHadoopクラスターのマスターノードのHDFS NameNodeプロセスの
/etcディレクトリに保存されます。hmsPrincipals: HMSサービスのID。 HadoopクラスターのKerberosターミナルで
list_principalsコマンドを実行して、このパラメーターの値を取得できます。 値の例:hive/emr-header-1.cluster-20****@EMR.20****.COM,hive/emr-header-2.cluster-20****@EMR.20****.COM説明このパラメーターの値は、カンマ区切りの文字列です。 1つのプリンシパルが1つのHMS IPアドレスにマッピングされます。
アカウントマッピングの追加
アカウント: MaxComputeを使用してHadoopクラスターにアクセスできるAlibaba Cloudアカウント。
Kerberosアカウント: HMSサービスへのアクセスを許可されているKerberosで認証されたHadoopユーザーアカウント。
ファイルのアップロード: [キータブファイルのアップロード] をクリックして、Kerberos認証Hadoopユーザーアカウントのキータブファイルをアップロードできます。 keytabファイルの作成方法の詳細については、「keytab設定ファイルの作成」をご参照ください。
表 4. データマッピングの作成
パラメーター
説明
外部データソースオブジェクト
デフォルトでは、このパラメーターはExternal Data Sourceの値に設定されています。
宛先データベース
Hadoopクラスター内のデータベース。
ステップ3: DataWorksコンソールでデータlakehouseを管理する
データlakehouseを使用する
DataWorksコンソールの左側のナビゲーションウィンドウで、[Lake and Warehouse Integration (Data Lakehouse)] をクリックします。
[Lake and Warehouse Integration (Data Lakehouse)] ページで、使用する外部プロジェクトを見つけます。
データlakehouseを使用してください。
外部プロジェクトの [操作] 列で、[データレイクハウスの使用] をクリックします。
外部プロジェクトを更新します。
外部プロジェクトの [操作] 列で、[プロジェクト設定] をクリックします。 [プロジェクト設定] ダイアログボックスで、外部プロジェクトに関する情報を更新します。
説明外部プロジェクトにマップされている外部データソースのデータベース名を変更し、別の外部データソースを選択することができます。 外部データソースを削除する場合は、MaxComputeコンソールの [外部データソースの管理] タブに移動し、外部データソースを見つけて、[操作] 列の [削除] をクリックします。 外部データソースを更新することはできません。
外部プロジェクトを削除します。
外部プロジェクトの [操作] 列で [削除] をクリックします。
説明外部プロジェクトは論理的に削除され、サイレント状態になります。 外部プロジェクトは15日後に完全に削除されます。 この期間中は、同じ名前の外部プロジェクトを作成することはできません。
データレイクハウスで外部プロジェクトのメタデータを表示する
DataWorksコンソールの左側のナビゲーションウィンドウで、[ワークスペース] をクリックします。
[ワークスペース] ページで、外部プロジェクトにマップされているワークスペースを見つけ、[操作] 列の [ショートカット]> [データマップ] を選択します。
[データマップ] ページで、検索ボックスにテーブル名を入力し、[検索] をクリックします。 [すべてのデータ] タブに移動し、[プロジェクト] ドロップダウンリストから外部プロジェクトを選択し、検索ボックスにテーブル名を入力して、[検索] をクリックすることもできます。
説明テーブルの [権限の申請] および [ラインの表示] 機能は使用できません。
テーブル内のメタデータは、T + 1日ベースで更新されます。 この場合、Hiveデータベースなどの外部データソースにマップされている外部プロジェクトのテーブルに対して行った変更は、T + 1日後にDataWorksのデータマップに同期されます。 MaxComputeのメタデータはリアルタイムで更新されます。
関連ドキュメント
Hadoopクラスターに基づいてDelta LakeまたはApache Hudiストレージメカニズムをサポートするデータレイクハウスを構築する方法の詳細については、「Hadoopクラスターに基づくDelta LakeまたはApache Hudiストレージメカニズム」をご参照ください。