News for hackers. Stuff that matters.
Re:Apache Hop 2.0 by mi_lk on Wednesday June 08, 2022 @05:31PM (#31674545)
tangent - what is it about Apache or big data that the associated softwares are mostly written in Java?
Re:Apache Hop 2.0 by oaiey on Wednesday June 08, 2022 @05:37PM (#31674634)
Java, like .NET, are just solid application platforms which are statically typed and their performance is good.

Java has a history in big systems for soon 30 years.

Rust, Python and Go are just not there yet. Rust is too low level, Python is not statically typed and will always suffer performance wise and Go ... I is a youngster :). And .NET is always not everyone's free choice.

And Apache, well they just liked Java for their applications. They started with some C/C++ code but then quickly aggregated a lot of Java tech.

Re:Apache Hop 2.0 by GordonS on Wednesday June 08, 2022 @06:03PM (#31674951)
> And .NET is always not everyone's free choice.

Hey, sometimes it really is!!

Re:Apache Hop 2.0 by oaiey on Friday June 10, 2022 @03:35PM (#31698505)
I am a big fanboy actually. The wording is a bit screwed. The "free" was as in (perceived) free/open/... software.
Re:Apache Hop 2.0 by zmmmmm on Wednesday June 08, 2022 @06:38PM (#31675312)
Performance, portability, stability, scalability, concurrency, ecosystem (libraries, etc) .... despite all the new languages around, there actually still aren't many alternatives that give you the same combination of all these to the same level as Java does.
Re:Apache Hop 2.0 by vips7L on Wednesday June 08, 2022 @11:46PM (#31677367)
Don’t forget observability and tooling!
Re:Apache Hop 2.0 by ojhughes on Wednesday June 08, 2022 @05:38PM (#31674654)
MapReduce and HDFS were written in Java and they paved the way for a lot of the other big data tools
Re:Apache Hop 2.0 by erik_seaberg on Wednesday June 08, 2022 @11:24PM (#31677262)
I get the impression that Google used C++ (their dialect) for the first MapReduce system, while open source Hadoop and HDFS came later in Java.
Re:Apache Hop 2.0 by tomwheeler on Thursday June 09, 2022 @05:09PM (#31686928)
That is correct.
Re:Apache Hop 2.0 by manish_gill on Wednesday June 08, 2022 @06:24PM (#31675172)
Something I've been asking for a long time as well. Java/JVM are great, but it would be great to see _some_ diversity in the Big Data ecosystem when it comes to implementations. :)
Re:Apache Hop 2.0 by jpgvm on Thursday June 09, 2022 @01:00AM (#31677711)
Why? JVM is essentially perfectly suited for data workloads. Diversity of languages serves no technical purpose.
Re:Apache Hop 2.0 by FridgeSeal on Thursday June 09, 2022 @02:43AM (#31678222)
You have to deal with the JVM?

You have to deal with the 13m JVM config options?

You have to deal with the confusion and complexity that is “java dependencies”

Everything is OOP-abstraction-heavy API’s?

I’ve spent too much of my time and effort recently debugging Scala/Spark/JVM resource issues/dependency issues and the more I have to deal with it, the less I want anything to do with JVM-based solutions. The closest I want to get to another awful JVM application is a docker container.

I will rejoice the day that spark-alternatives progress enough for our team to replace our workloads and I can throw our spark stuff into the literal bin.

Re:Apache Hop 2.0 by jpgvm on Thursday June 09, 2022 @03:30AM (#31678504)
Yeah but you are basically asking for a world which has fragmented implementations such that some stuff will interoperate and be usable within Spark et al and "the new stuff" which could either all be on the same platform or much more likely spread across a number of platforms.

Once you have gotten the hang of running Spark (and working knowledge of JVM itself) then you have paid the cost and it's done. Adding a whole bunch of new stuff just means more costs to pay, less integration, more fragmentation of knowledge.

Doesn't seem like a net win on any front to me.

Re:Apache Hop 2.0 by FridgeSeal on Thursday June 09, 2022 @03:53AM (#31678637)
If we were to stabilise on a framework, I don’t think Java/spark is the right one. It’s notoriously fickle fragile to run, it’s obscenely resource heavy, often not actually that fast, and it’s construction is locked into a set of implementations that have aged poorly-you basically need a JVM wizard to tune everything correctly for you, and you need to run so much supporting infrastructure that I think it greatly erodes the benefits of spark.

> "the new stuff" which could either all be on the same platform or much more likely spread across a number of platforms.

Yes. I’d like to see more variety in approaches, more variety in specialisations, and for interop between “platforms” to occur at a slightly “higher” level (I.e. maybe common sql dialect, common set of messaging/interop protocols).

I think rather than pouring all of our effort into a singular platform, we should put our effort towards improving our tooling and languages so that it is more straightforward and viable to build these platforms.

Everyone language has got their own web-server framework(s), I see Spark et al as the web-server framework of the data space.

Re:Apache Hop 2.0 by EdwardDiego on Thursday June 09, 2022 @04:35AM (#31678902)
I feel like you're conflating Spark and the JVM.

I get your point on tuning Spark, been there, suffered the frustration where a job fails 4 hours in, but yeah, that's Spark for you.

Re:Apache Hop 2.0 by 62951413 on Wednesday June 08, 2022 @08:10PM (#31676119)
https://arrow.apache.org/datafusion/ (aka Ballista) is the first serious contender that started on the JVM and quickly moved to Rust.
Re:Apache Hop 2.0 by qbasic_forever on Wednesday June 08, 2022 @06:38PM (#31675310)
From like 2000 to 2010 or even 2015 either java or .NET was the default choice for big enterprise companies. Nobody ever got fired for picking Microsoft or Java (I would add), as they say. A lot of these Apache projects have been donated from work at big enterprises so it comes out of that background from enterprise I imagine.
Re:Apache Hop 2.0 by Tostino on Wednesday June 08, 2022 @10:24PM (#31676956)
Even now, what options are a huge step up from Java/.NET for your standard tech business backend/webbapp? They integrate well with so many other languages, and both have great cross-platform stories...
Re:Apache Hop 2.0 by oaiey on Friday June 10, 2022 @03:45PM (#31698594)
Outside of the SV bubble actually none. When you look from a conservative angle (static typing, developer availability, productivity, tool support, library support, performance, etc) it goes quickly down to Java and .NET. The dynamic interpretation of Python and JavaScript are their core deal breakers.
Re:Apache Hop 2.0 by erik_seaberg on Wednesday June 08, 2022 @11:33PM (#31677299)
Java classloading is a natural fit for calling into a typesafe plugin fetched from a URL. Spark can even serialize lambdas and distribute their execution.

It seems to be more of a hassle to do this kind of thing over IPC with native binaries, and if ARM starts displacing a lot of x86-64 in datacenters it gets more complicated.

Re:Apache Hop 2.0 by zekrioca on Wednesday June 08, 2022 @05:34PM (#31674587)
Good question, but maybe due to Java's stability and portability.