ジョブ プロパティ ファイルを使用した入出力ファイルのオーバーライド
データフローのソース ステージ (Read from File など) で指定された入力ファイルや、データフローのシンク ステージ (Write to File など) で指定された出力ファイルを、Job Executor のプロパティ ファイルでオーバーライドできます。これを行うには、プロパティ ファイルで次のように指定します。
StageName\:file=Protocol:FileName
説明:
- StageName
-
Enterprise Designer で、データフローのステージのアイコンの下に表示されるステージ ラベル。ステージ名に空白、コロン、または等号が含まれる場合は、その前にバックスラッシュを挿入します。例えば、ステージのラベルが "Read from File" の場合は、ステージ名として
Read\ from\ File
と指定します。Embedded\ Dataflow\ 1.Embedded\ Dataflow\ 2.Write\ to\ File
埋め込まれたデータフローまたはサブフロー内のステージを指定するには、ステージ名の前に埋め込まれたデータフローまたはサブフローの名前とピリオドを付けて、次のようにします。
EmbeddedOrSubflowName.StageName
例えば、"Subflow1" という名前のサブフローの中の "Write to File" という名前のステージを指定するには、次のようにします。
Subflow1.Write\ to\ File
別の埋め込まれたデータフローの中にある埋め込まれたデータフロー内のステージを指定するには、親データフローをそれぞれピリオドで区切って追加します。例えば、Embedded Dataflow 2 が Embedded Dataflow 1 の中にあり、Embedded Dataflow 2 内の Write to File ステージを指定する場合は、次のようにします。
Embedded\ Dataflow\ 1.Embedded\ Dataflow\ 2.Write\ to\ File
注: ステージ名の後に :file を入れる必要があります。例えば、Read\ from\ File:file とします。これは、コマンド ラインでファイルをオーバーライドする場合の構文とは異なります。コマンド ラインではステージ名の後に :file を指定しません。 - Protocol
- 通信プロトコル。次のいずれかです。
- file
- ファイルが Spectrum™ Technology Platformサーバーと同じコンピュータ上にある場合は、file プロトコルを使用します。例えば、Windows では、
"file:C:/myfile.txt"
と指定し、Unix または Linux では、"file:/testfiles/myfile.txt" と指定します
- esclient
- ファイルがジョブを実行するコンピュータ上にあり、そのコンピュータがSpectrum™ Technology Platformサーバーを実行するコンピュータと異なる場合は、esclient プロトコルを使用します。次の形式を使用します。
esclient:コンピュータ名/ファイルへのパス
例を次に示します。esclient:mycomputer/testfiles/myfile.txt
注: ジョブをサーバー自体で実行している場合は、fileプロトコルを使用しても esclient プロトコルを使用しても構いませんが、file プロトコルを使用した方がパフォーマンスが高くなる可能性があります。Job Executor を実行しているコンピュータがSpectrum™ Technology Platformサーバーのホスト名を解決できない場合、"ファイルのアクセスでエラーが発生しました" というエラーが表示される可能性があります。この問題を解決するには、サーバー上で次のファイルを開きます:SpectrumLocation/server/app/conf/spectrum-container.properties。プロパティ spectrum.runtime.hostname にサーバーの IP アドレスを設定します。 - esfile
- ファイルが ファイル サーバー上にある場合は、esfile プロトコルを使用します。このファイル サーバーは Management Console でリソースとして定義する必要があります。次の形式を使用します。
esfile://ファイル サーバー/ファイルへのパス
例を次に示します。esfile://myserver/testfiles/myfile.txt
ここで、myserver は、Management Console で定義された FTP ファイル サーバー リソースです。 - webhdfs
- ファイルが Hadoop Distributed File Server 上にある場合は、webhdfs プロトコルを使用します。HDFS サーバーは Management Console でリソースとして定義する必要があります。次の形式を使用します。
webhdfs://ファイル サーバー/ファイルへのパス
例を次に示します。webhdfs://myserver/testfiles/myfile.txt
ここで、myserver は、Management Console で定義された HDFS ファイル サーバー リソースです。
例
以下のプロパティ ファイルでは、最後の 2 行で、Read from File ステージと Write to File ステージ用のファイルを指定しています。
j=testJob
h=myspectrumserver.example.com
s=8080
u=david1234
p=mypassword1234
Read\ from\ File\:file=file:C:/myfile_input.txt
Write\ to\ File\:file=file:C:/myfile_output.txt