EXASolution 5 now allows you to run Java code in-memory and parallel
Some people just plain don’t like SQL.
OK, maybe they don’t dislike it – it’s just that it’s totally not the way they see the world.
The Hadoop guys and gals, for example, live and breathe Java. To them, life is a class that is loaded into the virtual machine that we call reality and people are but objects constructed from that class, who run until their internal reference is dropped and they are finally collected by the great Garbage Collector in the sky.
Some problems fit the SQL mindset and some plainly don’t – the “simple” Hadoop wordcount example is only simple in Java. In SQL it is a horrid piece of code that looks bad and runs even worse. Anyone who has ever tried to “sessionise” weblogs will also be aware that SQL isn’t the tool for every job.
That’s why in EXASolution 5, we’ve introduced the ability to write User-Defined Functions (UDFs) in Java. Previously you could have used Lua, Python or R – and this is would have been fine, except that if you already had a lot of existing Java code, you would have had to rewrite it in one of these other languages in order to run it on EXASolution.
Now that we support Java UDFs, you can just cut and paste this existing code into a Java UDF template, importing any external packages you need without limit.
And then this Java code will run parallel and in-memory, just like any SQL function.
And so you don’t need to choose between SQL and Java – with EXASolution 5 you can have both (and Lua and Python and R too!)