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 情報では、`type` を指定する必要があります。`index` または `value` のいずれかを指定する必要があります。 | はい | すべてのデータは STRING 型として読み取られます。 |
fieldDelimiter | フィールド区切り文字。COS Reader がデータを読み取る際には、フィールド区切り文字を指定する必要があります。このパラメーターを指定しない場合、デフォルト値はカンマ (,) です。カンマは UI でも自動的に使用されます。区切り文字が非表示文字の場合は、その Unicode エンコーディングを入力します。例: | はい | , |
lineDelimiter | 行区切り文字。このパラメーターは、`fileFormat` が `text` に設定されている場合にのみ有効です。 | いいえ | なし |
compress | テキストファイルの圧縮フォーマット。デフォルトでは、このパラメーターは空のままです。これは、ファイルが圧縮されていないことを示します。サポートされている圧縮フォーマット: gzip、bzip2、および zip。 | いいえ | 非圧縮 |
encoding | 読み取るファイルのエンコード形式。 | いいえ | utf-8 |
nullFormat | テキストファイルでは、標準の文字列を使用してヌルポインタを定義することはできません。データ同期システムは、どの文字列が null を表すことができるかを定義するために `nullFormat` パラメーターを提供します。例:
| いいえ | なし |
skipHeader | CSV ファイルの場合、skipHeader パラメーターを使用してテーブルヘッダーを読み取るかどうかを指定します。
説明 skipHeader パラメーターは圧縮ファイルではサポートされていません。 | いいえ | false |
parquetSchema | このパラメーターは、Parquet フォーマットの COS ファイルを読み取る際に必要です。このパラメーターは、fileFormat が parquet に設定されている場合にのみ有効です。データ構造を定義します。一般的なフォーマットは次のとおりです。 `parquetSchema` のフォーマットは次のとおりです。
次のコードは構成例です。 | いいえ | なし |
csvReaderConfig | CSV ファイルを読み取るためのパラメーター。値はマップです。CsvReader は CSV ファイルの読み取りに使用されます。このパラメーターを構成しない場合、デフォルト値が使用されます。 | いいえ | なし |