Hello and welcome!

On Wed, Nov 23, 2022, 10:40 AM Shivam Singhal <shivamsinghal5...@gmail.com>
wrote:

> Hi folks,
>
> I have been extensively using Java SDK in my daily work, and haven't yet
> touched Go SDK.
> But I am soon(in ~1month) going to have plenty of time and I would like to
> contribute to Go SDK. To help with this, I have a few questions:
>
>    1. I have cloned the beam repo. Would like to know which particular
>    code files should I start to read so that I can build familiarity?
>
> What use cases are you looking to extend or add?

There's lots to do, but the best place to start is what *you* would like
the SDK to work well with. Is there a usecase you'd like to enable? A
specific pipeline you'd like to improve?

Contributions for the sake of contributions don't turn out as well as
having "I need this to do X so Y works!" as a motivation in my experience.

Otherwise, so you aren't left hanging, I refer you to some of the talks
I've given on getting started with navigating around the SDK.

https://youtu.be/WcuS8ojHfyU

It's a bit older now, but still accurate at the scale it's talking about.

Beam SDKs are complex, but the Go SDK is pretty easy to navigate due to
being Go. My recommendation is just to follow the code call  stack (what
does it do when beam.ParDo is called? How does the execution harness work,
in worker containers, in harness/harness.go) and see where that takes you.

Just be aware, ultimately, we do not have the resources to hold your hand
and teach you both beam and Go. Not saying if that was your intent, but we
do have jobs to do, and our own things to get done. :)

That said, I will seek to maintain good Go style through the code review
process, and we'll avoid Beam correctness issues through the reviews, so
its not that hard a line.

>
>    1. Is there a roadmap for Go SDK I can look at? Is this Go SDK being
>    used in production somewhere?
>
> We tried to keep one up to date, but ultimately stopped. At this point,
the roadmap is "what do you want working?"

The best place to start is to look at the GitHub issues labeled "go".
https://github.com/apache/beam/issues?q=is%3Aissue+is%3Aopen+label%3Ago

If it's unassigned, it's fair game to '.take-issue'. Feel free to ping me
(@lostluck) if you have any questions about it.

You can see a rough view of the SDKs capabilities and direction in the
State of the Go SDK 2022 talk: https://youtu.be/e3yx4SwHJK0

Please let me know if there is a better place to ask.
>

This is the right place to ask!

>
> Thanks,
> Shivam
>

Robert Burke
Beam Go Busybody

Reply via email to