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

DataWorks:COS データソース

最終更新日:Nov 09, 2025

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

データの型

COS データソースは、次のデータの型をサポートしています。

データの型

説明

STRING

テキスト型。

LONG

整数型。

BYTES

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

BOOL

ブール型。

DOUBLE

浮動小数点型。

DATE

日時型。YYYY-MM-dd HH:mm:ss および yyyy-MM-ddHH:mm:ss のフォーマットがサポートされています。

データソースの作成

データ同期タスクを開発するには、DataWorks で対応するデータソースを作成します。手順の詳細については、「データソース管理」をご参照ください。構成パラメーターの詳細な説明については、構成ページ上のプロンプトをご参照ください。

主要なパラメーターは以下のとおりです。

パラメーター

説明

データソース名

データソースの名前。名前はワークスペース内で一意である必要があります。名前は、文字数字、およびアンダースコア (_) で構成する必要があります。数字またはアンダースコアで始めることはできません。

リージョン

バケットが配置されているリージョン。リージョン ID を入力します。詳細については、「リージョンとエンドポイント」をご参照ください。

バケット

COS バケットの名前。

エンドポイント

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

AccessKey ID

このパラメーターは、Tencent Cloud プラットフォームの SecretId に対応します。SecretId を取得するには、コンソールの API キー管理 ページに移動します。

AccessKey Secret

このパラメーターは、Tencent Cloud プラットフォームの SecretKey に対応します。SecretKey を取得するには、コンソールの API キー管理 ページに移動します。

データ同期タスクの開発

データ同期タスクを構成するためのエントリポイントと一般的なプロセスについては、次のセクションの説明をご参照ください。

単一テーブルのオフライン同期タスクの構成

手順の詳細については、「コードレス UI でタスクを構成する」および「コードエディタでタスクを構成する」をご参照ください。コードエディタのすべてのパラメーターとスクリプトのデモについては、「付録: スクリプトのデモとパラメーター」をご参照ください。

付録: スクリプトのデモとパラメーター

オフラインタスクスクリプトの構成

コードエディタを使用してオフラインタスクを構成する場合、必要なスクリプトフォーマットに基づいてタスクスクリプトにパラメーターを記述する必要があります。詳細については、「コードエディタでタスクを構成する」をご参照ください。次のセクションでは、コードエディタのデータソースパラメーターについて説明します。

Reader スクリプトのデモ

{
  "type": "job",
  "version": "2.0",
  "steps": [
    {
      "stepType": "cos",
      "parameter": {
        "datasource": "",
        "object": ["f/z/1.csv"],
        "fileFormat": "csv",
        "encoding": "utf8/gbk/...",
        "fieldDelimiter": ",",
        "useMultiCharDelimiter": true,
        "lineDelimiter": "\n",
        "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

ソースファイルのフォーマット。有効な値: csv、text、parquet、および orc。

はい

なし

object

ファイルパス。このパラメーターはアスタリスク (*) ワイルドカードをサポートしており、配列として構成できます。

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

はい

なし

column

読み取るフィールドのリスト。`type` はソースのデータの型を指定します。`index` は、データを読み取るテキストファイル内の列番号を指定します。`index` の値は 0 から始まります。`value` は、現在の型が定数であることを指定します。データはソースファイルから読み取られません。代わりに、`value` の値に基づいて対応する列が自動的に生成されます。

デフォルトでは、すべてのデータを STRING 型として読み取ることができます。構成は次のとおりです。

"column": ["*"]

列フィールドの情報を指定することもできます。構成は次のとおりです。

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

指定された column 情報では、`type` を指定する必要があります。`index` または `value` のいずれかを指定する必要があります。

はい

すべてのデータは STRING 型として読み取られます。

fieldDelimiter

フィールド区切り文字。COS Reader がデータを読み取る際には、フィールド区切り文字を指定する必要があります。このパラメーターを指定しない場合、デフォルト値はカンマ (,) です。カンマは UI でも自動的に使用されます。区切り文字が非表示文字の場合は、その Unicode エンコーディングを入力します。例: \u001b および \u007c

はい

,

lineDelimiter

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

いいえ

なし

compress

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

いいえ

非圧縮

encoding

読み取るファイルのエンコード形式。

いいえ

utf-8

nullFormat

テキストファイルでは、標準の文字列を使用してヌルポインタを定義することはできません。データ同期システムは、どの文字列が null を表すことができるかを定義するために `nullFormat` パラメーターを提供します。例:

  • nullFormat を可視文字である "null" に設定し、ソースデータが `null` の場合、データは null フィールドとして扱われ、宛先テーブルに書き込まれます。

  • nullFormat を非表示文字である "\u0001" に設定し、ソースデータが文字列 "\u0001" の場合、フィールドは null フィールドとして扱われ、宛先テーブルに書き込まれます。

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

いいえ

なし

skipHeader

CSV ファイルの場合、skipHeader パラメーターを使用してテーブルヘッダーを読み取るかどうかを指定します。

  • True: データ同期中にテーブルヘッダーが読み取られます。

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

説明

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

いいえ

false

parquetSchema

このパラメーターは、Parquet フォーマットの COS ファイルを読み取る際に必要です。このパラメーターは、fileFormatparquet に設定されている場合にのみ有効です。データ構造を定義します。一般的なフォーマットは次のとおりです。

message MessageTypeName {
Required/Optional DataType ColumnName;
Required/Optional DataType ColumnName;
......................;
}

`parquetSchema` のフォーマットは次のとおりです。

  • MessageTypeName: 名前を入力します。

  • Required/Optional: `required` はフィールドが null にできないことを示します。`optional` はフィールドが null にできることを示します。すべてのフィールドを `optional` に設定することをお勧めします。

  • DataType: Parquet ファイルは、BOOLEAN、Int32、Int64、Int96、FLOAT、DOUBLE、BINARY (文字列型には BINARY を使用)、および fixed_len_byte_array のデータの型をサポートしています。各行の設定は、最後の行を含め、セミコロン (;) で終わる必要があります。

次のコードは構成例です。

{"parquetSchema": "message UserProfile 
{ 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 ファイルを読み取るためのパラメーター。値はマップです。CsvReader は CSV ファイルの読み取りに使用されます。このパラメーターを構成しない場合、デフォルト値が使用されます。

いいえ

なし