If Beam Runner Authoring Guide is rather high-level for you, then, at fist, I’d 
suggest to answer two questions for yourself:
- Am I going to implement a portable runner or native one?
- Which SDK I should use for this runner?

Then, depending on answers, I’d suggest to take as an example one of the most 
similar Beam runners and use it as a more detailed source of information along 
with Beam runner doc mentioned before.

—
Alexey

> On 22 Jun 2023, at 14:39, Joey Tran <joey.t...@schrodinger.com> wrote:
> 
> Hi Beam community!
> 
> I'm interested in trying to implement a runner with my company's execution 
> environment but I'm struggling to get started. I've read the docs page 
> <https://beam.apache.org/contribute/runner-guide/#testing-your-runner> on 
> implementing a runner but it's quite high level. Anyone have any concrete 
> suggestions on getting started?
> 
> I've started by cloning and running the hello world example 
> <https://github.com/apache/beam-starter-python>. I've then subclassed 
> `PipelineRunner 
> <https://github.com/apache/beam/blob/9d0fc05d0042c2bb75ded511497e1def8c218c33/sdks/python/apache_beam/runners/runner.py#L103>`
>  to create my own custom runner but at this point I'm a bit stuck. My custom 
> runner just looks like
> 
> class CustomRunner(runner.PipelineRunner):
>     def run_pipeline(self, pipeline,
>                      options):
>         self.visit_transforms(pipeline, options)
> 
> And when using it I get an error about not having implemented "Impulse"
> 
> NotImplementedError: Execution of [<Impulse(PTransform) label=[Impulse]>] not 
> implemented in runner <my_app.app.CustomRunner object at 0x135d9ff40>.
> 
> Am I going about this the right way? Are there tests I can run my custom 
> runner against to validate it beyond just running the hello world example? 
> I'm finding myself just digging through the beam source to try to piece 
> together how a runner works and I'm struggling to get a foothold. Any 
> guidance would be greatly appreciated, especially if anyone has any 
> experience implementing their own python runner.
> 
> Thanks in advance! Also, could I get a Slack invite?
> Cheers,
> Joey

Reply via email to