The Beam Runner API doc needs a lot of updating to discuss impulse and SDF, (and deprecate / remove Read): https://s.apache.org/beam-runner-api It could also use examples from Go/Python code base.
Alternatively we could start to codify this information on the Apache Beam website as the definitions/contracts are less influx. On Fri, May 18, 2018 at 7:49 AM Eugene Kirpichov <kirpic...@google.com> wrote: > Hi Ismael, > Impulse is a primitive necessary for the Portability world, where sources > do not exist. Impulse is the only possible root of the pipeline, it emits a > single empty byte array, and it's all DoFn's and SDF's from there. E.g. > when using Fn API, Read.from(BoundedSource) is translated into: Impulse + > ParDo(emit source) + ParDo(call .split()) + reshuffle + ParDo(call > .createReader() and read from it). > Agree that it makes sense to document it somewhere on the portability page. > > On Fri, May 18, 2018 at 7:21 AM Jean-Baptiste Onofré <j...@nanthrax.net> > wrote: > >> Fully agree. >> >> I already started to take a look. >> >> Regards >> JB >> >> On 18/05/2018 16:12, Ismaël Mejía wrote: >> > I have seen multiple mentions of 'Impulse' in JIRAs and some on other >> > discussions, but have not seen any document or concrete explanation on >> > what's Impulse and why we need it. This seems like an internal >> > implementation detail but it is probably a good idea to explain it >> > somewhere (my excuses if this is in some document and I missed it). >> > >> >