Open kalverra opened 6 years ago
I agree with all of that. Whatever we end up doing it'll be good to keep a couple of factory methods like we do now for simple / common use cases.
I had an idea that maybe we could do something like what the Chrome WebDriver does with ChromeOptions, which is extend the basic config class but add named helper methods for particular options. I've found it kind of annoying to look up specific property names, plus this would help guarantee that you're using the right one (and didn't typo).
APIs that utilize spark configuration options are a tad restrictive. We need to move the solution away from overloaded methods and into a new paradigm that allows more cleaner, more configurable API calls to the user.
This can possibly be done by providing a few basic APIs as we do now, but also allowing the user to directly interact with the SparkConf and appending options directly from there.