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

DataWorks:TOS データソース

最終更新日:Dec 06, 2025

TOS データソースを使用すると、Tinder Object Storage (TOS) からファイルを読み取ることができます。 このデータソースを使用して、TOS に保存されているファイルを取得、解析し、データを任意の宛先データソースに同期できます。 このトピックでは、DataWorks における TOS のデータ同期機能について説明します。

制限事項

DataWorks の TOS データソースは、次のフィールドタイプをサポートしています。

データ型

説明

STRING

テキスト。

LONG

整数。

BYTES

バイト配列。 読み取られたテキストは、UTF-8 エンコーディングでバイト配列に変換されます。

BOOL

ブール値。

DOUBLE

浮動小数点。

DATE

日時。 次のフォーマットがサポートされています:

  • YYYY-MM-dd HH:mm:ss

  • yyyy-MM-dd

  • HH:mm:ss

TOS データソースの作成

DataWorks で同期タスクを開発する前に、「データソース管理」の手順に従って、必要なデータソースを DataWorks に追加する必要があります。 データソースを追加する際に、DataWorks コンソールでパラメーターのヒントを表示して、パラメーターの意味を理解することができます

データ同期タスクの開発

TOS データソースは、単一テーブルのオフライン同期タスクのソースとしてのみ使用できます。 次のセクションでは、データ同期タスクの設定方法について説明します。

付録:スクリプトサンプルとパラメーターの説明

コードエディタを使用したバッチ同期タスクの設定

コードエディタを使用してバッチ同期タスクを設定する場合、統一されたスクリプトフォーマットの要件に基づいて、スクリプト内の関連パラメーターを設定する必要があります。 詳細については、「コードエディタでのタスク設定」をご参照ください。 以下では、コードエディタを使用してバッチ同期タスクを設定する際に、データソースに対して設定する必要があるパラメーターについて説明します。

Reader スクリプトサンプル

{
  "type": "job",
  "version": "2.0",
  "steps": [
    {
      "stepType": "tos",
      "parameter": {
        "datasource": "",
        "object": ["f/z/1.csv"],
        "fileFormat": "csv",
        "encoding": "utf8/gbk/...",
        "fieldDelimiter": ",",
        "useMultiCharDelimiter": true,
        "skipHeader": true,
        "compress": "zip/gzip",
        "column": [
          {
            "index": 0,
            "type": "long"
          },
          {
            "index": 1,
            "type": "boolean"
          },
          {
            "index": 2,
            "type": "double"
          },
          {
            "index": 3,
            "type": "string"
          },
          {
            "index": 4,
            "type": "date"
          }
        ]
      },
      "name": "Reader",
      "category": "reader"
    },
    {
      "stepType": "stream",
      "parameter": {},
      "name": "Writer",
      "category": "writer"
    }
  ],
  "setting": {
    "errorLimit": {
      "record": "0"
    },
    "speed": {
      "concurrent": 1
    }
  },
  "order": {
    "hops": [
      {
        "from": "Reader",
        "to": "Writer"
      }
    ]
  }
}

Reader スクリプトのパラメーター

パラメーター

説明

必須

デフォルト値

datasource

データソースの名前。 コードエディタで追加したデータソースの名前と同じである必要があります。

はい

なし

fileFormat

ソースファイルのフォーマット。 サポートされているフォーマット:csvtextparquetorc

はい

なし

object

ファイルパス。 このパラメーターは、アスタリスク (*) ワイルドカード文字と配列をサポートしています。

たとえば、a/b/1.csv と a/b/2.csv ファイルを同期するには、このパラメーターを a/b/*.csv に設定します。

はい

なし

column

読み取る列。 type パラメーターはソースデータ型を指定します。 index パラメーターはテキストファイル内の列番号を 0 から指定します。 value パラメーターは定数を指定します。 これにより、ソースファイルからデータを読み取る代わりに、定数値を持つ列が作成されます。

  • デフォルトでは、次の設定ですべてのデータを String 型として読み取ることができます。

    column": ["*"]
  • 列情報は次のように指定できます。

    "column":    
        {       
            "type": "long",       
            "index": 0 // TOS テキストファイルの最初の列から整数フィールドを取得します。
        },    
        {       
            "type": "string",       
            "value": "alibaba" // TOS 内から値が "alibaba" の文字列フィールドを現在のフィールドとして生成します。
    }
説明

指定する column 情報については、type パラメーターと、index または value パラメーターのいずれかを指定する必要があります。

はい

すべての列が STRING 型として読み取られます。

fieldDelimiter

フィールド区切り文字。

説明
  • TOS Reader にはフィールド区切り文字を指定する必要があります。 指定しない場合、デフォルトのカンマ (,) が使用されます。 カンマ (,) は設定ページでのデフォルト値でもあります。

  • 区切り文字が印字不可能な文字の場合は、その Unicode エンコーディングを入力します。 例:\u001b または \u007c

はい

,

lineDelimiter

行区切り文字。

説明

このパラメーターは、fileFormat が text に設定されている場合にのみ有効です。

いいえ

なし

compress

テキストファイルの圧縮フォーマット。 デフォルトでは、このパラメーターは空のままです。これは圧縮がないことを意味します。 サポートされているフォーマット:gzipbzip2zip

いいえ

None

encoding

ファイルのエンコード形式。

いいえ

utf-8

nullFormat

テキストファイル内でヌルポインターを表す文字列。 テキストファイルにはヌルを定義する標準的な方法がないため、nullFormat を使用してどの文字列がヌルを表すかを定義できます。 例:

  • nullFormat:"null" (可視文字) を設定した場合、ソースデータの値 "null" はヌルフィールドとして扱われます。

  • nullFormat:"\u0001" (不可視文字) を設定した場合、ソースデータの値 "\u0001" はヌルフィールドとして扱われます。

  • "nullFormat" パラメーターを指定しない場合、変換は行われません。 ソースデータはそのまま宛先に書き込まれます。

いいえ

なし

skipHeader

CSV ファイルの場合、skipHeader を使用してヘッダーをスキップするかどうかを設定します。

  • True:データソースの同期中にテーブルヘッダーを読み取ります。

  • False:データソースの同期中にテーブルヘッダーは読み取られません。

説明

skipHeader パラメーターは圧縮ファイルではサポートされていません。

いいえ

false

parquetSchema

読み取る Parquet ファイルのスキーマ。 このパラメーターは、fileFormatparquet に設定されている場合にのみ有効です。 parquetSchema を指定した後、設定全体が有効な JSON であることを確認してください。

message MessageTypeName {
Rule, DataType, FieldName;
......................;
}
  • parquetSchema のフォーマットは次のとおりです:

    • MessageTypeName:メッセージタイプの名前。

    • required/optional:非ヌルフィールドには required を、ヌル許容フィールドには optional を使用します。 すべてのフィールドに optional を設定することを推奨します。

    • dataType:Parquet ファイルは、BOOLEAN、Int32、Int64、Int96、FLOAT、DOUBLE、BINARY、および fixed_len_byte_array をサポートしています。 フィールドタイプが文字列の場合は、BINARY を使用します。

    • 各列定義は、最後のものも含めてセミコロン (;) で終わる必要があります。

  • 以下は設定例です:

    "parquetSchema": "message m { optional int32 minute_id; optional int32 dsp_id; optional int32 adx_pid; optional int64 req; optional int64 res; optional int64 suc; optional int64 imp; optional double revenue; }"

いいえ

なし

csvReaderConfig

CSV ファイルを読み取るためのパラメーター設定。 値は Map 型です。 CSV ファイルの読み取りには csvReader が使用されます。 このパラメーターを設定しない場合、デフォルト値が使用されます。

いいえ

なし