# Metabase

Metabase is an open-source business intelligence tool that allows you to explore and visualize your data in a user-friendly interface. This document provides a step-by-step guide for connecting Metabase to the e6data query engine.

## Requirements

Below are the prerequisites you need to fulfil before connecting the e6data cluster to Metabase:

* A running instance of Metabase. If not already set up, refer to the [Metabase documentation](https://www.metabase.com/docs/latest) for installation instructions.
* Install the latest [e6data jdbc driver](https://docs.e6data.com/product-documentation/connectors-and-drivers/jdbc-driver).
* Establish a [Direct or TLS connection](https://docs.e6data.com/product-documentation/~/revisions/W5MExJCuvHiG1ioEcgOy/connectivity/endpoints) in your cluster.&#x20;
* You can obtain the connection details required from the [Connection Information](https://docs.e6data.com/product-documentation/~/revisions/W5MExJCuvHiG1ioEcgOy/connectors-and-drivers/broken-reference) tab in the e6data cluster.

## Connection

Get the necessary [connection information](https://docs.e6data.com/product-documentation/~/revisions/W5MExJCuvHiG1ioEcgOy/connectors-and-drivers/broken-reference) for your cluster:

* Host&#x20;
* Port
* Catalog&#x20;
* Database
* Username
* Password ([Personal Access Token](https://docs.e6data.com/product-documentation/~/revisions/W5MExJCuvHiG1ioEcgOy/user-settings/personal-access-tokens-pat))

Once you have gathered this information, you can create a new connection in Metabase. To connect with Metabase, follow the below instructions:

1. **Deploy the e6data Clojure Driver**
   * **Download the Metabase JAR file**: Obtain the latest release of the e6data driver JAR file.
   * **Move the JAR file**: Copy the Metabase JAR file into the Metabase plugins directory (`/plugins/`).
   * **Restart Metabase**: Restart your Metabase instance to load the new driver after moving the JAR file.
2. **Access the Metabase Web Interface**
   1. Open your web browser and navigate to your Metabase instance.
3. **Follow the Steps to Connect to e6data**

   **Add a Database Connection**

   1. Click on the gear icon in the top right corner.
   2. Navigate to **Admin settings** > **Databases** > **Add a database**.

   **Enter Connection Parameters**

   * **Database Type**: Select `e6data` from the drop-down menu.
   * **Display Name**: Enter a display name for the database in Metabase.
   * **Host**: Provide the cluster’s IP address or domain name (e.g., `34.172.192.210`).
   * **Port**: Enter the port of the e6data cluster (e.g., `80`).
   * **Catalog**: Enter the name of the catalog attached to the e6data cluster.
   * **Database**: Specify the name of the database within the given catalog.
   * **User Name**: Input the username used to log in to e6data.
   * **Password**: Use the token generated by the user.

   **For Direct Connectivity**

   * Additional JDBC string parameters
     * `AUTO_RESUME=true` : Use this parameter if cluster auto resuming feature is to be enabled

   **For TLS Connectivity**

   * Additional JDBC string parameters
     * `secure=true` \[Mandatory] : Set secure property as true
     * `cluster-uuid=shh5nrx08v` \[Mandatory] : Set the cluster uuid of the cluster
     * `AUTO_RESUME=true` \[Optional] : Use this parameter if cluster auto resuming feature is to be enabled

<figure><img src="https://3484040590-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeVBYKZm1xFKFFVzS0lRJ%2Fuploads%2F7y06rw6L8wDH8LYKB88d%2Fimage-20240803-094819.png?alt=media&#x26;token=eaff9342-8c93-4cc7-afaf-1e921fe4d2e4" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Note**: Following the steps in the provided order will result in a successful connection to e6data through Metabase.
{% endhint %}

## TLS/HTTP

e6data utilizes globally trusted certificates, ensuring that the host and port provided by the connection dialogue are adequate. Any e6data cluster necessitating authentication must also employ TLS/HTTPS. If adhering to globally trusted certificate best practices, utilize the cluster’s HTTPS URL in the connection string as detailed in the aforementioned steps.
