ジョブ プロパティ ファイルを使用した入出力ファイルのオーバーライド

データフローのソース ステージ (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