Alibaba Cloud Data Lake Formation (DLF) は、メタデータ管理、ストレージ管理、権限管理、ストレージ分析、最適化のための統合サービスを提供するフルマネージドプラットフォームです。DataWorks の Data Integration は、DLF データソースにデータを書き込むことができます。このトピックでは、DataWorks で DLF データソースを設定して使用する方法について説明します。
制限事項
Data Lake Formation データソースは、データ統合およびサーバーレスリソースグループでのみ使用できます。 UI 上の データベース名ドロップダウンリストは、フォーマットテーブルをサポートしていません。 フォーマットテーブルからデータを読み取るには、スクリプトモードで tableType=format-table を設定します。
データソースの作成
[データソース] ページに移動します。
DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、[Management Center] をクリックします。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[管理センターに移動] をクリックします。
表示されるページの左側のナビゲーションウィンドウで、[データソース] をクリックします。 [データソース] ページが表示されます。
データソースの作成 をクリックします。表示されるダイアログボックスで、DLF を検索して選択します。次の表の説明に従ってパラメーターを設定します。
パラメーター
説明
[データソース名]
データソースのカスタム名を入力します。名前はワークスペース内で一意である必要があり、英字、数字、アンダースコア (_) のみで構成され、数字またはアンダースコアで始めることはできません。
[設定パターン]
[Alibaba Cloud インスタンスパターン] のみがサポートされています。
エンドポイント
ドロップダウンリストから DLF エンジンインスタンスのエンドポイントを選択します。
[アクセスアイデンティティ]
次のいずれかを選択します。
[Alibaba Cloud アカウント]
[Alibaba Cloud RAM ロール]
[RAM ロール]
説明アクセスアイデンティティとして RAM ユーザー または RAM ロール を選択した場合は、RAM ユーザーまたは RAM ロールに次の権限を付与する必要があります。
RAM コンソールで、AliyunDataWorksDIAccessDLF システムポリシーを RAM ユーザー または RAM ロール にアタッチして、DLF メタデータにアクセスするための権限を付与してください。詳細については、「RAM ユーザーへの権限付与」をご参照ください。
Data Lake Formation コンソールで、同期するテーブルに対して RAM ロールまたは RAM ユーザーに データエディター 権限を付与してください。
[DLF データカタログ]
DataWorks ワークスペースと同じリージョンにある DLF データカタログを選択します。
[データベース名]
データカタログからデータベースを選択します。
パラメーターを設定した後、サーバーレスリソースグループへの接続性をテストします。テストが成功したら、編集の完了 をクリックします。失敗した場合は、「ネットワーク接続の設定」を参照して問題をトラブルシューティングしてください。
Data Integration タスクの作成
DataWorks の Data Integration タスクで DLF データソースを使用できます。詳細については、「Data Lake Formation へのデータ同期」をご参照ください。
付録:スクリプト例とパラメーター
オフラインタスクのスクリプト設定
コードエディターを使用してオフラインタスクを設定する場合、必要な形式でタスクスクリプトにパラメーターを追加する必要があります。詳細については、「コードエディターでのタスク設定」をご参照ください。以下のセクションでは、コードエディターで使用できるデータソースのパラメーターについて説明します。
Reader スクリプト例
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "dlf",
"parameter": {
"datasource": "guxuan_dlf",
"table": "auto_ob_3088545_0523",
"column": [
"id",
"col1",
"col2",
"col3"
],
"tableType": "table",
"where": "id > 1"
},
"name": "Reader",
"category": "reader"
},
{
"stepType": "stream",
"parameter": {
"print": false
},
"name": "Writer",
"category": "writer"
}
],
"setting": {
"errorLimit": {
"record": "" // 許容されるエラーレコード数。
},
"speed": {
"throttle": true, // true に設定するとレート制限が有効になります。false に設定するとレート制限は無効になり、mbps パラメーターは無視されます。
"concurrent": 20, // 同時実行スレッド数。
"mbps": "12" // 最大データ転送速度。単位:MB/s。
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}Reader スクリプトのパラメーター
パラメーター | 説明 | 必須 | デフォルト |
datasource | DLF データソースの名前。 | はい | N/A |
table | ソーステーブルの名前。 | はい | N/A |
tableType | テーブルタイプ。有効な値: | いいえ | table |
column | ソーステーブルから読み取るカラム名。 | はい | N/A |
where | フィルター条件。 | いいえ | N/A |
Writer スクリプト例
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "stream",
"parameter": {
},
"name": "Reader",
"category": "reader"
},
{
"stepType": "dlf",
"parameter": {
"datasource": "guxuan_dlf",
"column": [
"id",
"col1",
"col2",
"col3"
],
"tableType": "table",
"table": "auto_ob_3088545_0523"
},
"name": "Writer",
"category": "writer"
}
],
"setting": {
"errorLimit": {
"record": "" // 許容されるエラーレコード数。
},
"speed": {
"throttle": true, // true に設定するとレート制限が有効になります。false に設定するとレート制限は無効になり、mbps パラメーターは無視されます。
"concurrent": 20, // 同時実行スレッド数。
"mbps": "12" // 最大データ転送速度。単位:MB/s。
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}Writer スクリプトのパラメーター
パラメーター | 説明 | 必須 | デフォルト |
datasource | DLF データソースの名前。 | はい | N/A |
table | 宛先テーブルの名前。 | はい | N/A |
tableType | テーブルタイプ。有効な値: | いいえ | table |
column | 宛先テーブルのカラム。 | はい | N/A |