Accessing GoodData workspace from Apache Zeppelin notebook

ZD
GoodData Developers
3 min readJan 27, 2021

This short article describes how to access GoodData workspace from Apache Zeppelin notebook.

Zeppelin installation

Download the latest version of the GoodData JDBC Driver (check the assets list).

I use the official Docker image and follow the setup described in the Zeppelin documentation.

Create this directory structure in your home directory:

zeppelin 
+- lib
+- logs
+- notebook

Copy the GoodData JDBC Driver JAR (e.g. gooddata-jdbc-0.74.jar) to the lib directory.

docker run -p 8080:8080 --rm -v ~/zeppelin/logs:/logs -v ~/zeppelin/notebook:/notebook -v ~/zeppelin/lib:/java-lib -e ZEPPELIN_LOG_DIR='/logs' -e ZEPPELIN_NOTEBOOK_DIR='/notebook' --name zeppelin apache/zeppelin:0.9.0

Create a new JDBC interpreter.

Create a new Zeppelin interpreter

Select jdbc interpreter group.

Select JDBC interpreter group

Fill interpreter’s JDBC properties

  • default.url : jdbc:gd://<your-gooddata-server-domain>/gdc/projects/<your-gooddata-workspace-id>
  • default.user : your GoodData username
  • default.password : your GoodData password
  • default.driver : com.gooddata.jdbc.driver.AfmDriver

NOTE: You can use this guide to creating a demo GoodData workspace.

GoodData JDBC driver interpreter properties

Add the JDBC driver file in the mapped local directory to the Dependencies section

Reference the GoodData JDBC driver on the mapped local drive (use the mapping from the Docker start command)

Later you can always find the GoodData interpreter, edit it, and restart it

Find, edit, and restart the interpreter

Create a new Zeppelin notebook

Create a new Zeppelin notebook

Use the newly created GoodData interpreter

Select the newly created GoodData interpreter

Query GoodData workspace

If you followed the guide to creating a demo GoodData workspace, you can see couple example queries here

Query GoodData workspace
Query results in tabular format
Try few data visualizations

Enjoy and share your work with us!

Originally published at https://github.com.

--

--