1

データフローに新しいdisplay data機能を追加しようとしています。詳細はGoogle Cloud Dataflow UIに表示されます。ただし、カスタムPTransformの表示データは表示されません。私のデータフローパイプラインでは、私は次のように変換している:私はデータフロージョブを実行するとデータフロー表示コンポジットトランスフォームにデータがありません

Pipeline p = // .. 
p.apply(new PTransform<PCollection<Integer>, PCollection<Integer>>() { 
    @Override 
    public PCollection<Integer> apply(PCollection<Integer> input) { 
    return input 
     .apply(/* .. */) 
     .apply(/* .. */) 
     .apply(/* .. */); 
    } 

    @Override 
    public void populateDisplayData(DisplayData.Builder builder) { 
    builder.add(DisplayData.item("foo", "bar")); 
    } 
}); 

、UIはfoo=bar表示データを表示していないようです。

答えて

1

ディスプレイデータはcomposite transformsではサポートされていません。その代わりに、変換が実行する任意のユーザー定義関数に表示データを添付することができます。例えば、上記のような複合体中の内部変換の一つがParDoを使用して、あなたは再び書くことができる表示データメソッド場合:a JIRA issueはビームとデータフローにおける複合トランスフォームに表示データ機能を拡張することがあります

Pipeline p = // .. 
p.apply(new PTransform<PCollection<Integer>, PCollection<Integer>>() { 
    @Override 
    public PCollection<Integer> apply(PCollection<Integer> input) { 
    return input 
     .apply(/* .. */) 
     .apply(/* .. */) 
     .apply(ParDo.of(new DoFn<Integer, Integer>() { 
     @Override 
     public void processElement(ProcessContext c) { /* .. */ } 

     @Override 
     public void populateDisplayData(DisplayData.Builder builder) { 
      builder.add(DisplayData.item("foo", "bar")); 
     }    
     })); 
    } 
}); 

SDK。

関連する問題