Earlier quoted context omitted.
I know that Spark has had a lot of work put into it, but my personal experience with it has been pretty negative. I've spent a lot of time at my job trying to tune it to our workflows (extremely deep queries), with only moderate success. I've just POC'd a custom SQL execution engine that was 200x faster than spark for the same workflows. Now, our requirements are pretty non-standard, but I find it pretty easy to beli…
McSherry et al's paper "Scalability! But at what COST?" is worth reading. A single threaded, single core implementation typically outperforms Spark. The best rule of thumb I'm aware of is: unless you can't fit your computation on a single machine or your jobs are likely to fail before completing from the size and length involved, you are generally better off without Spark or similar systems. And if sampling can get y…
FastSpark: A New Fast Native Implementation of Spark from Scratch
51–60 of 93 posts
Re: FastSpark: A New Fast Native Implementation of Spark from Scratch
#52Earlier quoted context omitted.
The author of the repo here. It is definitely not orders of magnitude faster. I didn't mention it anywhere also I guess. But yeah, JVM is sometimes a problem for in-memory computing for big data processing. Spark itself tried to address this. This is what their tungsten engine does. They circumvent huge Java Objects by using native types through JNI(sun.misc.Unsafe). This is the reason why Dataframes are generally mu…
> if others see the benefits, it will automatically grow with the help of the community There’s nothing automatic about it, you or someone else will need to put a lot of work into leading the community, merging pull requests, debugging, etc. (Sad to say, promotion too, in a lot of cases.)
Re: FastSpark: A New Fast Native Implementation of Spark from Scratch
#53Re: FastSpark: A New Fast Native Implementation of Spark from Scratch
#54This sounds too good to be true. If it is this easy to be orders of magnitude faster than spark on JVM, why haven't the spark developers ported spark to native code already?
I know that Spark has had a lot of work put into it, but my personal experience with it has been pretty negative. I've spent a lot of time at my job trying to tune it to our workflows (extremely deep queries), with only moderate success. I've just POC'd a custom SQL execution engine that was 200x faster than spark for the same workflows. Now, our requirements are pretty non-standard, but I find it pretty easy to beli…
Re: FastSpark: A New Fast Native Implementation of Spark from Scratch
#55Earlier quoted context omitted.
What does spark win at exactly? Dask+Perfect is a much better experience all round including perf, with virtually none of the cluster management hell involved.
looks like dask is python-only, so it's a nonstarter (loser) for already existing JVM code that runs on spark
Re: FastSpark: A New Fast Native Implementation of Spark from Scratch
#56For the confused: this is about Apache Spark, not the Ada-based SPARK language. [0] Perhaps I'm alone here but I'd prefer the title say Apache Spark explicitly. [0] https://en.wikipedia.org/wiki/SPARK_(programming_language)
Re: FastSpark: A New Fast Native Implementation of Spark from Scratch
#57Earlier quoted context omitted.
I know that Spark has had a lot of work put into it, but my personal experience with it has been pretty negative. I've spent a lot of time at my job trying to tune it to our workflows (extremely deep queries), with only moderate success. I've just POC'd a custom SQL execution engine that was 200x faster than spark for the same workflows. Now, our requirements are pretty non-standard, but I find it pretty easy to beli…
McSherry et al's paper "Scalability! But at what COST?" is worth reading. A single threaded, single core implementation typically outperforms Spark. The best rule of thumb I'm aware of is: unless you can't fit your computation on a single machine or your jobs are likely to fail before completing from the size and length involved, you are generally better off without Spark or similar systems. And if sampling can get y…
Re: FastSpark: A New Fast Native Implementation of Spark from Scratch
#58Earlier quoted context omitted.
What does spark win at exactly? Dask+Perfect is a much better experience all round including perf, with virtually none of the cluster management hell involved.
Could you talk about Prefect ? we are in the process of moving from Spark to Dask. I have never heard of prefect. what do you use it for ?
Unlike Airflow, this lends itself to microbatching and streaming. Plus a bunch of housekeeping items ticked off that Airflow never got around to. With a bit of devops engineering time, you can have perfect manage the size of your worker cluster on k8s and scale it up/down with ingest demand, etc.
I'll say one thing though. The Perfect website used to be a lot more technical and explicit about what it is and isn't. Now it's mostly sales gobbledegook. Maybe not a good sign. I've seen this happen before with dremio.
Re: FastSpark: A New Fast Native Implementation of Spark from Scratch
#59I'm wondering how much could be gained if one used all possible optimizations: e.g. by analyzing the data flow graph - expressed using DSL - and generating native node programs, using CPU thread pinning and user space network stack (like ScyllaDB does [1]). [1] https://www.scylladb.com/product/technology/
Re: FastSpark: A New Fast Native Implementation of Spark from Scratch
#60For the confused: this is about Apache Spark, not the Ada-based SPARK language. [0] Perhaps I'm alone here but I'd prefer the title say Apache Spark explicitly. [0] https://en.wikipedia.org/wiki/SPARK_(programming_language)