Amazon Simple Storage Service (Amazon S3) は、どこからでも任意の量のデータを保存および取得するために構築されたオブジェクトストレージサービスです。DataWorks の Data Integration を使用すると、Amazon S3 からのデータの読み取りと Amazon S3 へのデータの書き込みができます。このトピックでは、DataWorks における Amazon S3 データソースの機能について説明します。
制限事項
バッチ読み取り
Amazon S3 は非構造化データを格納します。Data Integration では、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 パラメーターが効果を発揮しないことを示します。true の値は速度制限が有効であることを示します。
"concurrent":1, // 同時実行数。
"mbps":"12"// 速度制限のレート。1 mbps = 1 MB/s。
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}Reader スクリプトのパラメーター
|
パラメーター |
説明 |
必須 |
デフォルト値 |
|
datasource |
データソース名。スクリプトモードではデータソースを追加できます。このパラメーターの値は、追加するデータソースの名前と同じである必要があります。 |
はい |
N/A |
|
Object |
Amazon S3 のオブジェクト情報。複数のオブジェクトを指定できます。たとえば、バケットに test フォルダが含まれ、そのフォルダに ll.txt という名前のファイルが含まれている場合、Object を test/ll.txt に設定します。
説明
|
はい |
N/A |
|
column |
読み取る列のリスト。type パラメーターはソースデータのデータ型を指定します。index パラメーターはテキストファイル内の列番号 (0から始まる) を指定します。value パラメーターは、現在の列が定数であることを指定します。ソースファイルからデータを読み取る代わりに、システムは指定された値に基づいて列を生成します。 デフォルトでは、すべてのデータを String 型として読み取ることができます。設定例:
列情報を指定することもできます。設定例:
説明 指定する column 情報では、type は必須であり、index または value のいずれかを指定する必要があります。 |
はい |
すべてのデータは STRING 型として読み取られます。 |
|
fieldDelimiter |
データを読み取るための列区切り文字。 説明 Amazon S3 Reader がデータを読み取る際には、列区切り文字を指定する必要があります。区切り文字が指定されていない場合、デフォルトの区切り文字 (,) が使用されます。コードレス UI でもデフォルトの区切り文字 (,) が使用されます。 区切り文字が非表示の場合は、Unicode エンコーディングを指定します。例:\u001b または \u007c。 |
はい |
デフォルト値:(,) |
|
compress |
圧縮タイプ。デフォルトでは、このパラメーターは空のままにされ、圧縮が適用されないことを示します。サポートされている圧縮タイプは gzip、bzip2、zip です。 |
いいえ |
圧縮なし |
|
encoding |
読み取るファイルのエンコーディング。 |
いいえ |
utf-8 |
|
nullFormat |
テキストファイル内の標準文字列は null (ヌルポインター) を表現できません。データ同期システムは nullFormat を使用して、どの文字列が null を表現できるかを定義します。たとえば、 |
いいえ |
N/A |
|
skipHeader |
CSV ファイルの場合、skipHeader を使用してヘッダー行を読み取るかどうかを指定します。
説明 skipHeader は圧縮ファイルではサポートされていません。 |
いいえ |
false |
|
csvReaderConfig |
CSV ファイルを読み取るための設定。このパラメーターは Map 型です。CsvReader は CSV ファイルの読み取りに使用され、さまざまな設定を提供します。このパラメーターを設定しない場合、デフォルト値が使用されます。 |
いいえ |
N/A |
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 パラメーターが効果を発揮しないことを示します。true の値は速度制限が有効であることを示します。
"concurrent": 1, // 同時実行数。
"mbps": "12" // 速度制限のレート。1 mbps = 1 MB/s。
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}Writer スクリプトのパラメーター
|
パラメーター |
説明 |
必須 |
デフォルト値 |
|
datasource |
データソース名。スクリプトモードではデータソースを追加できます。このパラメーターの値は、追加するデータソースの名前と同じである必要があります。 |
はい |
N/A |
|
object |
送信先オブジェクトの名前。 |
はい |
N/A |
|
fileFormat |
以下のファイル形式がサポートされています:
|
はい |
text |
|
writeMode |
|
はい |
append |
|
fieldDelimiter |
データを書き込むための列区切り文字。 |
いいえ |
デフォルト値:(,) |
|
lineDelimiter |
データを書き込むための行区切り文字。 |
いいえ |
デフォルト値:(\n) |
|
compress |
圧縮タイプ。デフォルトでは、このパラメーターは空のままにされ、圧縮が適用されないことを示します。
|
いいえ |
圧縮なし |
|
nullFormat |
テキストファイル内の標準文字列は null (ヌルポインター) を表現できません。データ同期システムは |
いいえ |
N/A |
|
header |
書き込むヘッダー。例: |
いいえ |
N/A |
|
writeSingleObject |
true:データを単一のファイルに書き込みます。false:データを複数のファイルに書き込みます。 説明
|
いいえ |
false |
|
encoding |
書き込むファイルのエンコーディング。 |
いいえ |
utf-8 |
|
column |
データを書き込むための列設定。
|
はい |
N/A |