Hey Joey,

The best resource to look at, at the moment, is likely Robert Burke's Prism
runner that he is implementing (
https://github.com/apache/beam/tree/master/sdks/go/pkg/beam/runners/prism).
Runners are pretty complicated and there are a number of primitives that
you need to have implemented on the runner side to get executing pipelines.

The Slack has a link on the Beam Contact Us page
<https://beam.apache.org/community/contact-us/>, and I'd highly recommend
routing questions towards the developer mailing (d...@beam.apache.org) list
rather than the user one for runner implementation things.

Thanks,

Jack McCluskey

On Thu, Jun 22, 2023 at 8:40 AM 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