DataStage並列ジョブのディスクからXMLファイルを直接読み取る方法
Answer
XML入力ステージは、入力として単一の列を取る必要があります。 XML入力ステージは、XMLドキュメントの内容全体、または実際のドキュメントの内容を読み取ることができるファイル(またはURL)パスのいずれかを受 ファイルパスを受け入れるようにXML入力ステージを構成することは、並列ジョブに最適なオプションです。 XML入力ステージは、ファイルを入力ストリームとして開き、ファイルを変更せずにディスクから直接読み取ります。 この方法は、シーケンシャルファイルステージを使用するよりも高速で、リソースの消費量が少なく、エラーが発生しやすいです。
pathメソッドは、XML入力ステージに渡されるファイル(またはファイル)への完全なパスを生成する方法を必要とします。 外部ソースステージは、この機能を提供する優れた仕事をしています。 外部ソース-ステージは、実行可能プログラムをシェルアウトして実行し、そのプログラムの標準出力をジョブにリダイレクトします。 ファイルパスのリストを取得するには、外部ソースステージにUnixまたはLinuxオペレーティングシステムに一般的に含まれている’find’プログラムを実行させ Windowsプラットフォームでは、このプログラムは、DataStageインストールによって自動的にインストールされるMKS Toolkitの一部としても提供されます。
以下は、findプログラムがxmlドキュメントへのフルパスを出力として生成する方法の例です。
find/data/input-name”*。xml”-print
これらの引数を指定してプログラムを実行すると、で終わる各ファイルへのフルパスのリストが生成されます。/data/inputディレクトリまたはそのサブディレクトリのいずれかのxml拡張子。 出力には、1行に1つのファイルパスがあり、新しい行文字で終了します。