メタテーブルは、データ管理を通じて管理されるクロスストレージタイプのテーブルです。メタテーブルを作成することで、開発プロセスで使用される入力テーブル、出力テーブル、およびディメンションテーブルを作成および管理できます。このトピックでは、メタテーブルの作成方法と管理方法について説明します。
メリット
メタテーブルには、次のメリットがあります。
セキュリティと信頼性: メタテーブルは、ネイティブの Flink DDL 文を直接記述することによって引き起こされる機密情報の漏洩を効果的に防ぎます。
効率とエクスペリエンスの向上: テーブルを一度作成すれば、複数回参照できます。DDL 文を繰り返し記述したり、複雑な入力、出力、またはディメンションテーブルのマッピングを実行したりする必要はありません。これにより、開発が簡素化され、効率とエクスペリエンスが向上します。
アセットリネージ: メタテーブルは、上流および下流のアセットリネージ情報を維持します。
メタテーブルの機能
メタテーブルを使用すると、次のシナリオを実装できます。
プラットフォームベース: すべてのリアルタイムメタテーブルと関連するスキーマ情報を一元的に維持します。
アセットベース: リアルタイム開発プロセスでテーブルを一元的に構成および管理します。
メタテーブルページの概要

領域 | 説明 |
①操作バー | 保存、送信、非公開、更新、編集ロック、および検索操作をサポートします。 |
②メタテーブルの基本情報 | メタテーブルの基本情報。メタテーブル名、データソースタイプ、データソース名、ソーステーブル名、コネクタ名などが含まれます。 説明 メタテーブルのデータソースタイプとして Hive を選択し、ソーステーブルとして Hudi テーブルを選択した場合、コネクタは dp-hudi になります。 |
③メタテーブル構造の操作 | テーブルフィールドの検索、フィールドの追加、Flink DDL のエクスポート、ソート、および解析操作をサポートします。フィールドの追加では、次のメソッドがサポートされています。
|
④メタテーブル フィールド リスト | システムによって解析されたメタテーブルのフィールドを表示します。序数、フィールド名、メタデータかどうか、Flink フィールドタイプ、元のフィールドタイプ、説明が含まれ、編集および削除操作をサポートします。 |
⑤メタテーブルを構成する | メタテーブルのプロパティの構成と、メタテーブルの履歴バージョンの表示をサポートします。
|
手順
ステップ 1: メタテーブルを作成する
Dataphin のホームページで、上部のナビゲーションバーから [開発] > [データ開発] を選択します。
上部のナビゲーションバーからプロジェクトを選択し、左側のナビゲーションウィンドウから [データ処理] > [テーブル] を選択します。
[テーブル] リストの
アイコンをクリックして、[テーブルの作成] ダイアログボックスを開きます。[テーブルの作成] ダイアログボックスで、パラメーターを構成します。
パラメータ
説明
テーブルタイプ
メタテーブルを選択します。
メタテーブル名
メタテーブルの名前を入力します。名前は次の要件を満たす必要があります。
英字、数字、アンダースコア (_) のみを含めることができ、数字で始めることはできません。
長さは 64 文字を超えることはできません。
データソース
Dataphin でサポートされているリアルタイムデータソースと作成できるテーブルのタイプについては、「Dataphin でサポートされているリアルタイムデータソース」をご参照ください。
リアルタイムデータソースタイプをカスタマイズすることもできます。詳細については、「カスタムデータソースタイプの作成」をご参照ください。
データソースを選択した後、データソースタイプに基づいて対応する情報を構成する必要があります。詳細については、「付録: メタテーブルのデータソース構成パラメーター」をご参照ください。
ソーステーブル
ソーステーブルを入力または選択します。
説明データソースとして Hive を選択した場合、Hudi テーブルを選択することもできます。ソーステーブルのドロップダウンリストでは、Hudi テーブルには
アイコンが付いています。データソースとして Log Service、DataHub、Kafka、Elasticsearch、Redis、または RabbitMQ を選択した場合、ソーステーブルの構成はサポートされていません。
ディレクトリの選択
デフォルトの選択はテーブル管理です。テーブル管理ページでターゲットフォルダを作成し、そのターゲットフォルダをメタテーブルのディレクトリとして選択することもできます。次の手順を実行します。
ページの左側にあるテーブル管理リストの上にある
アイコンをクリックして、[フォルダーの作成] ダイアログボックスを開きます。[フォルダーの作成] ダイアログボックスで、必要に応じてフォルダーの [名前] と [ディレクトリの選択] の場所を入力します。
[OK] をクリックします。
説明
1,000 文字以内で簡単な説明を入力します。
[OK] をクリックして、メタテーブルの作成を完了します。
ステップ 2: フィールドを追加する
Dataphin メタテーブルは、フィールドを追加するために次の 3 つのメソッドをサポートしています。
SQL インポートによるフィールドの追加
リアルタイムメタテーブルページで、[+フィールドの追加] をクリックし、[SQL インポート] を選択します。
[SQL インポート] ダイアログボックスで、SQL コードを記述します。
説明Dataphin は、データソースタイプに基づいて参照例を提供します。ウィンドウ内の参照例
をクリックして、対応するコード例を表示できます。コードの完成後、フォーマット
をクリックすると、ワンクリックでコードのフォーマットを調整できます。[with パラメーターからパラメーター値をインポート] を選択すると、with パラメーターの値も一緒にインポートされます。
MySQL データソースのコード例は次のとおりです。
create table import_table ( retailer_code INT comment '' ,qty_order VARCHAR comment '' ,cig_bar_code INT comment '' ,org_code INT comment '' ,sale_reg_code INT comment '' ,order_date TIMESTAMP comment '' ,PRIMARY KEY(retailer_code) ) with ( 'connector' = 'mysql' ,'url' = 'jdbc' ,'table-name' = 'ads' ,'username' = 'dataphin' );[OK] をクリックして、フィールドの追加を完了します。
バッチインポートによるフィールドの追加
リアルタイムメタテーブルページで、[+フィールドの追加] をクリックし、[バッチインポート] を選択します。
[バッチインポート] ダイアログボックスで、バッチインポート形式に従って SQL コードを記述します。
バッチインポート形式
フィールド名||フィールドタイプ||説明||プライマリキーかどうか||メタデータかどうか例
ID||INT||説明||false||false name||INT||説明||false||false
[OK] をクリックして、フィールドの追加を完了します。
単一行追加によるフィールドの追加
リアルタイムメタテーブルページで、[+フィールドの追加] をクリックし、[単一行追加] を選択します。
[単一行追加] ダイアログボックスで、パラメーターを構成します。
パラメータ
説明
メタデータかどうか
デフォルトは「いいえ」です。はいを選択した場合、プライマリキーかどうかと元のフィールドタイプを入力する必要はありませんが、Flink SQL フィールドタイプを選択する必要があります。
フィールド名
フィールド名を入力します。
フィールド名には、英字、数字、アンダースコア (_)、ピリオド (.) のみを含めることができ、数字で始めることはできません。
プライマリキーかどうか
必要に応じて、フィールドがプライマリキーであるかどうかを選択します。
説明データソースが Kafka で、コネクタが Kafka の場合は、メッセージキーかどうかを選択します。
データソースが HBase の場合は、RowKey を選択します。
フィールドタイプと元のフィールドタイプ
HBase には元のフィールドタイプがありません。Flink SQL フィールドタイプを選択する必要があります。さらに、フィールドが RowKey でない場合は、カラムファミリーを入力する必要があります。
Flink SQL フィールドタイプとメタテーブルの元のフィールドタイプが多対一の関係にある場合は、Flink SQL フィールドタイプを選択する必要があります。元のフィールドタイプは、Flink SQL フィールドタイプからマッピングされます。この場合、元のフィールドタイプは表示のみで編集できません (Kafka など)。
Flink SQL フィールドタイプとこのデータソースの元のフィールドタイプが 1 対多の関係にある場合は、まず元のフィールドタイプを選択します。元のフィールドタイプを選択した後、編集が許可され、手動で精度を追加できます (MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Hive、その他のデータソースなど)。
[OK] をクリックして、フィールドの追加を完了します。
ステップ 3: メタテーブルのプロパティを構成する
メタテーブルを作成した後、右側の [プロパティ] ボタンをクリックして、[基本情報]、[メタテーブルパラメーター]、[リファレンス] を構成し、[デバッグテスト] データテーブルを変更します。
パラメータ
説明
[基本情報]
[メタテーブル名]
デフォルトは作成されたメタテーブルの名前であり、変更できません。
[データソース]
デフォルトは作成されたデータソースタイプです。
[データソースパラメータ]
異なるコンピュートエンジンは異なるデータソースをサポートし、異なるデータソースは異なる構成パラメータを必要とします。詳細については、「付録: メタテーブルデータソースの構成パラメータ」をご参照ください。
[説明]
メタテーブルの説明を 1,000 文字以内で入力します。
[メタテーブルパラメータ]
[パラメータ名]
データソースタイプに基づいて、異なるメタテーブルパラメーターが提供されます。ドロップダウンから選択して、データソースでサポートされているメタテーブルパラメーターとその対応する説明を取得するか、手動で入力できます。パラメーターを追加するには、[パラメーターの追加] をクリックします。
パラメーターの数は 50 を超えることはできません。パラメーター名には、数字、文字、アンダースコア (_)、ハイフン (-)、ピリオド (.)、コロン (:)、およびスラッシュ (/) のみを含めることができます。
[パラメータ値]
パラメーター値は、パラメータータイプに基づいてオプションを提供します。オプションがない場合は、手動で入力する必要があります。単一引用符はサポートされていません。例: パラメーター名: address、パラメーター値: Ningbo。
[アクション]
をクリックすると、対応するパラメータを削除できます。[参照]
[flink タスク名]
このメタテーブルを参照する Flink タスクの名前を表示します。
説明下書きタスクは参照情報に含まれません。
[タスクデバッグ中のデフォルト読み取り]
タスクのデバッグ中にデフォルトで読み取られるデータテーブルを設定します。本番テーブルまたは開発テーブルのいずれかを選択できます。
本番テーブルを読み取るように選択した場合、デバッグ中に対応する本番テーブルからデータを読み取ることができ、データ漏洩のリスクがあります。注意して進めてください。
デバッグ中にタスクがデフォルトで本番テーブルを読み取るように設定した場合、個人アカウントに開発および本番データソースの権限を申請する必要があります。データソースの権限を申請する方法については、「データソース権限の申請」をご参照ください。
説明Hive テーブルと Paimon テーブルは現在デバッグをサポートしていません。
[開発環境テスト中の読み取り]
タスクのテスト中にデフォルトで読み取られるデータテーブルを設定します。本番テーブルまたは開発テーブルのいずれかを選択できます。
本番テーブルを読み取るように選択した場合、テスト中に対応する本番テーブルからデータを読み取ることができ、データ漏洩のリスクがあります。注意して進めてください。
テスト中に開発環境がデフォルトで本番テーブルを読み取るように設定した場合、個人アカウントに開発および本番データソースの権限を申請する必要があります。データソースの権限を申請する方法については、「データソース権限の申請」をご参照ください。
[開発環境テスト中の書き込み]
現在のソーステーブルまたは別のテストテーブルのいずれかを選択できます。別のテストテーブルを選択した場合は、対応するテーブルを選択する必要があります。
[OK] をクリックします。
ステップ 4: メタテーブルを送信または公開する
メタテーブルページの左上にあるメニューバーで [送信] をクリックします。
[送信の備考] ダイアログボックスに、備考を入力します。
[OK および送信] をクリックします。

プロジェクトモードが Dev-Prod の場合、メタテーブルを本番環境に公開する必要があります。詳細については、「公開タスクの管理」をご参照ください。
付録: メタテーブルデータソースの構成パラメータ
データソース | 構成 | 説明 |
MaxCompute |
| ソーステーブル: データのソーステーブル。 blinkType: odps または continuous-odps を選択できます。
|
| ソーステーブル | ソーステーブル: データのソーステーブル。 |
SAP HAHA |
| ソーステーブル: データのソーステーブル。 更新時間フィールド: SAP HAHA テーブルで更新時間を示すタイムスタンプタイプのフィールドを選択するか、HANA SQL 時間文字列式 (例: |
| ソース Topic | ソース Topic: データのソース Topic。 |
|
|
|
Kafka |
|
|
Hudi |
|
|
Elasticsearch |
|
|
Redis | なし | |
RabbitMQ |
|
|
次のステップ
メタテーブルを作成した後、それに基づいてリアルタイムタスクを開発できます。詳細については、以下をご参照ください。
詳細については、「FLINK_SQL タスクの作成」をご参照ください。