Amazon S3 (Simple Storage Service) は、どこからでも任意の量のデータを保存および取得できるオブジェクトストレージサービスです。DataWorks のデータ統合は、Amazon S3 からのデータの読み取りと書き込みをサポートしています。このトピックでは、Amazon S3 データソースの特徴について説明します。
制限事項
バッチ読み取り
Amazon S3 は非構造化データストレージサービスです。DataWorks のデータ統合における Amazon S3 Reader は、以下の特徴をサポートしています。
サポート対象 | サポート対象外 |
|
|
バッチ書き込み
Amazon S3 Writer は、データ同期プロトコルからのデータを、Amazon S3 のテキストファイルに変換します。Amazon S3 は非構造化データストレージサービスであるため、Amazon S3 Writer は以下の特徴をサポートしています。
サポート対象 | サポート対象外 |
|
|
データソースの追加
DataWorks で同期タスクを開発する前に、「データソース管理」の手順に従って、必要なデータソースを DataWorks に追加する必要があります。データソースを追加する際に、DataWorks コンソールでパラメーターの説明を表示して、各パラメーターの意味を理解できます。
データ同期タスクの開発
同期タスクの設定のエントリポイントと手順については、以下の設定ガイドをご参照ください。
単一テーブルのバッチ同期タスクの設定
手順については、「コードレス UI でのタスクの設定」および「コードエディタでのタスクの設定」をご参照ください。
スクリプトモードでタスクを設定するためのすべてのパラメーターとスクリプトの例については、本トピックの後半にある「付録:スクリプトの例とパラメーターの説明」をご参照ください。
付録:スクリプトの例とパラメーターの説明
コードエディタを使用したバッチ同期タスクの設定
コードエディタを使用してバッチ同期タスクを設定する場合、統一されたスクリプトフォーマットの要件に基づいて、スクリプト内の関連パラメーターを設定する必要があります。詳細については、「コードエディタでのタスクの設定」をご参照ください。以下では、コードエディタを使用してバッチ同期タスクを設定する際に、データソースに対して設定する必要があるパラメーターについて説明します。
Reader スクリプトの例
{
"type":"job",
"version":"2.0",// バージョン番号。
"steps":[
{
"stepType":"s3",// プラグイン名。
"parameter":{
"nullFormat":"",// NULL 値を表す文字列を定義します。
"compress":"",// テキスト圧縮タイプ。
"datasource":"",// データソース。
"column":[// フィールド。
{
"index":0,// 列インデックス。
"type":"string"// データ型。
},
{
"index":1,
"type":"long"
},
{
"index":2,
"type":"double"
},
{
"index":3,
"type":"boolean"
},
{
"format":"yyyy-MM-dd HH:mm:ss", // 時刻フォーマット。
"index":4,
"type":"date"
}
],
"skipHeader":"",// CSV 形式のファイルのヘッダーをスキップします。
"encoding":"",// エンコード形式。
"fieldDelimiter":",",// フィールドデリミタ。
"fileFormat": "",// テキストファイルタイプ。
"object":[]// オブジェクトプレフィックス。
},
"name":"Reader",
"category":"reader"
},
{
"stepType":"stream",
"parameter":{},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":""// 許容されるエラーレコード数。
},
"speed":{
"throttle":true,// レート制限を有効にするかどうかを指定します。このパラメーターが false に設定されている場合、mbps パラメーターは無視されます。
"concurrent":1, // 同時ジョブ数。
"mbps":"12"// 最大転送レート (MB/s)。注意:このコンテキストでは、1 mbps は 1 MB/s に相当します。
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}Reader スクリプトのパラメーター
パラメーター | 説明 | 必須 | デフォルト値 |
datasource | データソースの名前。スクリプトモードでは、このパラメーターの値は、追加するデータソースの名前と一致する必要があります。 | はい | なし |
object | 読み取り対象の S3 オブジェクトです。複数のオブジェクトを指定できます。たとえば、バケットに `test` という名前のフォルダがあり、その中に ll.txt というファイルが含まれている場合、オブジェクトの値を test/ll.txt に設定します。
説明
| はい | なし |
column | 読み取るフィールドのリスト。`type` はソースのデータ型を指定します。`index` はテキストファイル内の列の位置 (0 から開始) を指定します。`value` は列の定数値を指定します。この値はソースファイルから読み取られるのではなく、自動的に生成されます。 デフォルトでは、すべてのデータを文字列型として読み取ることができます。構成は次のとおりです: 詳細な列情報を指定することもできます。構成は次のとおりです: 説明 column 情報を指定する場合、`type` パラメーターは必須です。`index` または `value` のいずれかを指定する必要があります。 | はい | すべての列が STRING 型として読み取られます。 |
fieldDelimiter | フィールドを区切るために使用されるデリミタ。 説明 Amazon S3 Reader にはフィールドデリミタを指定する必要があります。フィールドデリミタが指定されていない場合、デフォルトでカンマ (,) が使用されます。このデフォルト値は UI にも事前に入力されています。 デリミタが表示可能な文字でない場合は、その Unicode 表現を使用します。たとえば、\u001b や \u007c を使用できます。 | はい | , (カンマ) |
compress | テキスト圧縮タイプ。デフォルトでは、このパラメーターは空で、圧縮が使用されないことを示します。サポートされている圧縮タイプは、gzip、bzip2、zip です。 | いいえ | なし |
encoding | ソースファイルのエンコード形式。 | いいえ | UTF-8 |
nullFormat | テキストファイルでは、標準の文字列を使用して NULL 値を表すことはできません。nullFormat パラメーターを使用して、NULL 値を表す文字列を定義できます。たとえば、 | いいえ | なし |
skipHeader | CSV 形式のファイルの場合、skipHeader パラメーターを使用してヘッダー行をスキップするかどうかを指定できます。
説明 skipHeader パラメーターは圧縮ファイルには使用できません。 | いいえ | false |
csvReaderConfig | CSV ファイルを読み取るための詳細設定。このパラメーターはマップ型です。このパラメーターが設定されていない場合、CsvReader のデフォルト設定が使用されます。 | いいえ | なし |
Writer スクリプトの例
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "stream",
"parameter": {},
"name": "Reader",
"category": "reader"
},
{
"stepType": "s3",
"category": "writer",
"name": "Writer",
"parameter": {
"datasource": "datasource1",
"object": "test/csv_file.csv",
"fileFormat": "csv",
"encoding": "utf8/gbk/...",
"fieldDelimiter": ",",
"lineDelimiter": "\n",
"column": [
"0",
"1"
],
"header": [
"col_bigint",
"col_tinyint"
],
"writeMode": "truncate",
"writeSingleObject": true
}
}
],
"setting": {
"errorLimit": {
"record": "" // 許容されるエラーレコード数。
},
"speed": {
"throttle": true, // レート制限を有効にするかどうかを指定します。このパラメーターが false に設定されている場合、mbps パラメーターは無視されます。
"concurrent": 1, // 同時ジョブ数。
"mbps": "12" // 最大転送レート (MB/s)。注意:このコンテキストでは、1 mbps は 1 MB/s に相当します。
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}Writer スクリプトのパラメーター
パラメーター | 説明 | 必須 | デフォルト値 |
datasource | データソースの名前。スクリプトモードでは、このパラメーターの値は、追加するデータソースの名前と同じである必要があります。 | はい | なし |
object | 宛先オブジェクトの名前。 | はい | なし |
fileFormat | ファイル形式。次の形式がサポートされています:
| はい | text |
writeMode |
| はい | append |
fieldDelimiter | 出力ファイルでフィールドを区切るために使用されるデリミタ。 | いいえ | , (カンマ) |
lineDelimiter | 出力ファイルで行を区切るために使用されるデリミタ。 | いいえ | \n (改行文字) |
compress | テキスト圧縮タイプ。デフォルトでは、このパラメーターは空で、圧縮が使用されないことを示します。
| いいえ | なし |
nullFormat | テキストファイルでは、標準の文字列を使用して NULL 値を表すことはできません。 | いいえ | なし |
header | ファイルに書き込むヘッダー行。例: | いいえ | なし |
writeSingleObject | データを単一のファイルに書き込むかどうかを指定します。有効な値は `true` と `false` です。 説明
| いいえ | false |
encoding | 出力ファイルのエンコード形式。 | いいえ | UTF-8 |
column | 出力ファイルの列構成。
| はい | なし |