Alibaba Cloud Data Lake Formation (DLF) は、統一されたメタデータ、データストレージ、およびデータ管理を提供するフルマネージドプラットフォームです。DLF には、メタデータ管理、ストレージ管理、権限管理、ストレージ分析、ストレージ最適化などの機能があります。DataWorks データ統合では、DLF データソースへのデータ書き込みがサポートされています。本トピックでは、DLF データソースの使用方法について説明します。
制限事項
Data Lake Formation データソースは Data Integration のみで使用でき、Serverless リソースグループが必要です。
データソースの作成
データソースページに移動します。
DataWorks コンソール にログインします。上部ナビゲーションバーで目的のリージョンを選択し、左側ナビゲーションウィンドウで を選択します。表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、管理センターへ移動 をクリックします。
SettingCenter ページの左側ナビゲーションウィンドウで、データソース をクリックします。
データソースの追加 をクリックし、DLF を検索して選択した後、以下のパラメーターを設定します。
パラメーター
説明
データソース名
データソースのカスタム名を入力します。この名前はワークスペース内で一意である必要があり、英字、数字、およびアンダースコア (_) のみを使用できます。数字またはアンダースコアで始まってはいけません。
設定モード
Alibaba Cloudインスタンスモード のみがサポートされています。
エンドポイント
ドロップダウンリストから DLF エンジンインスタンスのエンドポイントを選択します。
アクセス識別情報
以下のいずれかのオプションを選択できます。
Alibaba Cloudプライマリアカウント
Alibaba Cloud RAMロール
Alibaba Cloud RAM ロール
説明RAM ユーザー または RAM ロール を選択する場合、以下の権限を該当の RAM ユーザーまたは RAM ロールに付与する必要があります。
RAM コンソール で、RAM ユーザー または RAM ロール にシステム権限ポリシー AliyunDataWorksDIAccessDLF をアタッチし、DLF メタデータへのアクセスを許可します。詳細については、「RAM ユーザーへの権限付与」をご参照ください。
Data Lake Formation コンソール で、対象テーブルに対する Data Editor 権限を RAM ロールまたは RAM ユーザーに付与します。
DLF データカタログ
DataWorks ワークスペースと同じリージョンにある DLF データカタログ を選択します。
データベース名
データカタログ内のデータベースを選択します。
パラメーターを設定したら、データソースと Serverless リソースグループ間の接続性をテストします。テストに成功した場合は、編集完了 をクリックします。テストに失敗した場合は、「ネットワーク接続性の構成」を参照してトラブルシューティングを行ってください。
データ統合タスクの作成
Data Lake Formation データソースは、DataWorks データ統合タスクで使用できます。詳細については、「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) にします。false の場合、mbps パラメーターは無視されます。
"concurrent": 20, // ジョブの同時実行数。
"mbps": "12" // 移送可能な最大転送レート (MB/s)。
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}Reader スクリプトパラメーター
パラメーター | 説明 | 必須 | デフォルト |
datasource | DLF データソースの名前。 | はい | なし |
table | ソーステーブルの名前。 | はい | なし |
tableType | テーブルタイプ。有効な値: | いいえ | table |
column | ソーステーブルから読み取る列。 | はい | なし |
where | フィルター条件。 | いいえ | なし |
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) にします。false の場合、mbps パラメーターは無視されます。
"concurrent": 20, // ジョブの同時実行数。
"mbps": "12" // 移送可能な最大転送レート (MB/s)。
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}Writer スクリプトパラメーター
パラメーター | 説明 | 必須 | デフォルト |
datasource | DLF データソースの名前。 | はい | なし |
table | 送信先テーブルの名前。 | はい | なし |
tableType | テーブルタイプ。有効な値: | いいえ | table |
column | 送信先テーブルに書き込む列。 | はい | なし |