このトピックでは、Object Storage Service (OSS) の単一テーブルから MaxCompute にオフラインデータをロードする方法について説明します。データソースの構成、ネットワーク接続、および同期タスクの構成に関するベストプラクティスを提供します。
OSS の概要
Alibaba Cloud Object Storage Service (OSS) は、安全で費用対効果が高く、信頼性の高いクラウドストレージサービスです。大容量のストレージ、99.9999999999% (12 ナイン) のデータ耐久性、および 99.995% のデータ可用性を提供します。OSS は、コストを最適化するためにさまざまなストレージクラスを提供します。Data Integration を使用すると、OSS から他の宛先へ、または他のソースから OSS へデータを同期できます。
OSS バケット情報の取得
OSS コンソールに移動し、[バケットリスト] でデータ同期に使用するバケットを見つけます。バケットの [概要] ページで、パブリックエンドポイントと内部エンドポイントを取得します。シナリオに基づいて、使用するエンドポイントを選択できます。
-
パブリックエンドポイントは、インターネット経由のアクセスに使用されます。インターネット経由で OSS にアクセスする場合、インバウンドトラフィック (書き込み) は無料ですが、アウトバウンドトラフィック (読み取り) は課金されます。OSS の料金の詳細については、「OSS の料金」および「課金項目」をご参照ください。
-
内部ネットワークは、同じリージョン内の Alibaba Cloud プロダクト間のプライベート通信ネットワークです。たとえば、Data Integration リソースグループを使用して、同じリージョン内の OSS にアクセスできます。内部ネットワーク経由のインバウンドトラフィックとアウトバウンドトラフィックの両方は無料です。Data Integration リソースグループと同じリージョンにある OSS バケットへの読み取りまたは書き込みを行う場合は、内部エンドポイントを使用します。それ以外の場合は、パブリックエンドポイントを使用します。
-
リージョンとそのエンドポイントのリストについては、「リージョンとエンドポイント」をご参照ください。
前提条件
-
Serverless リソースグループを購入済みであること。
-
OSS データソースと MaxCompute データソースを作成済みであること。詳細については、「データソースの構成」をご参照ください。
-
リソースグループとデータソース間のネットワーク接続を確立済みであること。詳細については、「ネットワーク接続ソリューションの概要」をご参照ください。
制限事項
ソースデータを MaxCompute 外部テーブルに同期することはサポートされていません。
操作手順
このトピックでは、Data Studio (New) の UI を使用して、オフライン同期タスクを構成する方法を説明します。
ステップ 1: ノードとタスクの作成
ノードを作成し、Codeless UI を使用するための一般的な手順については、「Codeless UI の構成」をご参照ください。
ステップ 2: ソースと宛先の構成
ソース (OSS) の構成
このシナリオでは、データソースは OSS ファイルです。主要な構成項目を以下に説明します。
|
パラメーター |
説明 |
|
File Type |
同期するファイルタイプを選択します。Codeless UI は、 |
|
File Path |
ソースファイルのパスを入力します。
|
|
Field Delimiter |
ファイルで使用されている列区切り文字を指定します。 |
|
Encoding |
ソースファイルを読み取るために使用される文字コードを設定します。 |
|
Null String |
|
|
Compression Format |
ソースファイルの圧縮形式。サポートされている形式は、 |
|
Skip Header |
CSV 形式のファイルの場合、ヘッダー行をスキップするかどうかを選択できます。デフォルトでは、ヘッダーは含まれます。 説明
圧縮ファイルでは、ヘッダーのスキップはサポートされていません。 |
|
Table Data Structure |
データソースのパラメーターを設定した後、Confirm Data Structure をクリックして、データ形式を確認します。 |
宛先 (MaxCompute) の構成
このシナリオでは、OSS からのオフラインデータ同期の宛先は MaxCompute テーブルです。主要な構成項目を以下に説明します。
以下の表に記載されていないパラメーターについては、デフォルト値を保持できます。
|
パラメーター |
説明 |
|
Tunnel Resource Group |
MaxCompute データ転送リソース (トンネルクォータ) を指定します。 デフォルトでは、MaxCompute の無料クォータに相当する [パブリック伝送リソース] が使用されます。 支払い遅延または有効期限切れにより専用トンネルクォータが利用できなくなった場合、タスクは自動的に [パブリック伝送リソース] の使用に復元されます。 |
|
Table |
データ同期用の MaxCompute テーブルを選択します。標準の DataWorks ワークスペースを使用している場合、開発環境と本番環境の両方に同じ名前とスキーマを持つ MaxCompute テーブルが存在することを確認してください。 別の方法として、Generate Destination Table Schema をクリックすると、宛先テーブルが自動的に作成されます。その後、作成文を手動で調整できます。 説明
以下を考慮してください。
|
|
Partition Information |
宛先がパーティションテーブルの場合、パーティション列の値を指定できます。
|
|
Write Method |
ターゲットテーブルの既存データをクリアするか、新規データを追加するかを選択します。 |
ステップ 3: フィールドマッピングの構成
ソースと宛先を設定した後、それらの間の列のマッピングを実行します。Map Fields with the Same Name、Map Fields in the Same Line、Delete All Mappings、またはEdit Field Mappingsを選択できます。
ステップ 4: 詳細設定の構成
タスクに対して、Expected Maximum ConcurrencyやPolicy for Dirty Data Recordsなどの詳細設定を構成できます。このチュートリアルでは、Policy for Dirty Data RecordsをDisallow Dirty Data Recordsに設定し、他のすべての設定にはデフォルト値を使用します。詳細については、「コードレス UI 構成」をご参照ください。
ステップ 5: デバッグタスクの構成と実行
-
エディターの右上隅で、Run Configuration をクリックし、デバッグ実行用に Resource Group および Script Parameters を設定してから、Run をクリックしてタスクをテストします。
-
左側のナビゲーションウィンドウで
をクリックし、Personal Directory の横にある新規アイコンをクリックして新しい SQL ファイルを作成します。 次の SQL 文を実行して宛先テーブルをクエリし、データが期待どおりであることを確認します。説明-
このクエリを実行するには、まず宛先 MaxCompute プロジェクトを DataWorks のコンピュートエンジンとしてバインドする必要があります。
-
.sqlファイルエディターで、右側にあるRun Configurationをクリックします。 データソースのType、Computing Resources、およびResource Groupを指定し、次に上部のツールバーでRunをクリックします。
SELECT * FROM <your_maxcompute_table_name> WHERE pt=<your_partition> LIMIT 20; -
ステップ 6: スケジューリングの構成とタスクの公開
右側のペインでScheduling Settingsをクリックし、定期実行のスケジューリングパラメーターを設定します。その後、Publishをクリックし、表示される指示に従ってタスクを公開します。