すべてのプロダクト
Search
ドキュメントセンター

DataWorks:OSS から MaxCompute への単一テーブルのオフライン同期

最終更新日:Mar 01, 2026

このトピックでは、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 バケットへの読み取りまたは書き込みを行う場合は、内部エンドポイントを使用します。それ以外の場合は、パブリックエンドポイントを使用します。

  • リージョンとそのエンドポイントのリストについては、「リージョンとエンドポイント」をご参照ください。

前提条件

制限事項

ソースデータを MaxCompute 外部テーブルに同期することはサポートされていません。

操作手順

説明

このトピックでは、Data Studio (New) の UI を使用して、オフライン同期タスクを構成する方法を説明します。

ステップ 1: ノードとタスクの作成

ノードを作成し、Codeless UI を使用するための一般的な手順については、「Codeless UI の構成」をご参照ください。

ステップ 2: ソースと宛先の構成

ソース (OSS) の構成

このシナリオでは、データソースは OSS ファイルです。主要な構成項目を以下に説明します。

パラメーター

説明

File Type

同期するファイルタイプを選択します。Codeless UI は、csvtextorc、および parquet 形式のファイルの読み取りをサポートしています。

File Path

ソースファイルのパスを入力します。

  • 単一の OSS オブジェクトを指定する場合、OSS Reader は単一のスレッドを使用してデータ抽出を行います。

  • 複数の OSS オブジェクトを指定する場合、OSS Reader は複数のスレッドを使用してデータ抽出を行います。要件に基づいて同時実行数を構成できます。

  • ワイルドカードを使用する場合、OSS Reader は複数のオブジェクトを検索しようとします。たとえば、パスを abc*[0-9] に設定すると、abc0abc1abc2abc3 などのオブジェクトに一致します。パスを abc?.txt に設定すると、abc で始まり、.txt で終わり、その間に 1 文字があるファイルに一致します。

Field Delimiter

ファイルで使用されている列区切り文字を指定します。

Encoding

ソースファイルを読み取るために使用される文字コードを設定します。

Null String

  • [処理しない]」を選択すると、ソースから読み取られた値は変更されません。

  • [表示される文字]」を選択した場合、ヌル値を表す文字列を入力します。このフィールドを空のままにした場合、Empty 文字列として扱われます。

  • [不可視文字] を選択した場合、\u001b\u007c などの Unicode コード、または \t などのエスケープ文字を入力します。値は空にできません。

Compression Format

ソースファイルの圧縮形式。サポートされている形式は、GzipBzip2Zip、および非圧縮です。

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 をクリックすると、宛先テーブルが自動的に作成されます。その後、作成文を手動で調整できます。

説明

以下を考慮してください。

  • ターゲット MaxCompute テーブルが開発環境に存在しない場合、宛先テーブルリストには表示されません。

  • ターゲット MaxCompute テーブルが本番環境に存在しない場合、ターゲットテーブルが見つからないため、公開された同期タスクは失敗します。

  • 開発環境と本番環境のテーブルスキーマが不整合な場合、実行時に使用される列マッピングが構成したマッピングと異なる可能性があり、データの書き込みが正しく行われないことがあります。

Partition Information

宛先がパーティションテーブルの場合、パーティション列の値を指定できます。

  • ds=20220101 のような固定値を使用できます。

  • ds=${bizdate} のようなスケジューリングパラメーターを使用できます。システムは実行時にこれらのパラメーターを実際の値に自動的に置き換えます。

Write Method

ターゲットテーブルの既存データをクリアするか、新規データを追加するかを選択します。

ステップ 3: フィールドマッピングの構成

ソースと宛先を設定した後、それらの間の列のマッピングを実行します。Map Fields with the Same NameMap Fields in the Same LineDelete All Mappings、またはEdit Field Mappingsを選択できます。

ステップ 4: 詳細設定の構成

タスクに対して、Expected Maximum ConcurrencyPolicy for Dirty Data Recordsなどの詳細設定を構成できます。このチュートリアルでは、Policy for Dirty Data RecordsDisallow Dirty Data Recordsに設定し、他のすべての設定にはデフォルト値を使用します。詳細については、「コードレス UI 構成」をご参照ください。

ステップ 5: デバッグタスクの構成と実行

  1. エディターの右上隅で、Run Configuration をクリックし、デバッグ実行用に Resource Group および Script Parameters を設定してから、Run をクリックしてタスクをテストします。

  2. 左側のナビゲーションウィンドウで image をクリックし、Personal Directory の横にある新規アイコンをクリックして新しい SQL ファイルを作成します。 次の SQL 文を実行して宛先テーブルをクエリし、データが期待どおりであることを確認します。

    説明
    • このクエリを実行するには、まず宛先 MaxCompute プロジェクトを DataWorks のコンピュートエンジンとしてバインドする必要があります。

    • .sql ファイルエディターで、右側にあるRun Configurationをクリックします。 データソースのTypeComputing Resources、およびResource Groupを指定し、次に上部のツールバーでRunをクリックします。

    SELECT * FROM <your_maxcompute_table_name> WHERE pt=<your_partition> LIMIT 20;

ステップ 6: スケジューリングの構成とタスクの公開

右側のペインでScheduling Settingsをクリックし、定期実行のスケジューリングパラメーターを設定します。その後、Publishをクリックし、表示される指示に従ってタスクを公開します。