DataWorks は、FTP サーバーとの間でデータの読み取りおよび書き込みを行うためのデータソースとして FTP をサポートしています。
制限事項
FTP Reader は、リモート FTP ファイルからデータを読み取り、Data Integration プロトコルに変換します。リモート FTP ファイルは非構造化データとして保存されます。
|
サポート対象 |
サポート対象外 |
|
|
FTP Writer は、Data Integration プロトコルに基づいてデータを変換し、FTP サーバー上のファイルに書き込みます。
|
サポート対象 |
サポート対象外 |
|
|
サポートされるデータの型
リモート FTP ファイルにはネイティブなデータの型がありません。代わりに、Data Integration 内の FTP Reader によってデータの型が定義されます。
|
Data Integration の型 |
FTP の型 |
|
LONG |
LONG |
|
DOUBLE |
DOUBLE |
|
STRING |
STRING |
|
BOOLEAN |
BOOLEAN |
|
DATE |
DATE |
データソースの追加
DataWorks で同期タスクを開発する前に、「データソース管理」の手順に従って、必要なデータソースを DataWorks に追加する必要があります。DataWorks コンソールでパラメーターの説明を確認し、データソース追加時に各パラメーターの意味を理解してください。
データ同期タスクの開発
同期タスクの設定エントリポイントおよび手順については、以下の設定ガイドをご参照ください。
単一テーブルのバッチ同期
-
設定手順の詳細については、「コードレス UI を使用したバッチ同期タスクの設定」および「スクリプトモードを使用したバッチ同期タスクの設定」をご参照ください。
-
スクリプトモードでのバッチタスク設定に必要なすべてのパラメーターおよびスクリプトサンプルについては、「付録:スクリプトサンプルおよびパラメーター説明」をご参照ください。
付録:スクリプトサンプルおよびパラメーター
コードエディタを使用したバッチ同期タスクの設定
コードエディタを使用してバッチ同期タスクを設定する場合は、統一されたスクリプトフォーマット要件に基づき、スクリプト内で関連パラメーターを設定する必要があります。詳細については、「スクリプトモード設定」をご参照ください。以下では、コードエディタを使用してバッチ同期タスクを設定する際にデータソース用に設定する必要があるパラメーターについて説明します。
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 の場合、mbps パラメーターは無視され、速度制限は適用されません。true の場合、mbps 値に基づいて速度制限が適用されます。
"concurrent":1, // ジョブの同時実行数。
"mbps":"12"// 速度制限レート。1 mbps = 1 MB/s。
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}
Reader スクリプトパラメーター
|
パラメーター |
説明 |
必須 |
デフォルト |
|
datasource |
データソースの名前。DataWorks で設定したデータソース名と一致している必要があります。 |
はい |
なし |
|
path |
リモート FTP ファイルシステム上のソースファイルのパス。ファイル名拡張子を含むソースファイルの完全なパスを指定する必要があります。複数のパスを指定できます。
説明
|
はい |
なし |
|
column |
読み取るカラムのリスト。 デフォルトでは、
指定された column に対しては、 |
はい |
なし |
|
fieldDelimiter |
ソースファイル内のカラムを区切るために使用されるデリミタ。 説明
FTP Reader がデータを読み取るには、デリミタを指定する必要があります。デリミタを指定しない場合、デフォルトのカンマ (,) が使用されます。UI 上でもデフォルトでカンマ (,) が指定されています。 |
はい |
, |
|
skipHeader |
CSV 形式のファイルにはヘッダーが含まれている場合があります。ヘッダーをスキップできます。デフォルトではヘッダーはスキップされません。このパラメーターは圧縮ファイルではサポートされていません。 |
いいえ |
false |
|
encoding |
ソースファイルのエンコーディング。 |
いいえ |
utf-8 |
|
nullFormat |
テキストファイルでは、ヌルポインタを標準的な文字列で表現できません。
|
いいえ |
なし |
|
markDoneFileName |
マーク完了ファイル名。データ同期タスク開始前に、システムはマーク完了ファイルの存在を確認します。ファイルが存在しない場合、システムは特定の時間待機した後、再度確認します。ファイルが検出された後にのみタスクが開始されます。 |
いいえ |
なし |
|
maxRetryTime |
マーク完了ファイル確認の再試行回数。デフォルト値は 60 です。再試行間隔は 1 分で、合計待ち時間は 60 分になります。 |
いいえ |
60 |
|
csvReaderConfig |
CSV ファイルを読み取るために使用されるパラメーター。値は Map 型である必要があります。CSV ファイルは CsvReader によって読み取られます。複数の構成が利用可能です。このパラメーターを設定しない場合、デフォルト値が使用されます。 |
いいえ |
なし |
|
fileFormat |
ソースファイルの形式。デフォルトでは、ファイルは CSV ファイルとして読み取られ、論理的な二次元テーブルとして処理されます。このパラメーターを このパラメーターは通常、FTP や OSS などのストレージシステム間でディレクトリ構造をミラーリングする際に使用されます。ほとんどの場合、このパラメーターを設定する必要はありません。 |
いいえ |
なし |
Writer スクリプトサンプル
{
"type":"job",
"version":"2.0",// バージョン番号。
"steps":[
{
"stepType":"stream",
"parameter":{},
"name":"Reader",
"category":"reader"
},
{
"stepType":"ftp",// プラグイン名。
"parameter":{
"path":"",// ファイルパス。
"fileName":"",// ファイル名。
"nullFormat":"null",// NULL 値。
"dateFormat":"yyyy-MM-dd HH:mm:ss",// 日付形式。
"datasource":"",// データソース。
"writeMode":"",// 書き込みモード。
"fieldDelimiter":",",// 列区切り文字。
"encoding":"",// エンコーディング形式。
"fileFormat":""// ファイル形式。
},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":"0"// 許容されるダーティデータレコードの最大数。
},
"speed":{
"throttle":true,// false の場合、mbps パラメーターは無視され、速度制限は適用されません。true の場合、mbps 値に基づいて速度制限が適用されます。
"concurrent":1, // ジョブの同時実行数。
"mbps":"12"// 速度制限レート。1 mbps = 1 MB/s。
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}
Writer スクリプトパラメーター
|
パラメーター |
説明 |
必須 |
デフォルト |
|
datasource |
データソースの名前。DataWorks で設定したデータソース名と一致している必要があります。 |
はい |
なし |
|
timeout |
FTP サーバーへの接続タイムアウト期間。単位:ミリ秒。 |
いいえ |
60,000 (1 分) |
|
path |
FTP ファイルシステム上の宛先パス。FTP Writer は、このパラメーターで指定されたディレクトリに複数のファイルを書き込みます。 |
はい |
なし |
|
fileName |
FTP Writer がデータを書き込むファイル名。各スレッドの実際のファイル名を作成するために、このファイル名にランダムなサフィックスが付加されます。 |
はい |
なし |
|
singleFileOutput |
デフォルトでは、FTP Writer は指定された |
いいえ |
false |
|
writeMode |
書き込み前のデータクリアモード。
|
はい |
なし |
|
fieldDelimiter |
宛先ファイル内のカラムを区切るために使用されるデリミタ。 |
はい (単一文字のみ) |
なし |
|
skipHeader |
CSV 形式のファイルにはスキップが必要なヘッダーが含まれている場合があります。デフォルトではヘッダーはスキップされません。圧縮ファイルでは skipHeader はサポートされていません。 |
いいえ |
false |
|
compress |
サポートされる圧縮形式:gzip および bzip2。 |
いいえ |
圧縮なし |
|
encoding |
宛先ファイルのエンコーディング。 |
いいえ |
utf-8 |
|
nullFormat |
テキストファイルでは、ヌルポインタを標準的な文字列で表現できません。 たとえば、 |
いいえ |
なし |
|
dateFormat |
DATE 型のデータをファイルにシリアル化する際の形式。例:"dateFormat":"yyyy-MM-dd"。 |
いいえ |
なし |
|
fileFormat |
宛先ファイルの形式。有効な値:CSV および TEXT。CSV は厳密な形式です。書き込むデータに列区切り文字が含まれている場合、CSV エスケープルールに基づいて二重引用符 (") でエスケープされます。TEXT はシンプルな形式で、データを列区切り文字で区切ります。データ内のデリミタはエスケープされません。 |
いいえ |
TEXT |
|
header |
テキストファイルに書き込むヘッダー。スクリプトモードでは、ヘッダー情報を構成できます。たとえば、このパラメーターを "header":["id","name","age"] に設定すると、 |
いいえ |
なし |
|
markDoneFileName |
|
いいえ |
なし |