> Koheesio is not in competition with other libraries. Yes, it is, because nobody wants to run multiple orchestrators, and the "What sets Koheesio apart from other libraries?" section does little to help users decide why they should pick yours. Workflow orchestration is a mature category, as evidenced by the length of this list: https://github.com/meirwah/awesome-workflow-engines I would expect someone who's seriousl…
This is the kind of attitude that makes people, companies, researchers hesitant to publish code online. Its free code for everyone to see, they don't owe you anything. Its not necessarily a "product" for your consumption, its just a repo.
Koheesio: Nike's Python-based framework to build advanced data-pipelines
11–20 of 75 posts
Re: Koheesio: Nike's Python-based framework to build advanced data-pipelines
#12Earlier quoted context omitted.
This is the kind of attitude that makes people, companies, researchers hesitant to publish code online. Its free code for everyone to see, they don't owe you anything. Its not necessarily a "product" for your consumption, its just a repo.
I don't think so; this is a corporate project, not an enthusiast's. They probably had to internally justify building it over using an existing solution, so they could simply share their rationale. I am not trying to rain on their parade.
For every n-th solution in the market, n-1 existing ones could have been used, but they weren't for (many times) good reasons.
And looking at their Makefile and pyproject.toml I can see that they knew what they wanted.
Re: Koheesio: Nike's Python-based framework to build advanced data-pipelines
#13> Koheesio is not in competition with other libraries. Yes, it is, because nobody wants to run multiple orchestrators, and the "What sets Koheesio apart from other libraries?" section does little to help users decide why they should pick yours. Workflow orchestration is a mature category, as evidenced by the length of this list: https://github.com/meirwah/awesome-workflow-engines I would expect someone who's seriousl…
Re: Koheesio: Nike's Python-based framework to build advanced data-pipelines
#14Earlier quoted context omitted.
This is the kind of attitude that makes people, companies, researchers hesitant to publish code online. Its free code for everyone to see, they don't owe you anything. Its not necessarily a "product" for your consumption, its just a repo.
I think this is a fair criticism. You chose to share this on hackernews, which invites feedback (including constructive criticism). I don't see the problem ¯\_(ツ)_/¯ Do you expect people to only voice praise for open source projects?
Re: Koheesio: Nike's Python-based framework to build advanced data-pipelines
#15Earlier quoted context omitted.
I think this is a fair criticism. You chose to share this on hackernews, which invites feedback (including constructive criticism). I don't see the problem ¯\_(ツ)_/¯ Do you expect people to only voice praise for open source projects?
Why do you think the poster is connected with the repo? I couldn’t see any link.
Re: Koheesio: Nike's Python-based framework to build advanced data-pipelines
#16Earlier quoted context omitted.
This is just flat out rude.
It's a big organization, but I can understand the feeling, because I had the same attitude towards Microsoft, Oracle, Salesforce and many others.
Re: Koheesio: Nike's Python-based framework to build advanced data-pipelines
#17Earlier quoted context omitted.
I don't think so; this is a corporate project, not an enthusiast's. They probably had to internally justify building it over using an existing solution, so they could simply share their rationale. I am not trying to rain on their parade.
It's a library written by some devs who thought it might be useful to others, too, and/or are proud enough to share their work. It's not that they'll publish it in an SEC filing. For every n-th solution in the market, n-1 existing ones could have been used, but they weren't for (many times) good reasons. And looking at their Makefile and pyproject.toml I can see that they knew what they wanted.
Re: Koheesio: Nike's Python-based framework to build advanced data-pipelines
#18Earlier quoted context omitted.
It's a library written by some devs who thought it might be useful to others, too, and/or are proud enough to share their work. It's not that they'll publish it in an SEC filing. For every n-th solution in the market, n-1 existing ones could have been used, but they weren't for (many times) good reasons. And looking at their Makefile and pyproject.toml I can see that they knew what they wanted.
yes, Nike is a corp where everyone sings kumbaya and the engineers have unlimited time to work on and publish libraries they are proud of, they don’t have to deliver specific values at all.
Re: Koheesio: Nike's Python-based framework to build advanced data-pipelines
#19> Koheesio is not in competition with other libraries. Yes, it is, because nobody wants to run multiple orchestrators, and the "What sets Koheesio apart from other libraries?" section does little to help users decide why they should pick yours. Workflow orchestration is a mature category, as evidenced by the length of this list: https://github.com/meirwah/awesome-workflow-engines I would expect someone who's seriousl…
Straw man argument.
>I would expect someone who's seriously writing a new orchestrator in 2024 to cite the alternatives, their shortcomings, and how you intend to address them. Bonus points if you make a neat little table.
Did you even try to read the docs before you launched this critical diatribe?
From the docs (https://engineering.nike.com/koheesio/latest/tutorials/onboa...):
Advantages of Koheesio
Using Koheesio instead of raw Spark has several advantages:
Modularity: Each step in the pipeline (reading, transformation, writing) is encapsulated in its own class, making the code easier to understand and maintain.
Reusability: Steps can be reused across different tasks, reducing code duplication.
Testability: Each step can be tested independently, making it easier to write unit tests.
Flexibility: The behavior of a task can be customized using a Context class.
Consistency: Koheesio enforces a consistent structure for data processing tasks, making it easier for new developers to understand the codebase.
Error Handling: Koheesio provides a consistent way to handle errors and exceptions in data processing tasks.
Logging: Koheesio provides a consistent way to log information and errors in data processing tasks.
In contrast, using the plain PySpark API for transformations can lead to more verbose and less structured code, which can be harder to understand, maintain, and test. It also doesn't provide the same level of error handling, logging, and flexibility as the Koheesio Transform class.
It took me less than 15 seconds to find the solution to the problem you propose. How long did it take you to formulate your critique? Do you perhaps just have a prejudice against Nike (corporate haze), or is it an investment in a 'competing orchestrator' that is clouding your judgement?