Speaking Python (or Scala) in an SQL World
May 14, 2019
If you’ve traveled internationally, there’s a good chance you’ve gotten off a plane in a place where you don’t speak the language. It’s tough—there are big challenges that come with not knowing how to ask even simple questions or understand what you’re being told, and it slows you down, too. It would be a lot easier if you could speak in your own language and be understood—and vice versa.
And it’s not just the language! Simple, everyday actions, things that you wouldn’t think twice about at home, can pose a challenge, too. Once, in Paris, I needed to find a bathroom. I didn’t see any public bathrooms nearby, so after using a translation book (apps didn’t exist yet) and lots of hand gestures, I got directions to a public bathroom along the Seine. Great! I found the bathroom just fine, only to discover that in France, public bathrooms cost money! And of course, I didn’t have any cash on me. Plan B—I found a place to buy a bottle of wine, asked to use the bathroom, got to chatting (the shop owner spoke some English), made a friend, and he gave me some insider tips on how to get around in Paris.
The Analytics Language Barrier
The language and cultural barrier isn’t just a thing when you’re in Paris. There are also barriers in the world of data analysis. The marketplace offers plenty of fast and easy languages for writing your analytics. SQL is the old standby, and when it comes to inter-application integration, it remains the standard. But more and more analysts prefer to operate in languages like Python or Scala, and that poses a problem: how do you integrate all that code? How do you execute the hundreds—or even thousands—of lines of Python or Scala code if you don’t have any idea how those languages work? The easiest answer, of course, is to have somebody else run the code for you, in the same way that my new Parisian friend helped me out. That’s exactly what Aginity Enterprise can do for you.
Use Your Preferred Language
Analysts can create notebooks right inside Aginity Enterprise that look and feel just like Zeppelin notebooks—because they are Zeppelin notebooks. There, an analyst who wants to code in Python can code in Python, and their colleague who wants to code in Scala can code in Scala. Or SQL, for that matter. They’re all supported. You can create, edit, and run analytic notebooks inside Aginity Enterprise—and if you’re bilingual, you can switch languages midstream to take advantage of the best way to achieve what you want to do.
That’s pretty cool—but the real trick is being able to use what you’ve just built and build something else, something new, something in a completely different language, without having to also build a massive execution framework. Here’s where Aginity Enterprise adds a ton of value.
Simply by saving your notebook inside Aginity Enterprise, you’re making its results available for others to use without needing to know anything about how it’s written – or even what language it’s written in. It’s like getting off a long-haul international flight and understanding everything you hear. Just refer to the name of the notebook, and Aginity Enterprise knows what columns it produces, their data types—everything. And when it’s time to test, Enterprise knows how to run every notebook in the chain—SQL, Python, Scala—and feeds it all through the pipeline automatically.
A Universal Interface
Finally, Aginity Enterprise lets you execute your saved notebooks outside of the Aginity environment by providing a J/ODBC interface for all your saved analytics. It treats your analytics like native database views and lets you query them using SQL from anyplace that you can use a J/ODBC driver to query data. Excel. Tableau. Alteryx. Just connect to your Aginity Enterprise installation, do a simple SELECT to access the complex analytics you’ve saved in the catalog, and the interface will execute on the fly and return results to you, regardless of whether it’s SQL, Python, or Scala under the hood.
It’s About Results
It’s tempting to get drawn into debates about which language is best for what. Organizations will undoubtedly continue to waste time having unwinnable arguments about whether to standardize behind a single language, what that language should be, and how to deal with exceptions.
The language doesn’t really matter, though. What matters are the results. In Paris, my new friend helped me past the language and cultural barriers. Likewise, Aginity Enterprise gets you past the data analytics language barrier and delivers results faster. Use the language you want and let Aginity Enterprise put it all together.
Learn how to do this—and more—by visiting www.aginity.com and requesting a demo.
George L’Heureux is Aginity’s Enterprise Product Manager and Director of Solution Architecture. Email him at email@example.com.