DLF-Legacy カタログを設定すると、Realtime Compute for Apache Flink コンソールからそのテーブルに直接アクセスできます。これにより、Data Lake Formation (DLF) テーブルを手動で登録する必要がなくなり、開発効率を向上させ、データ整合性を確保できます。このトピックでは、DLF-Legacy カタログの作成、表示、使用、および削除の方法について説明します。
このトピックは DLF-Legacy にのみ適用されます。 DLF-Legacy の代わりに、最新バージョンの Data Lake Formation (DLF) の使用を推奨します。DLF の最新バージョンの使用方法の詳細については、「Paimon カタログの管理」をご参照ください。
背景情報
Alibaba Cloud Data Lake Formation (DLF) は、統合メタデータ管理サービスです。DLF を使用して、Iceberg、Hudi、Delta、Parquet、ORC、Avro などのオープンソース形式のテーブルを管理できます。
前提条件
DLF-Legacy サービスがアクティベートされている必要があります
制限事項
DLF-レガシ カタログでは、 Flink は Iceberg および Hudi データレイクフォーマットのテーブルのみを管理できます。
DLF-Legacy カタログの作成
DLF-Legacy カタログは、UI または SQL コマンドを使用して作成できます。UI の使用を推奨します。
UI の使用
-
[Catalogs] ページに移動します。
-
対象のワークスペースの[アクション] 列で、[コンソール] をクリックします。
-
[カタログ] をクリックします。
-
[カタログの作成] をクリックし、[DLF] を選択して、[次へ] をクリックします。
-
DLF-Legacy カタログを作成します。
-
カタログパラメーターを設定します。
パラメーター
説明
必須
備考
[カタログ名]
DLF-Legacy カタログの名前。
はい
任意の英語名を入力します。
[access.key.id]
Object Storage Service (OSS) にアクセスするためのアクセスキー ID。
はい
詳細については、「アクセスキーペアの取得」および「」をご参照ください。
[access.key.secret]
OSS にアクセスするための AccessKey シークレット。
はい
詳細については、「アクセスキーペアの取得」および「」をご参照ください。
[ウェアハウス]
DLF-Legacy カタログ内のテーブルが格納されるデフォルトの OSS パス。
はい
OSS と OSS-HDFS の両方に対応しています。
-
OSS パス形式:
oss://<bucket>/<object> -
OSS-HDFS パス形式:
oss://<bucket>.<oss-hdfs-endpoint>/<object>
プレースホルダーの説明は次のとおりです。
-
bucket: OSS バケットの名前。 OSS コンソールでバケット名を表示できます。
-
object: データが格納されているパス。 OSS コンソールでパスを表示できます。
-
oss-hdfs-endpoint: OSS-HDFS サービスのエンドポイントです。OSS コンソールでは、バケットの [概要] ページにある [アクセスポート] セクションで、[HDFS サービス] の [エンドポイント] を確認します。
説明このパラメーターは、VVR 8.0.3 以降でのみ OSS-HDFS パスに設定できます。
[oss.endpoint]
Alibaba Cloud OSS のエンドポイントです。例:
oss-cn-hangzhou-internal.aliyuncs.com。はい
OSS と OSS-HDFS の両方に対応しています。
-
OSS サービスエンドポイント。 詳細については、「リージョンとエンドポイント」をご参照ください。
-
OSS-HDFS サービスエンドポイント。OSS [コンソール]で、バケットの [概要] ページにある [アクセスポート] セクションで [HDFS サービス] の [エンドポイント] を表示します。
説明-
oss.endpoint パラメーターを OSS の VPC エンドポイントに設定することを推奨します。 たとえば、中国 (杭州) リージョンにいる場合は、oss.endpoint を
oss-cn-hangzhou-internal.aliyuncs.comに設定します。 -
VPC をまたいで OSS にアクセスする必要がある場合は、「他のサービスに VPC をまたいでアクセスする方法」をご参照ください。
[dlf.endpoint]
Alibaba Cloud DLF サービスのエンドポイント。
はい
説明-
dlf.endpoint パラメーターを DLF の VPC エンドポイントに設定することを推奨します。 たとえば、中国 (杭州) リージョンにいる場合は、dlf.endpoint パラメーターを
dlf-vpc.cn-hangzhou.aliyuncs.comに設定します。 -
VPC をまたいで DLF にアクセスする必要がある場合は、「ワークスペースの管理と操作」をご参照ください。
[dlf.region-id]
Alibaba Cloud DLF サービスのリージョン ID。
はい
説明dlf.endpoint のリージョンと、このリージョン ID が一致することを確認してください。
[詳細設定]
追加の DLF 設定。 たとえば、複数の DLF カタログを指定する場合は、それぞれを新しい行に入力します。
いいえ
例:
dlf.catalog.id:my_catalog。 -
-
[確認] をクリックします。
-
-
カタログが作成されると、[カタログ] セクションで表示できます。
SQL コマンドの使用
-
[スクリプト] ページのテキストエディターに、DLF-Legacy カタログを作成するコマンドを入力します。
CREATE CATALOG <yourcatalogname> WITH ( 'type' = 'dlf', 'access.key.id' = '<YourAliyunAccessKeyId>', 'access.key.secret' = '<YourAliyunAccessKeySecret>', 'warehouse' = '<YourAliyunOSSLocation>', 'oss.endpoint' = '<YourAliyunOSSEndpoint>', 'dlf.region-id' = '<YourAliyunDLFRegionId>', 'dlf.endpoint' = '<YourAliyunDLFEndpoint>' );パラメーター
説明
必須
備考
yourcatalogname
DLF-Legacy カタログの任意の名前。
はい
任意の英語名を入力します。
重要プレースホルダーをカタログ名に置き換えた後、山括弧 (<>) を削除してください。削除しないと、構文エラーが発生します。
type
カタログのタイプ。
はい
このパラメーターを
dlfに設定します。access.key.id
The AccessKey ID of your Alibaba Cloud account.
Yes
For more information, see Obtain an AccessKey pair.
access.key.secret
Alibaba Cloud アカウントの AccessKey シークレット。
はい
詳細については、「アクセスキーペアの取得」および「」をご参照ください。
warehouse
DLF-Legacy カタログ内のテーブルが格納されるデフォルトの OSS パス。
はい
形式は oss://<bucket>/<object> です。プレースホルダーは次のとおりです。
-
bucket: The name of your OSS bucket.
-
object: The path where your data is stored.
説明バケット名とオブジェクト名は、[OSS コンソール]で確認できます。
oss.endpoint
Alibaba Cloud OSS のエンドポイント。
はい
詳細については、「リージョンとエンドポイント」をご参照ください。
説明-
oss.endpoint パラメーターを OSS の VPC エンドポイントに設定することを推奨します。 たとえば、中国 (杭州) リージョンにいる場合は、oss.endpoint を
oss-cn-hangzhou-internal.aliyuncs.comに設定します。 -
VPC をまたいで OSS にアクセスする必要がある場合は、「ワークスペースの管理と操作」をご参照ください。
dlf.endpoint
Alibaba Cloud DLF サービスのエンドポイント。
はい
説明-
dlf.endpoint パラメーターを DLF の VPC エンドポイントに設定することを推奨します。 たとえば、中国 (杭州) リージョンにいる場合は、dlf.endpoint パラメーターを
dlf-vpc.cn-hangzhou.aliyuncs.comに設定します。 -
VPC をまたいで DLF にアクセスする必要がある場合は、「ワークスペースの管理と操作」をご参照ください。
dlf.region-id
Alibaba Cloud DLF サービスのリージョン ID。
はい
説明dlf.endpoint のリージョンと、このリージョン ID が一致することを確認してください。
-
-
ステートメントを選択し、[実行] をクリックします。
-
左側の[カタログ] セクションで、作成したカタログを確認します。
DLF-Legacy カタログの表示
DLF-Legacy カタログを作成した後、そのメタデータを表示できます。
-
[Catalogs] ページに移動します。
-
対象のワークスペースの [操作] 列で、[コンソール] をクリックします。
-
[Catalogs] をクリックします。
-
[Catalog list] ページで、[名前] と [タイプ] を確認できます。
説明カタログ内のデータベースとテーブルを表示するには、[表示] をクリックしてください。
DLF-Legacy カタログの使用
DLF データベースの管理
[Scripts] ページのテキストエディターに、次のステートメントを入力します。ステートメントを選択し、[Run] をクリックします。データベースの作成または削除後、[SQL Editor] ページ左側の [Catalogs] セクションで結果を確認できます。
-
データベースの作成
CREATE DATABASE dlf.dlf_testdb; -
データベースの削除
DROP DATABASE dlf.dlf_testdb;
DLF テーブルの管理
-
テーブルの作成
-
コネクタを使用したテーブルの作成
SQL
[Scripts] ページのテキストエディターにステートメントを入力します。ステートメントを選択し、[Run] をクリックします。テーブルの作成後、[SQL Editor] ページ左側の [Catalogs] セクションで表示できます。
CREATE TABLE dlf.dlf_testdb.iceberg ( id BIGINT, data STRING, dt STRING ) PARTITIONED BY (dt) WITH( 'connector' = 'iceberg' ); CREATE TABLE dlf.dlf_testdb.hudi ( id BIGINT PRIMARY KEY NOT ENFORCED, data STRING, dt STRING ) PARTITIONED BY (dt) WITH( 'connector' = 'hudi' );UI
-
[Catalogs] ページに移動します。
-
対象のワークスペースの [Actions] 列で、[Console] をクリックします。
-
[カタログ]をクリックします。
-
対象のカタログの [Actions] 列で、[View] をクリックします。
-
対象のデータベースの [Actions] 列で、[View] をクリックします。
-
[Create Table] をクリックします。
-
[Built-in] タブで、[Connection Type] をクリックし、テーブルタイプを選択します。
-
[Next] をクリックします。
-
テーブル作成ステートメントを入力し、パラメーターを設定します。コード例は以下の通りです。
CREATE TABLE dlf.dlf_testdb.iceberg ( id BIGINT, data STRING, dt STRING ) PARTITIONED BY (dt) WITH( 'connector' = 'iceberg' ); CREATE TABLE dlf.dlf_testdb.hudi ( id BIGINT PRIMARY KEY NOT ENFORCED, data STRING, dt STRING ) PARTITIONED BY (dt) WITH( 'connector' = 'hudi' ); -
[Confirm] をクリックします。
-
-
一致するスキーマを使用したテーブルの作成 (このメソッドは Iceberg テーブルでのみサポートされます。)
[Scripts] ページのテキストエディターに、以下のステートメントを入力します。ステートメントを選択し、[Run] をクリックします。
CREATE TABLE iceberg_table_like LIKE iceberg_table;
-
-
テーブルの削除
DROP TABLE iceberg_table;
Iceberg テーブルスキーマの変更
[Scripts] ページのテキストエディターに、必要なコマンドを入力します。コマンドを選択し、[Run] をクリックします。
|
アクション |
例 |
|
テーブルプロパティの変更 |
|
|
テーブルの名前の変更 |
|
|
列の名前の変更 |
説明
この機能は VVR 8.0.7 以降でのみサポートされます。 |
|
データ型の変更 |
列のデータ型を変更する場合は、以下のルールが適用されます:
説明
この機能は VVR 8.0.7 以降でのみサポートされます。 |
データの書き込み
INSERT INTO dlf.dlf_testdb.iceberg VALUES (1, 'AAA', '2022-02-01'), (2, 'BBB', '2022-02-01');
INSERT INTO dlf.dlf_testdb.hudi VALUES (1, 'AAA', '2022-02-01'), (2, 'BBB', '2022-02-01');
データの読み取り
SELECT * FROM dlf.dlf_testdb.iceberg LIMIT 2;
SELECT * FROM dlf.dlf_testdb.hudi LIMIT 2;
DLF-Legacy カタログの削除
DLF-Legacy カタログを削除しても、実行中のデプロイメントには影響しません。ただし、カタログを使用するデプロイメントは、テーブルを参照できなくなるため、再起動または再公開時に失敗する可能性があります。注意して操作してください。
UI または SQL コマンドを使用して DLF-Legacy カタログを削除できます。UI を使用することを推奨します。
UI の使用
-
[カタログ] ページに移動します。
-
対象のワークスペースの [操作] 列で、[コンソール] をクリックします。
-
[カタログ] をクリックします。
-
[カタログリスト] ページで、対象のカタログの [操作] 列の [削除] をクリックします。
-
表示された確認メッセージで、[削除] をクリックします。
-
左側の [カタログ] セクションで、対象のカタログが削除されたことを確認します。
SQL コマンドの使用
-
[スクリプト] ページのテキストエディターに、次のコマンドを入力します。
DROP CATALOG ${catalog_name}${catalog_name} を削除する DLF-Legacy カタログの名前に置き換えます。
-
コマンドを選択し、[実行] をクリックします。
-
左側の [カタログ] セクションで、対象のカタログが削除されたことを確認します。
関連ドキュメント
-
Iceberg コネクタの使用方法については、「Iceberg コネクタ」をご参照ください。
-
Hudi コネクタの使用方法については、「Hudi コネクタ (廃止予定)」をご参照ください。
-
組み込みカタログがビジネス要件を満たさない場合は、カスタムカタログを作成できます。詳細については、「カスタムカタログの管理」をご参照ください。