
The movement towards conversational interfaces will accelerate,” — Stuart Frankel, CEO, Narrative Science. “The recent, combined efforts of a number of innovative tech giants point to a coming year when interacting with technology through conversation becomes the norm. Are conversational interfaces really a big deal? They’re game-changing. Since the advent of computers, we have been forced to speak the language of computers in order to communicate with them and now we’re teaching them to communicate in our language.
The early adopters of AI and machine learning in analytics will gain a huge first-mover advantage in the digitalization of business. — Quentin Gallivan, CEO, Pentaho
Meet Qulexa (Qubole + Alexa)
Technical Know-how & Prerequisites
Even though this is a pretty lightweight application, I’ve used various technologies that hopefully get my point across. And walking through the entire codebase is beyond the scope of this post so a good understanding and working knowledge of the following technologies is expected.
- Node.js
- AWS Skills Kit
- For a quick start guide, click here
- AWS Lambda
- For detailed documentation, click here
- Qubole Data Service (QDS) REST API
You will also need:
- AWS developer account
- QDS account — for a free trial, click here
- QDS is the leading enterprise & cloud-scale big data platform that enables you to process and analyze large amounts of structured, unstructured, and raw data stored on any public cloud infrastructure using any engine–Hadoop, Spark, Presto.
NOTE: Google developers can use recently announced Actions on Google to create similar conversational interfaces and applications for Google Home. (In fact, I might port this app myself so stay tuned!
Application At A Glance
At a higher level, here’s what you can do out-of-the-box by talking to Amazon Alexa or Echo Dot:
- List all clusters in your QDS account
- Start Spark, Hadoop, Presto, HBase, or Airflow clusters in your QDS account
- Terminate any of your active clusters
- Retrieve results of a saved query (based on known command Id)
Imp to Note: These are just a handful of commands I’ve implemented so far and QDS provides a very extensive set of REST APIs. For example, you can:
- Add nodes to a cluster
- Execute Spark, Presto, Hive, or Pig commands
- Execute workflows
- Schedule jobs
- Run Spark Notebooks
- And more…
Configuration
Before you run or test this app in your environment, be sure to update the following attributes in config.js
- quboleAPIToken
- alexaAppId
- quboleQueryId
Testing
If you don’t have access to Alexa-enabled devices such as Amazon Alexa or Echo Dot, you can use Amazon’s browser-based Alexa Skill Testing Tool to test.
Ok, where’s the code?
It’s available here on GitHub.