复合转换中缺少数据流显示数据
Dataflow Display Data missing from composite transform
我正在尝试 Dataflow 中的新 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"));
}
});
当我 运行 Dataflow 作业时,UI 似乎没有显示 foo=bar
显示数据。
composite transforms 不支持显示数据。相反,您可以将显示数据附加到转换执行的任何用户定义函数。例如,如果上述复合中的内部转换之一使用 ParDo
,您可以将显示数据方法重写为:
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"));
}
}));
}
});
a JIRA issue 将显示数据功能扩展到 Beam 和 Dataflow SDK 中的复合转换。
我正在尝试 Dataflow 中的新 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"));
}
});
当我 运行 Dataflow 作业时,UI 似乎没有显示 foo=bar
显示数据。
composite transforms 不支持显示数据。相反,您可以将显示数据附加到转换执行的任何用户定义函数。例如,如果上述复合中的内部转换之一使用 ParDo
,您可以将显示数据方法重写为:
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"));
}
}));
}
});
a JIRA issue 将显示数据功能扩展到 Beam 和 Dataflow SDK 中的复合转换。