DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
  1. DZone
  2. Data Engineering
  3. Data
  4. Data Visualization Using Apache Zeppelin

Data Visualization Using Apache Zeppelin

Apache Zeppelin — an open-source data analytics and visualization platform — helps us analyze the data to gain insight and to improve and enhance business decisions.

Kunal Nagar user avatar by
Kunal Nagar
·
Oct. 17, 17 · Tutorial
Like (2)
Save
Tweet
Share
31.55K Views

Join the DZone community and get the full member experience.

Join For Free

In today's world, data is being generated at an exponential rate — so much so that analysts are predicting our global data creation to increase 10x by 2025. Businesses are now collecting data across every internal system and external source that impacts their company, and with it comes an ever-growing need to analyze the data to gain insight into how it can be used to improve and enhance their business decisions. Apache Zeppelin — an open-source data analytics and visualization platform — can take us a long way toward meeting that goal.

In this article, you'll learn how to add a custom interpreter for MongoDB and MySQL and how to use it to query and visualize collection data. First, let's start off with an overview of Apache Zeppelin and its feature set:

What Is Apache Zeppelin?

Apache Zeppelin is an open-source, web-based "notebook" that enables interactive data analytics and collaborative documents. The notebook is integrated with distributed, general-purpose data processing systems such as Apache Spark (large-scale data processing), Apache Flink (stream processing framework), and many others. Apache Zeppelin allows you to make beautiful, data-driven, interactive documents with SQL, Scala, R, or Python right in your browser.

Interactive Interface

Apache Zeppelin has an interactive interface that allows you to instantly see the results of your analytics and have an immediate connection with your creation:

Image title

Integrations

Integrate with many different open-source big data tools such as Apache projects Spark, Flink, Hive, Ignite, Lens, and Tajo.

Browser Notebooks

Create notebooks that run in your browser (both on your machine and remotely) and experiment with different types of charts for to explore your data sets:

Image title

Dynamic Forms

Dynamically create input forms right in your notebook.

Image title

Collaboration and Sharing

A diverse and vibrant developer community gives you access to new data sources that are being constantly added and distributed through their open-source Apache 2.0 license.

Image title

Interpreter

Apache Zeppelin interpreter concept allows any language/data-processing-backend to be plugged into Zeppelin. Currently, Apache Zeppelin supports many interpreters such as Apache Spark, Python, JDBC, Markdown, and Shell.

Image title

Now, let's get started creating your custom interpreter for MongoDB and MySQL.

Add a MySQL Interpreter

In the Apache Zeppelin platform, go to the drop-down menu in the top-right and click on Interpreter:

Here's where you can find a list of all interpreters. We need to create a new one for MySQL, so click on the Create button in the upper right-hand corner:

Enter a recognizable name for the interpreter (i.e. mysql) and choose group as JDBC:

Keep all the default options, but enter the required details and make sure that a connection to your MySQL server is established:

We also need to add a custom artifact to the MySQL connector JAR so Zeppelin knows where to execute it from. Download the connector here, place it in the interpreter/jdbc folder, and then provide the exact path to the artifact:

And that's it! To test our interpreter, we need to create a new note. But first, let's set up our MongoDB interpreter, as well.

Go back to your Interpreter page and click the Create button. We're going to use this open source MongoDB interpreter, so you'll next need to download the .zip file and rename it to .jar.

After that, go to interpreters/, create a mongodb/ folder, and paste the .jar into the folder.

You'll now have a new Interpreter group called mongodb. Go to your Interpreter page, enter a friendly name such as mongodb, and then choose mongodb under the Interpreter group dropdown.

Now, let's enter the details of our newly created ScaleGrid MongoDB cluster in Properties, found in the Overview/Machines section of the Cluster Details page.

And we're done! Now it is time to test out our newly created interpreters.

Create a Zeppelin Note

To run queries that will help visualize our data, we need to create notes. From the Zeppelin header pane, click Notebook, and then Create a new note:


Make sure the notebook header shows a connected status as denoted by a green dot in the top-right corner:

When creating a note, you'll be presented with a dialog to enter more information. Choose the default interpreter as our newly created mysql and click Create Note.

Run Queries on the Note

Before we can run any queries, we also need to mention the type of interpreter we'll be using for our note. We can do that by starting our note with %mysql. This will tell Zeppelin to expect MySQL queries in that note.

And now, we're ready to query our database. For the purpose of this example, I'll use my WordPress installation that contains a typical wp_options table to query and visualize its data.

It works! You can now click on the various charts to visualize the data in different graph formats.

Similarly, for MongoDB, make sure you have data in the MongoDB cluster. You can add some by going to the Admin tab and running Mongo queries.

Here's an example of some MongoDB data in the note:

Share Links to Your Notes

Now that your data is ready for visualization and querying, you may want to show it off to your team. You can do this very easily by creating a shareable link to the note:

This shareable link will be available for anyone to view, and you can also choose to share a link to a specific graph only:

Conclusion

Apache Zeppelin is an immensely helpful tool that allows teams to manage and analyze data with many different visualization options, tables, and shareable links for collaboration.

You can also explore other ways to visualize your data through MongoDB GUI's, including the top four: MongoDB Compass, Robomongo, Studio 3T, and MongoBooster.

Here are some helpful links to get you started:

  • Download Apache Zeppelin

  • MongoDB Interpreter

  • MySQL Connector

Big data Open source Visualization (graphics) MySQL MongoDB Data visualization Database

Published at DZone with permission of Kunal Nagar, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Using GPT-3 in Our Applications
  • Choosing the Right Framework for Your Project
  • Master Spring Boot 3 With GraalVM Native Image
  • Create a REST API in C# Using ChatGPT

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: