Hello,

DisplayData is currently in an odd position:
- Dataflow is the only runner that supports it at all [1]
- Dataflow supports it only for primitive transforms, but discards it for
composite transforms [2](which is quite problematic for very complex but
commonly used composite transforms, such as TextIO.write() and
BigQueryIO.write())
- There are a lot of tests testing display data of composite transforms -
these tests are currently testing something that is a no-op in production;
and these tests often are a maintenance burden when refactoring a transform.

What should we do about this? I see two options:
- Publish guidance for library authors that Beam is not currently ready for
supporting HasDisplayData on composite transforms, and you shouldn't bother
implementing or testing it (though you can implement it on primitive
transforms of course - which is basically just Read.from(Source) and ParDo)
- Say that people should be implementing and testing this feature
nevertheless, and promise that Beam runners are going to make it "worth it"
(not be a no-op) in the foreseeable future.

[1]
https://lists.apache.org/thread.html/53b33f17d981054ed198af0351196907bf147b6acf16160dbf395b62@%3Cdev.beam.apache.org%3E
[2] https://issues.apache.org/jira/browse/BEAM-366

Reply via email to