Alibaba Cloud の Data Lake Formation (DLF) は、メタデータ管理、ストレージ管理、権限管理、ストレージ分析、最適化のための統合サービスを提供するフルマネージドプラットフォームです。DataWorks の Data Integration は、DLF データソースにデータを書き込むことができます。このトピックでは、DataWorks で Data Lake Formation データソースを設定して使用する方法について説明します。
制限事項
Data Lake Formation データソースは、Data Integration およびサーバーレスリソースグループでのみ使用できます。
データソースの作成
データソースページに移動します。
DataWorks コンソールにログインします。上部のナビゲーションバーで、目的のリージョンを選択します。左側のナビゲーションウィンドウで、 を選択します。表示されたページで、ドロップダウンリストから目的のワークスペースを選択し、[管理センターへ移動] をクリックします。
SettingCenter ページの左側のナビゲーションウィンドウで、[データソース] をクリックします。
-
データソースの追加 をクリックします。表示されるダイアログボックスで、DLF を検索して選択します。次の表の説明に従ってパラメーターを設定します。
パラメーター
説明
データソース名
データソースのカスタム名を入力します。名前はワークスペース内で一意である必要があり、英字、数字、アンダースコア (_) のみで構成し、数字またはアンダースコアで始めることはできません。
設定モード
サポートされているのは Alibaba Cloudインスタンスモード のみです。
[エンドポイント]
ドロップダウンリストから DLF エンジンインスタンスのエンドポイントを選択します。
[アクセス ID]
次のいずれかを選択します:
-
Alibaba Cloudプライマリアカウント
-
Alibaba Cloud RAMロール
-
Alibaba Cloud RAM Role
説明アクセス ID として RAM ユーザーまたは RAM ロールを選択した場合は、RAM ユーザーまたは RAM ロールに次の権限を付与する必要があります:
-
RAM コンソールで、AliyunDataWorksDIAccessDLF システムポリシーを RAM ユーザーまたは RAM ロールにアタッチして、DLF メタデータへのアクセス権限を付与します。詳細については、「RAM ユーザーへの権限付与」をご参照ください。
-
Data Lake Formation コンソールで、同期するテーブルに対して RAM ロールまたは RAM ユーザーに Data Editor 権限を付与します。
DLF データカタログ
DataWorks ワークスペースと同じリージョンにある DLF データカタログ を選択します。
データベース名
データカタログからデータベースを選択します。
パラメーターを設定した後、サーバーレスリソースグループへの接続性をテストします。テストに成功した場合は、編集完了 をクリックします。失敗した場合は、「ネットワーク接続設定」を参照して問題をトラブルシューティングしてください。
-
Data Integration タスクの作成
DataWorks の Data Integration タスクで Data Lake Formation データソースを使用できます。詳細については、「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 |