DLF のデータインジェスト機能は更新が停止されているため、このトピックでは DataWorks の Data Integration を使用して ApsaraDB RDS for MySQL インスタンスからデータを取り込む方法を説明します。また、MaxCompute で外部プロジェクトを作成し、DLF が管理するテーブルデータをクエリする方法についても説明します。
制限事項
データレイクハウスソリューションは、中国 (杭州)、中国 (上海)、中国 (北京)、中国 (張家口)、中国 (深セン)、中国 (香港)、シンガポール、ドイツ (フランクフルト) のリージョンでのみサポートされています。
MaxCompute、OSS、ApsaraDB RDS、および DLF は、同じリージョンにデプロイする必要があります。
データレイクへの MySQL データのインジェスト
DLF でのデータインジェストの詳細については、「クイックスタート」をご参照ください。
ステップ 1:データレイクのメタデータベースの作成
DLF コンソールにログインします。上部のナビゲーションバーでリージョンを選択します。左側のナビゲーションウィンドウで、 を選択し、メタデータベースを作成します。詳細については、「データベース、テーブル、および関数」をご参照ください。
ステップ 2:DataWorks を使用した OSS へのデータインポート
ソースデータの準備
ApsaraDB RDS コンソールにログインし、リージョンを選択してから、左側のナビゲーションウィンドウで インスタンス をクリックします。
対象の ApsaraDB RDS インスタンスを選択し、データベースにログインします。
ApsaraDB RDS データベースにテーブルを作成し、テストデータをいくつか挿入します。詳細については、「DMS を使用して ApsaraDB RDS for MySQL インスタンスにログイン」をご参照ください。たとえば、次の SQL ステートメントを使用して rds_mc という名前のテーブルを作成できます。
CREATE TABLE `rds_mc` ( `id` varchar(32) , `name` varchar(32) , PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `rds_mc`(`id` ,`name` ) VALUES(1,"Alice"); INSERT INTO `rds_mc`(`id` ,`name` ) VALUES(2,"zhangsan"); INSERT INTO `rds_mc`(`id` ,`name` ) VALUES(3,"zhaosi"); INSERT INTO `rds_mc`(`id` ,`name` ) VALUES(4,"wangwu"); INSERT INTO `rds_mc`(`id` ,`name` ) VALUES(5,"55555"); INSERT INTO `rds_mc`(`id` ,`name` ) VALUES(8,"6666"); SELECT * FROM `rds_mc`;
-
RDS MySQL データソースの準備
DataWorks で MySQL データソースを構成します。具体的な操作については、「MySQL データソースの追加」をご参照ください。
-
OSS データソースの準備
DataWorks で OSS データソースを構成します。具体的な操作については、「OSS データソースの追加」をご参照ください。
-
データ同期タスクの作成と実行
DataWorks のデータ開発モジュールでオフライン同期タスクを作成します。詳細については、「コードレス UI での構成」をご参照ください。主要な構成は次のとおりです。
-
ネットワークとリソースの構成

パラメーター
説明
ソース
データソース
MySQL。
データソース名
作成済みの MySQL データソース。
リソースグループ
マイリソースグループ
作成済みの Data Integration 専用リソースグループ。
行き先
データ宛先
OSS。
データソース名
作成済みの OSS データソース。
-
デプロイタスク。
Configure tasks タブでテーブルとファイル名を入力します。
パラメーター
説明
表
RDS データベースで作成済みのテーブル名。
ファイル名 (パスを含む)
フォーマット:<OSS で作成済みのファイルディレクトリ名>/<OSS にエクスポートするデータファイル>。
例:
doc-test-01/datalake/anti.csv。 -
オフライン同期タスクの構成ページ左上にある
アイコンをクリックして構成を保存し、
アイコンをクリックしてタスクを実行します。 -
DataWorks でタスクが正常に実行された後、OSS データソースで構成したパスでデータが正常にインポートされたかどうかを確認できます。
-
ステップ 3:DLF によるメタデータディスカバリー
DLF コンソールで、メタデータディスカバリーを使用してデータをインジェストします。詳細については、「メタデータディスカバリー」をご参照ください。
ステップ 4:データレイクのメタデータの表示
DLF コンソールで、メタデータ > メタデータ管理 をクリックし、対象のデータベースに移動して、テーブルリスト タブでテーブル情報を表示します。
メタデータディスカバリー後のテーブルのシリアル化メソッドが org.apache.hadoop.hive.serde2.OpenCSVSerde の場合、MaxCompute はフィールドのデータ型を標準の文字列型ではなく、opencsv 固有の文字列型として誤って解釈する可能性があります。これにより、クエリが失敗することがあります。この問題を解決するには、DLF で影響を受けるすべてのフィールドのデータ型を手動で文字列に変更する必要があります。
権限付与
MaxCompute、DLF、OSS を使用してデータレイクハウスを構築するには、権限付与が必要です。なぜなら、MaxCompute プロジェクトの作成に使用したアカウントには、デフォルトで DLF および OSS へのアクセス権がないためです。次のいずれかの方法で権限を付与してください。
ワンクリック権限付与:MaxCompute プロジェクト、DLF、OSS に同じアカウントを使用する場合に推奨されます。DLF と OSS の権限付与 をクリックして、必要な権限を付与します。
カスタム権限付与:この方法は、MaxCompute プロジェクト、DLF、または OSS に同じアカウントまたは異なるアカウントを使用する場合に利用できます。詳細については、「カスタム権限付与」をご参照ください。
MaxCompute での外部プロジェクトの作成
DataWorks コンソールで外部プロジェクトを作成します。
-
DataWorks コンソールにログインし、リージョンとして中国 (上海) を選択します。
-
DataWorks コンソールの左側のナビゲーションウィンドウで、 を選択します。
-
データレイク統合 (レイクウェアハウス統合) ページで、今すぐ作成を開始 をクリックします。
-
新しいデータレイク統合 ページで、画面の指示に従って操作します。パラメーターの例を以下に示します。
表 1. データウェアハウスの作成
パラメーター
説明
外部プロジェクト名
ext_dlf_delta
Maxcomputeプロジェクト
ms_proj1
表 2. 外部データレイク接続の作成
パラメーター
説明
異種データプラットフォームタイプ
[Alibaba Cloud DLF+OSS データレイク接続] を選択します
なし
Alibaba Cloud DLF+OSS データレイク接続
外部プロジェクトの説明
なし
DLF があるリージョン
cn-shanghai
DLF エンドポイント
dlf-share.cn-shanghai.aliyuncs.com
DLF データベース名
datalake
DLF RoleARN
なし
-
作成 をクリックした後、プレビュー をクリックします。
DLF データベース内のテーブル情報をプレビューできれば、操作は成功です。
MaxCompute を使用した外部プロジェクトデータのクエリ
DataWorks のアドホッククエリページで、外部プロジェクトのテーブルデータをクエリします。
DataWorks のアドホッククエリの詳細については、「アドホッククエリを使用して SQL ステートメントを実行」をご参照ください。
コマンド例:
select * from ext_dlf_delta.rds_mc;結果:このコマンドは、
rds_mcテーブルのid列とname列のデータレコードを返します。これにより、データレイクのメタデータが正常に同期されたことが確認できます。