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

Data Lake Formation:DLF-Legacy から DLF への移行

最終更新日:Dec 20, 2025

このトピックでは、Realtime Compute for Apache Flink で JAR ジョブをデプロイして、DLF-Legacy から DLF にデータを移行する方法について説明します。

前提条件

操作手順

ステップ 1: JAR ジョブの作成

  1. Realtime Compute for Apache Flink 管理コンソールにログインします。

  2. フルマネージド Flink ワークスペースのリストで、ご利用のワークスペースの名前をクリックします。

  3. 左側のナビゲーションウィンドウで、[オペレーションセンター] > [デプロイメント] を選択します。

  4. [ジョブのデプロイ] をクリックし、[JAR ジョブ] を選択して、次のパラメーターを設定します。

    パラメーター

    説明

    デプロイモード

    このパラメーターはバッチモードに固定されています。

    バッチモード

    デプロイメント名

    JAR ジョブの名前を入力します。

    migrate_paimon

    エンジンバージョン

    リアルタイムコンピューティングエンジンのバージョンを選択します。

    vvr-8.0.11-flink-1.17

    JAR URI

    paimon-flink-action JAR パッケージをアップロードします。

    paimon-flink-action-1.3-SNAPSHOT-for-clone-20250909.jar パッケージをアップロードします。 以前にアップロードしたことがある場合は、ドロップダウンリストから選択します。

    エントリポイントクラス

    プログラムのエントリポイントクラスです。

    空白のままにします。

    エントリポイントのメイン引数

    main メソッドに渡されるパラメーターです。

    現時点では空白のままにします。 具体的なパラメーターはジョブによって異なります。 詳細については、「ステップ 2」をご参照ください。

    追加の依存関係

    アタッチする依存関係ファイルのパスまたはファイル名を指定します。

    paimon-ali-vvr-8.0-vvp-1.3-ali-SNAPSHOT-for-clone-20250909.jar パッケージをアップロードします。 以前にアップロードしたことがある場合は、ドロップダウンリストから選択します。

    説明

    デプロイメントパラメーターの詳細については、「JAR ジョブのデプロイ」をご参照ください。

  5. [デプロイ] をクリックして JAR ジョブを作成します。

ステップ 2: パラメーターの調整とジョブの開始

Flink ジョブは、カタログ全体、データベース全体、または単一のテーブルを移行できます。 移行の目的に応じて Entry Point Main Arguments パラメーターを調整します。

  1. [デプロイメント] リストで、作成した JAR ジョブを見つけて [詳細] をクリックします。

  2. [デプロイメント詳細] ページで、右上の [編集] をクリックし、Entry Point Main Arguments パラメーターを再入力します。

    ソーステーブルのタイプに応じて、次のいずれかの方法を選択します。

    Hive テーブルのクローン

    ソーステーブルは、Hive テーブル (Parquet、ORC、Avro など)、Iceberg テーブル、または Hudi テーブルです。 移行後、これらは Paimon の追加専用テーブルに変換されます。

    clone
    --parallelism '<parallelism>'
    --database '<database-name>'
    --table '<table-name>'
    --catalog_conf 'metastore=dlf'
    --catalog_conf "warehouse=<warehouse>"
    --catalog_conf 'dlf.catalog.id=<dlf.catalog.id>' 
    --catalog_conf 'dlf.catalog.accessKeyId=<dlf.catalog.accessKeyId>'
    --catalog_conf 'dlf.catalog.accessKeySecret=<dlf.catalog.accessKeySecret>'
    --catalog_conf 'dlf.catalog.endpoint=<dlf.catalog.endpoint>'
    --catalog_conf 'dlf.catalog.region=<dlf.catalog.region>'
    --catalog_conf 'fs.oss.endpoint=<fs.oss.endpoint>'
    --catalog_conf 'fs.oss.accessKeyId=<fs.oss.accessKeyId>'
    --catalog_conf 'fs.oss.accessKeySecret=<fs.oss.accessKeySecret>'
    --target_database '<target-database-name>'
    --target_table '<target-table-name>'
    --target_catalog_conf 'metastore=rest'
    --target_catalog_conf 'warehouse=<target-warehouse>'
    --target_catalog_conf 'uri=<dlf.next.endpoint>'
    --target_catalog_conf 'token.provider=dlf'
    --target_catalog_conf 'dlf.access-key-id=<dlf.access-key-id>'
    --target_catalog_conf 'dlf.access-key-secret=<dlf.access-key-secret>'
    --clone_from 'hive'
    --where '<filter-spec>'

    Paimon テーブルのクローン

    clone
    --parallelism '<parallelism>'
    --database '<database-name>'
    --table '<table-name>'
    --catalog_conf 'metastore=dlf'
    --catalog_conf "warehouse=<warehouse>"
    --catalog_conf 'dlf.catalog.id=<dlf.catalog.id>' 
    --catalog_conf 'dlf.catalog.accessKeyId=<dlf.catalog.accessKeyId>'
    --catalog_conf 'dlf.catalog.accessKeySecret=<dlf.catalog.accessKeySecret>'
    --catalog_conf 'dlf.catalog.endpoint=<dlf.catalog.endpoint>'
    --catalog_conf 'dlf.catalog.region=<dlf.catalog.region>'
    --catalog_conf 'fs.oss.endpoint=<fs.oss.endpoint>'
    --catalog_conf 'fs.oss.accessKeyId=<fs.oss.accessKeyId>'
    --catalog_conf 'fs.oss.accessKeySecret=<fs.oss.accessKeySecret>'
    --target_database '<target-database-name>'
    --target_table '<target-table-name>'
    --target_catalog_conf 'metastore=rest'
    --target_catalog_conf 'warehouse=<target-warehouse>'
    --target_catalog_conf 'uri=<dlf.next.endpoint>'
    --target_catalog_conf 'token.provider=dlf'
    --target_catalog_conf 'dlf.access-key-id=<dlf.access-key-id>'
    --target_catalog_conf 'dlf.access-key-secret=<dlf.access-key-secret>'
    --clone_from 'paimon'
    --where '<filter-spec>'

    次の表にパラメーターを説明します。

    パラメーター

    説明

    必須

    注意

    parallelism

    ジョブの並列度。

    いいえ

    例: 16

    database-name

    クローンするソース DLF-Legacy (旧バージョン) データベースの名前。

    いいえ

    例: my_database

    table-name

    クローンするソース DLF-Legacy (旧バージョン) データテーブルの名前。

    いいえ

    例: my_table

    warehouse

    ソース DLF-Legacy (旧バージョン) データカタログの OSS リポジトリパス。

    はい

    フォーマットは oss://<bucket>/<object> です。 このフォーマットでは:

    • bucket:ご利用の OSS バケットの名前。

    • object:データが保存されているパス。

    OSS コンソールでバケットとオブジェクト名を確認してください。

    dlf.catalog.id

    DLF-Legacy (旧バージョン) データカタログの ID。

    はい

    DLF-Legacy (旧バージョン) コンソールでデータカタログ ID を確認してください。 詳細については、「データカタログ」をご参照ください。

    dlf.catalog.accessKeyId

    DLF サービスへのアクセスに必要な AccessKey ID。

    はい

    既存の AccessKey を使用するか、新しい AccessKey を作成します。 詳細については、「AccessKey の作成」をご参照ください。

    説明

    AccessKey Secret の漏洩リスクを低減するため、AccessKey Secret は作成時にのみ表示され、後で表示することはできません。 AccessKey Secret は機密情報として保管してください。

    dlf.catalog.accessKeySecret

    DLF サービスへのアクセスに必要な AccessKey Secret。

    はい

    dlf.catalog.endpoint

    DLF サービスのエンドポイント。

    はい

    詳細については、「リージョンとエンドポイント」をご参照ください。

    例: dlf-vpc.cn-hangzhou.aliyuncs.com。

    dlf.catalog.region

    DLF が存在するリージョン。

    はい

    詳細については、「リージョンとエンドポイント」をご参照ください。 このリージョンが dlf.catalog.endpoint に指定されたリージョンと同じであることを確認してください。

    例: cn-hangzhou。

    fs.oss.endpoint

    OSS サービスのエンドポイント。

    はい

    エンドポイントの取得方法については、「リージョンとエンドポイント」をご参照ください。

    OSS の例: oss-cn-hangzhou-internal.aliyuncs.com。

    OSS-HDFS の例: cn-hangzhou.oss-dls.aliyuncs.com

    fs.oss.accessKeyId

    OSS に対する読み取りおよび書き込み権限を持つ Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey ID。

    はい

    既存の AccessKey を使用するか、新しい AccessKey を作成します。 詳細については、「AccessKey の作成」をご参照ください。

    説明

    AccessKey Secret の漏洩リスクを低減するため、AccessKey Secret は作成時にのみ表示され、後で表示することはできません。 AccessKey Secret は機密情報として保管してください。

    fs.oss.accessKeySecret

    OSS に対する読み取りおよび書き込み権限を持つ Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey Secret。

    はい

    target-database-name

    クローンされた DLF データベースの名前。

    いいえ

    例: target_database

    target-table-name

    クローンされた DLF データテーブルの名前。

    いいえ

    例: target_table

    target-warehouse

    クローンされた DLF データカタログの名前。

    はい

    DLF コンソールでデータカタログ名を確認してください。 詳細については、「データカタログ」をご参照ください。

    dlf.next.endpoint

    DLF サービスのエンドポイント。

    はい

    詳細については、「エンドポイント」をご参照ください。

    例: cn-hangzhou-vpc.dlf.aliyuncs.com

    dlf.access-key-id

    DLF サービスへのアクセスに必要な AccessKey ID。

    はい

    既存の AccessKey を使用するか、新しい AccessKey を作成します。 詳細については、「AccessKey の作成」をご参照ください。

    説明

    AccessKey Secret の漏洩リスクを低減するため、AccessKey Secret は作成時にのみ表示され、後で表示することはできません。 AccessKey Secret は機密情報として保管してください。

    dlf.access-key-secret

    DLF サービスへのアクセスに必要な AccessKey Secret。

    はい

    clone_from

    クローンするソーステーブルのタイプ。

    はい

    'hive' または 'paimon'

    filter-spec

    クローン用のパーティションフィルター条件。

    いいえ

    dt = '2024-10-01'

    重要
    • データベース全体を移行するには、table-name および target-table-name パラメーターを設定しないでください。

    • データカタログ全体を移行するには、database-name および target-database-name パラメーターを設定しないでください。

    • データカタログまたはデータベース全体を移行する場合、--excluded_tables <excluded-tables-spec> パラメーターを設定することで、特定のテーブルを除外できます。 例: my_db.my_tbl,my_db2.my_tbl2。 単一テーブルの移行では、このパラメーターを設定しないでください。

  3. パラメーターを設定した後、[デプロイメント詳細] ページで [保存] をクリックします。

  4. [デプロイメント] ページで、JAR ジョブを見つけて [開始] をクリックします。 デフォルトのパラメーターを使用してジョブを開始できます。

ステップ 3: 結果の検証

ジョブのステータスが [完了] に変わったら、DLF-Legacy (旧バージョン) コンソールDLF コンソールにログインして、移行が成功したかどうかを確認します。

  • カタログ全体を移行した場合: DLF のカタログ構造、データベース、およびテーブルが DLF-Legacy のものと一致しているか確認します。

  • データベース全体を移行した場合: DLF のデータベースとテーブルの構造が DLF-Legacy のものと一致しているか確認します。

  • 単一のテーブルを移行した場合: DLF のテーブル構造が DLF-Legacy のものと一致しているか確認します。