PDIで実行しているジョブが、異なるソースから別のターゲットに、特定のシステムのバックを転送しています。この仕事には多くの子どもの仕事があります。そのJob MasterJob1と呼んでみましょう。Pentahoデータ統合変数の変数スコープタイプ
別の目的で同じシステムを実行しています。したがって、PDIでそのジョブをコピーしたいと思います。ここでは、いくつかの設定を変更するだけです。 MasterJob2と呼ぶことにしましょう。
ジョブ全体(親ジョブの親ジョブや子ジョブなど)で異なる変数を使用できるようにするには、「変数の設定」を使用しています。ここでは、さまざまな変数があります。たとえば、TestVarという変数があります。現時点では、MasterJob1の変数の「変数スコープタイプ」は常に「Java仮想マシンで有効」に設定されています。
PDIのドキュメントhttp://wiki.pentaho.com/display/EAI/Set+Variablesによれば、変数は仮想マシンのどこでも利用可能です。これは、私がジョブをコピーし、 "Variable Scope type"をそのまま使用すると、Variable TestVarにMasterJob1が書き込むことができますが、MasterJob2でも上書きできることを意味します。
私は、MasterJob1がMasterJob2の変数を上書きすることは避けたいと思います。ただし、MasterJob1で設定されている変数は、MasterJob1で使用可能なすべての場所になければなりません。また、MasterJob2の変数は、MasterJob2で使用できるすべての場所になければなりません。それで私はその文書を読んだ。それは、 "可変スコープタイプ"が "ルートジョブで有効"であることを示しています。これは私が使用する必要のある可変スコープタイプなのですか?
残念なことに私はこれに多くの経験を持っていないし、それが正しい方法であるかどうか教えてくれることを願っていますか?テスト環境の作成には数日かかるでしょう。したがって、私はあなたに簡単な「はい」とか正しい解決策を教えてくれることを願っています。
お返事ありがとうございます。すでに実装されており、完璧に動作しているように見えます:-) – DS87