AnalyticDB for MySQL Data Lakehouse Edition (V3.0) では、HiveデータソースからObject Storage Service (OSS) バケットにデータを移行できます。 このトピックでは、AnalyticDB for MySQL data Lakehouse Edition (V3.0) のデータ移行機能を使用して、HiveデータソースからOSSバケットにデータを移行し、データを分析し、データ移行ジョブを管理する方法について説明します。
概要
AnalyticDB for MySQL Data Lakehouse Edition (V3.0) では、HiveデータソースからOSSバケットにデータを移行できます。 メタデータとデータをデータソースからOSSにワンクリックで移行したり、複数のデータベースとテーブルをデータソースからOSSに並行して移行したりできます。
前提条件
データベースアカウントが作成されます。
Alibaba Cloudアカウントを使用する場合は、特権データベースアカウントを作成する必要があります。 詳細については、「データベースアカウントの作成」トピックの「特権アカウントの作成」セクションをご参照ください。
RAM (Resource Access Management) ユーザーを使用する場合は、特権アカウントと標準アカウントを作成し、標準アカウントをRAMユーザーに関連付ける必要があります。 詳細については、「データベースアカウントの作成」および「データベースアカウントの関連付けまたは関連付けの解除」をご参照ください。
E-MapReduce (EMR) クラスターまたはECSベースのCloudera Distributed Hadoop (CDH) クラスターは、Data Lakehouse Edition (V3.0) クラスターと同じリージョンに作成されます。
EMRクラスターが作成された場合、EMRクラスターのビジネスシナリオは [New Data Lake] に設定されます。 クラスターのメタデータは、自己管理型ApsaraDB RDSデータベースまたは組み込みMySQLデータベースに保存されます。 クラスターに対してHiveサービスが選択されています。 さらに、Hive Storage ModeパラメーターがHDFSに設定され、Data Lake Storageチェックボックスがオフになります。 詳細については、「クラスターの作成」をご参照ください。
重要メタデータがDLF Unified Metadataに設定されているEMRクラスターのHiveデータソースのデータは、OSSバケットに移行できません。
HiveストレージモードがData Lake Storageに設定されているEMRクラスター内のHiveデータソースのデータは、OSSに保存されます。 メタデータ検出を使用して、data Lakehouse Edition (V3.0) にデータをインポートできます。 詳細については、「メタデータ検出を使用したdata Lakehouse Editionへのデータのインポート」をご参照ください。
パーティション分割テーブルがHiveデータソースに作成されます。 詳細については、「Hiveを使用した基本操作の実行」をご参照ください。
手順
手順1: Hiveデータソースの作成
手順2: データ移行ジョブの作成
手順3: データ移行ジョブの開始
ステップ4: データの分析
ステップ5: (オプション) データ移行ジョブの管理
Hiveデータソースの作成
既存のHiveデータソースからデータを移行する場合は、この手順をスキップしてデータ移行ジョブを作成します。 詳細については、このトピックの「データ移行ジョブの作成」をご参照ください。
AnalyticDB for MySQLコンソールにログインします。 ホームページの左上でリージョンを選択します。 左側のナビゲーションウィンドウで、クラスターリスト をクリックします。 Lake Warehouse Edition(3.0) タブで、管理するクラスターを見つけ、クラスターIDをクリックします。
左側のナビゲーションウィンドウで、[データ取り込み]> [データソース] を選択します。
ページの右上隅にある データソースの新規作成 をクリックします。
データソースの新規作成 ページで、次の表に示すパラメーターを設定します。
EMRクラスター
パラメーター
説明
データソースのタイプ
データソース。 [Hive] を選択します。
データソース名
データソースの名前。 デフォルトでは、データソースの種類と現在の時刻に基づいて名前が生成されます。 ビジネス要件に基づいて名前を変更できます。
データソースの説明
データソースの説明 たとえば、ユースケースとビジネスの制限を入力できます。
デプロイモード
EMRクラスターのデプロイモード。 Alibaba Cloudインスタンスを選択します。
インスタンス
Hiveの日付ソースが属するEMRクラスター。
Hive Metastore Uri
HiveメタストアのURI (Uniform Resource Identifier) 。 このパラメーターは、
thrift:// <マスターノードのIPアドレス >:< ポート番号>
形式で指定します。 デフォルトでは、ポート番号は9083です。マスターノードのプライベートIPアドレスを表示するには、EMRコンソールにログインし、左側のナビゲーションウィンドウでECS上のEMRをクリックします。 [ノード] ページで、emr-masterノードの左側にある
アイコンをクリックします。
ECSベースのCDHクラスター
パラメーター
説明
データソースのタイプ
データソース。 [Hive] を選択します。
データソース名
データソースの名前。 デフォルトでは、データソースの種類と現在の時刻に基づいて名前が生成されます。 ビジネス要件に基づいて名前を変更できます。
データソースの説明
データソースの説明 たとえば、ユースケースとビジネスの制限を入力できます。
デプロイモード
CDHクラスターの展開モード。 ECSベースのCDHを選択します。
インスタンス
CDHクラスターをホストするElastic Compute Service (ECS) インスタンス。
Hive Metastore Uri
HiveメタストアのURI。 この場合、CDHクラスターをホストするECSインスタンスのパブリックIPアドレスを指定します。 このパラメーターは、
thrift:// <ECSインスタンスのIPアドレス >:< ポート番号>
形式で指定します。 デフォルトでは、ポート番号は9083です。ホスト設定情報
ホストからIPへのマッピング。 マッピングを異なる行で指定します。
例:
192.168.2.153 master.cdh
192.168.2.154 node1.cdh
192.168.2.155 node2.cdh
作成 をクリックします。
データ移行ジョブの作成
左側のナビゲーションウィンドウで、データ移行 をクリックします。
右上隅の 移行リンクの新規作成 をクリックします。
移行リンクの新規作成 ページの [Hiveデータソース] タブで、データソースと宛先の設定 、ライブラリテーブルの設定を移行します 、および 設定の移行 セクションのパラメーターを設定します。
[ソースと宛先の設定] セクションのパラメーター
パラメーター
説明
データリンク名
データ移行ジョブの名前。 デフォルトでは、データソースの種類と現在の時刻に基づいて名前が生成されます。 ビジネス要件に基づいて名前を変更できます。
データソース
データソース。 既存のHiveデータソースを選択するか、データソースを作成できます。
宛先タイプ
AnalyticDB for MySQLのデータストレージタイプ。 Data Lake - OSS Storageのみがサポートされています。
OSS パス
AnalyticDB for MySQLクラスターデータのOSSストレージパス。
重要AnalyticDB for MySQLクラスターと同じリージョンにあるすべてのバケットが表示されます。 いずれかのバケットを選択できます。 ビジネス要件に基づいてこのパラメーターを設定します。 このパラメーターを設定した後、変更することはできません。
他のデータ移行ジョブのディレクトリとネストされた関係を持たない空のディレクトリを選択することを推奨します。 これにより、履歴データの上書きが防止されます。 たとえば、2つのデータ移行ジョブに関連するOSSストレージパスがoss:// adb_demo/test/sls1 /およびoss:// adb_demo/test /であるとします。 この場合、2つのパスは互いに入れ子の関係にあるため、データ移行中にデータの上書きが発生します。
データベース /テーブル移行設定セクションのパラメーター
重要データベース名またはテーブル名がホワイトリストとブラックリストの両方に追加された場合、ブラックリストが優先されます。 この場合、システムはデータベースまたはテーブルを移行しません。
パラメーター
説明
データベースホワイトリストの移行
移行するデータベースとテーブルの名前。 正規表現を使用して名前を指定します。 複数の正規表現はコンマ (,) で区切ります。
ライブラリテーブルのブラックリストの移行
移行しないデータベースとテーブルの名前。 正規表現を使用して名前を指定します。 複数の正規表現はコンマ (,) で区切ります。
[移行設定] セクションのパラメーター
パラメーター
説明
宛先に同名のテーブルファイルが存在する場合の処理
ターゲットOSSバケット内の別のテーブルと同じ名前を使用するテーブルを処理する方法。 有効な値:
移行をスキップ: テーブルをスキップし、他のテーブルの移行を続行します。
レポートエラーと移行中止: データ移行ジョブ全体を一時停止します。
ジョブ型リソースグループ
データ移行ジョブを実行するジョブリソースグループ。
必要な ACU の数
ジョブリソースグループがデータ移行ジョブを実行するために必要なAnalyticDBコンピュートユニット (ACU) の数。 値の範囲は4から、ジョブリソースグループで使用可能なコンピューティングリソースの最大数です。 データ移行の安定性とパフォーマンスを向上させるために、比較的多数のACUを指定することを推奨します。
並列タスクの数
並列実行が開始されるタスクの数。 デフォルト値は 1 です。 有効値: 1~8。
各タスクはテーブルを移行します。 各タスクには少なくとも4つのACUが必要です。 ACUの数が十分でない場合、タスクは順番に実行されます。
詳細設定
データ移行ジョブのパーソナライズされた設定。 パーソナライズされた設定を構成する場合は、テクニカルサポートにお問い合わせください。
送信 をクリックします。
データ移行ジョブの開始
データ移行 ページで、作成したデータ移行ジョブを見つけ、[操作] 列の [開始] をクリックします。
右上隅の [検索] をクリックします。 ジョブの状態がStartingに変わると、データ移行ジョブが開始されます。
データの分析
データ移行ジョブが完了したら、メタデータ検出を使用してOSSからdata Lakehouse Edition (V3.0) にデータをインポートできます。 次に、Spark JAR Developmentを使用して、data Lakehouse Edition (V3.0) にインポートされたデータを分析できます。 Spark開発の詳細については、「Spark開発エディター」および「Sparkバッチアプリケーション開発」をご参照ください。
左側のナビゲーションウィンドウで、 .
デフォルトのテンプレートにSQL文を入力し、実行.
-- SparkSQLの例にすぎません。 コンテンツを変更し、sparkプログラムを実行します。 conf spark.driver.resourceSpec=medium; conf spark.exe cutor.instances=2; conf spark.exe cutor.resourceSpec=medium; con f spark.app.name=Spark SQLテスト; conf spark.adb.connectors=oss; -- ここにあなたのsqlステートメントがあります ショーテーブルからlakehouse20220413156_adbTest;
(オプション) [アプリケーション] タブでアプリケーションを見つけ、[操作] 列の [ログ] をクリックして、アプリケーションのSpark SQL実行ログを表示します。
データ移行ジョブの管理
データ移行 ページで、操作 列で次の操作を実行できます。
API 操作 | 説明 |
スタート | データ移行ジョブを開始します。 |
実行の詳細 | データ移行ジョブの設定や移行済みテーブルの数など、データ移行ジョブの詳細を表示できます。 |
編集 | データ移行ジョブのプロパティを編集できます。 |
中断 | データ移行ジョブを一時停止します。 |
削除 | データ移行ジョブを削除します。 |