DataWorksは、FTPデータソースからデータを読み取り、FTPデータソースにデータを書き込むためのFTP ReaderとFTP Writerを提供します。このトピックでは、FTPデータソースとのデータ同期機能について説明します。
制限事項
FTP ReaderはリモートFTPサーバーに接続し、サーバーからデータを読み取り、データの形式をData Integrationで読み取り可能な形式に変換します。 FTPサーバー上のファイルは、非構造化データのみを格納します。次の表に、FTP Readerでサポートされている機能とサポートされていない機能を示します。
サポートされている | サポートされていない |
|
|
FTP Writerは、リーダーから取得したデータをファイルに変換し、FTPサーバーに書き込みます。 FTPサーバー上のファイルは、非構造化データのみを格納します。次の表に、FTP Writerでサポートされている機能とサポートされていない機能を示します。
サポートされている | サポートされていない |
|
|
データ型マッピング
リモートFTPファイルはデータ型を区別しません。データ型はFTP Readerによって定義されます。
Data Integrationデータ型 | FTPファイルのデータ型 |
LONG | LONG |
DOUBLE | DOUBLE |
STRING | STRING |
BOOLEAN | BOOLEAN |
DATE | DATE |
データソースの追加
特定のデータソースとの間でデータを同期するデータ同期タスクを構成する前に、DataWorksにデータソースを追加する必要があります。詳細については、データソースの追加と管理をご参照ください。
データ同期タスクの開発
データ同期タスクのエントリポイントと手順については、以下のセクションを参照してください。
単一テーブルのデータを同期するバッチ同期タスクの構成
構成手順の詳細については、コードレスUIを使用したバッチ同期タスクの構成およびコードエディターを使用したバッチ同期タスクの構成をご参照ください。
コードエディターを使用してバッチ同期タスクを構成する場合に構成されるすべてのパラメーターと実行されるコードについては、付録:コードとパラメーターをご参照ください。
付録:コードとパラメーター
コードエディターを使用したバッチ同期タスクの構成
コードエディターを使用してバッチ同期タスクを構成する場合は、コードエディターの形式要件に基づいて、関連データソースのリーダーとライターのパラメーターを構成する必要があります。形式要件の詳細については、コードエディターを使用したバッチ同期タスクの構成をご参照ください。次の情報は、コードエディターのリーダーとライターのパラメーターの構成の詳細について説明しています。
FTP Readerのコード
{
"type":"job",
"version":"2.0",// バージョン番号。
"steps":[
{
"stepType":"ftp",// プラグイン名。
"parameter":{
"path":[],// ファイルパス。
"nullFormat":"",// NULLポインターを表す文字列。
"compress":"",// ファイルを圧縮する形式。
"datasource":"",// データソースの名前。
"column":[// カラムの名前。
{
"index":0,// カラムのID。
"type":""// データ型。
}
],
"skipHeader":"",// ファイルにヘッダーがある場合、ヘッダーをスキップするかどうかを指定します。
"fieldDelimiter":",",// カラム区切り文字。
"encoding":"UTF-8",// エンコード形式。
"fileFormat":"csv"// ファイルの形式。
},
"name":"Reader",
"category":"reader"
},
{
"stepType":"stream",
"parameter":{},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":"0"// 許容されるダーティデータレコードの最大数。
},
"speed":{
"throttle":true,// スロットリングを有効にするかどうかを指定します。値falseはスロットリングが無効になっていることを示し、値trueはスロットリングが有効になっていることを示します。 mbpsパラメーターは、throttleパラメーターがtrueに設定されている場合にのみ有効になります。
"concurrent":1, // 並列スレッドの最大数。
"mbps":"12"// 最大転送速度。単位:MB/s。
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}FTP Readerのコードのパラメーター
パラメーター | 説明 | 必須 | デフォルト値 |
datasource | データソースの名前。追加されたデータソースの名前と同じである必要があります。コードエディターを使用してデータソースを追加できます。 | はい | デフォルト値なし |
path | データを読み取るFTPサーバー上のパス。パスは、目的のファイルを格納するディレクトリのパスと、サフィックス付きのファイル名を含む完全パスである必要があります。複数のパスを指定できます。
説明
| はい | デフォルト値なし |
column | データを読み取るカラム。 typeパラメーターはカラムのデータ型を指定します。 indexパラメーターは、ソーステーブル内のカラムのIDを0から始めて指定します。 valueパラメーターは、カラムが定数カラムの場合にカラム値を指定します。 デフォルトでは、FTP Readerはすべてのデータを文字列として読み取ります。この場合、このパラメーターを columnパラメーターでは、typeパラメーターを構成し、indexパラメーターとvalueパラメーターのいずれかを構成する必要があります。 | はい | デフォルト値なし |
fieldDelimiter | データを読み取るファイルで使用されるカラム区切り文字。 説明 FTP Readerのカラム区切り文字を指定する必要があります。デフォルトの区切り文字はカンマ(,)です。カラム区切り文字を指定しない場合は、デフォルトのカラム区切り文字が使用されます。 | はい | , |
skipHeader | ファイルにヘッダーがある場合、CSVのようなファイルのヘッダーをスキップするかどうかを指定します。 skipHeaderパラメーターは、圧縮ファイルではサポートされていません。このパラメーターのデフォルト値はfalseで、FTP ReaderがCSVのようなファイルのヘッダーをスキップしないことを示します。 | いいえ | false |
encoding | FTPサーバーに書き込むファイルのエンコード形式。 | いいえ | utf-8 |
nullFormat | NULLポインターを表す文字列。 TXTファイルでは、NULLポインターを表す標準文字列はありません。このパラメーターを使用して、NULLポインターを表す文字列を定義できます。例:
| いいえ | デフォルト値なし |
markDoneFileName | 同期タスクを開始できることを示すために使用されるファイルの名前。 Data Integrationは、データ同期前にファイルが存在するかどうかを確認します。ファイルが存在しない場合、Data Integrationは後で再度確認します。 Data Integrationは、ファイルが検出された後にのみ同期タスクを開始します。 | いいえ | デフォルト値なし |
maxRetryTime | ファイルが検出されない場合のファイル検出の最大再試行回数。デフォルトでは、最大60回の再試行が許可されます。 Data Integrationは1分ごとにファイルを検出します。プロセス全体は60分続きます。 | いいえ | 60 |
csvReaderConfig | CSVファイルを読み取るために必要な構成。パラメーター値はMAPタイプと一致する必要があります。 CSVファイルリーダーを使用して、CSVファイルからデータを読み取ることができます。 CSVファイルリーダーは複数の構成をサポートしています。 | いいえ | デフォルト値なし |
fileFormat | ファイルの形式。デフォルトでは、FTP ReaderはCSVファイルからデータを読み取ります。 CSVファイルのデータは、論理的な2次元テーブルである必要があります。ファイル形式としてbinaryを指定すると、データは複製と転送のためにバイナリ形式に変換されます。 FTPやObject Storage Service(OSS)などのストレージシステム間で完全なディレクトリ構造を複製する場合にのみ、このパラメーターを構成する必要があります。 | いいえ | デフォルト値なし |
FTP Writerのコード
{
"type":"job",
"version":"2.0",// バージョン番号。
"steps":[
{
"stepType":"stream",
"parameter":{},
"name":"Reader",
"category":"reader"
},
{
"stepType":"ftp",// プラグイン名。
"parameter":{
"path":"",// ファイルを書き込むFTPサーバー上のディレクトリ。
"fileName":"",// FTPサーバーに書き込むファイルの名前のプレフィックス。
"nullFormat":"null",// NULLポインターを表す文字列。
"dateFormat":"yyyy-MM-dd HH:mm:ss",// 時間形式。
"datasource":"",// データソースの名前。
"writeMode":"",// 書き込みモード。
"fieldDelimiter":",",// カラム区切り文字。
"encoding":"",// エンコード形式。
"fileFormat":""// FTP Writerがファイルを書き込む形式。
},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":"0"// 許容されるダーティデータレコードの最大数。
},
"speed":{
"throttle":true,// スロットリングを有効にするかどうかを指定します。値falseはスロットリングが無効になっていることを示し、値trueはスロットリングが有効になっていることを示します。 mbpsパラメーターは、throttleパラメーターがtrueに設定されている場合にのみ有効になります。
"concurrent":1, // 並列スレッドの最大数。
"mbps":"12"// 最大転送速度。単位:MB/s。
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}FTP Writerのコードのパラメーター
パラメーター | パラメーター | 説明 | 必須 |
データソース | データソースの名前。追加されたデータソースの名前と同じである必要があります。コードエディターを使用してデータソースを追加できます。 | はい | デフォルト値なし |
タイムアウト | FTPサーバーへの接続のタイムアウト期間です。単位:ミリ秒。 | いいえ | 60,000 |
パス | ファイルを書き込む FTP サーバー上のディレクトリ。FTP Writer は、並列処理設定に基づいて、複数のファイルをディレクトリに書き込むために並列スレッドを使用します。 | はい | デフォルト値なし |
ファイル名 | FTP サーバーに書き込むファイルの名前のプレフィックスです。ランダムなサフィックスがファイル名に追加され、各スレッドで使用される実際のファイル名が形成されます。 | はい | デフォルト値なし |
singleFileOutput | FTPサーバーに書き込むファイルの名前にランダムなサフィックスを追加するかどうかを指定します。FTP Writer が FTP サーバーに書き込むファイルの名前は、fileName パラメーターの値に関連付けられています。ランダムなサフィックスが不要な場合は、singleFileOutput パラメーターを true に設定します。この場合、FTP Writer はファイルの名前のプレフィックスを使用して FTP サーバーにファイルを書き込みます。 | いいえ | false |
writeMode | FTP Writer がファイルを書き込むモード。有効な値:
| はい | デフォルト値なし |
fieldDelimiter | FTPサーバーに書き込むファイルで使用される列区切り文字。区切り文字は 1 文字でなければなりません。 | はい | 既定値なし |
skipHeader | CSV のようなファイルにヘッダーがある場合、ヘッダーをスキップするかどうかを指定します。デフォルトでは、ヘッダーはスキップされません。skipHeader パラメーターは、圧縮ファイルでは使用できません。 | いいえ | false |
圧縮 | FTPサーバーに書き込むファイルの圧縮形式。有効な値: gzip および bzip2。 | いいえ | デフォルト値ではありません |
エンコーディング | FTP サーバーに書き込むファイルのエンコード形式。 | いいえ | utf-8 |
nullFormat | null ポインターを表す文字列。テキストファイルでは、標準の文字列で null ポインターを表すことはできません。このパラメーターを使用して、null ポインターを表す文字列を定義できます。 たとえば、 | いいえ | デフォルト値なし |
日付形式 | DATE 型のデータがファイルにシリアル化される形式。たとえば、「dateFormat」: 「yyyy-MM-dd」 などです。 | はい | デフォルト値なし |
ファイル形式 | FTPサーバーにファイルを書き込む形式。有効な値: CSV および TEXT。CSVファイルとして書き込まれる場合、ファイルは CSV 仕様に従う必要があります。ファイル内のデータに列区切り文字が含まれている場合、列区切り文字は二重引用符 (") でエスケープされます。TXTファイルとして書き込まれる場合、ファイル内のデータは列区切り文字で区切られます。この場合、列区切り文字はエスケープされません。 | いいえ | テキスト |
ヘッダー | ファイルが TXT または CSV ファイルとして書き込まれる場合のテーブル ヘッダー。たとえば、["id","name","age"] などです。これは、id、name、および age フィールドが最初の行として CSV ファイルに書き込まれることを示します。 | いいえ | 既定値なし |
完了済みファイル名 |
| いいえ | ファイルを書 |