Skip to main content

Documentation Index

Fetch the complete documentation index at: https://honeydew.ai/docs/llms.txt

Use this file to discover all available pages before exploring further.

Databricks connects to Honeydew via JDBC using the Trino protocol. Two modes are supported:
  • Live connection: query Honeydew directly from Databricks dashboards and notebooks.
  • Data import: materialize Honeydew query results as Databricks tables or views, then use them like any other Databricks dataset.
Use an API Key for authentication.

Setting up a JDBC connection

1

Upload the Trino JDBC driver

Databricks requires the Trino JDBC driver to be stored in a Unity Catalog Volume.
  1. Download the Trino JDBC driver.
  2. In your Databricks workspace, upload the downloaded JAR file to a Unity Catalog Volume, for example /Volumes/<catalog>/<schema>/jars/.
For details on uploading files to Volumes, see the Databricks JDBC connection documentation.
2

Create the JDBC connection

  1. Navigate to CatalogCreateCreate a connection
  2. Set a Connection name (e.g., honeydew-jdbc) and set Connection type to JDBC
  3. Provide the connection details:
    • URL: jdbc:trino://jdbc.honeydew.cloud:443/<workspace>__<branch>
    • JAR dependency: select the path to the uploaded Trino JDBC driver in your Volume
    • External options: dbtable,query
    • Additional options: add two key-value pairs:
      KeyValue
      useryour API key
      passwordyour API secret
  4. Click Create connection
Replace:
  • <workspace>__<branch> with your Honeydew workspace and branch. For the prod branch, omit __<branch_name> (e.g., use my_workspace not my_workspace__prod).
  • <api key> and <api secret> with your API key credentials
The JDBC connection requires external network access to reach jdbc.honeydew.cloud. See network connectivity for JDBC in the Databricks documentation for instructions on configuring external network access.
If your organization uses a custom JDBC hostname, find it in the Honeydew UI under Settings > JDBC.
3

Grant connection access

Grant the USE CONNECTION privilege to any users or roles that need to query Honeydew:
GRANT USE CONNECTION ON CONNECTION `honeydew-jdbc` TO <user-or-role>;
See Databricks: Grant the USE privilege for more details.

Creating datasets and dashboards

Navigate to Dashboards in Databricks to create visualizations from Honeydew data. Create a dataset by writing a SQL query with the remote_query function, referencing the connection name you created above:
SELECT * FROM remote_query('honeydew-jdbc',
  query => 'select "countries.name", SUM("orders.count") as count
            from domains.revenue_analytics');
The inner query uses the Honeydew SQL interface. You can reference any domain, metric, or dimension available in your workspace. In the example above, domains is the schema and revenue_analytics is the domain name. Once you have a dataset, add charts and visuals to your Databricks dashboard.

Data import

You can materialize Honeydew query results as a Databricks table or view, making them available to any tool or workflow that reads from Databricks.

Create a table

Use CREATE TABLE ... AS SELECT to snapshot the query results into a Databricks table:
CREATE TABLE <catalog>.<schema>.<table_name> AS
SELECT * FROM remote_query('honeydew-jdbc',
  query => 'select "countries.name", SUM("orders.count") as count
            from domains.revenue_analytics');
Re-run this statement to refresh the table with the latest data from Honeydew.

Create a view

Use CREATE VIEW to define a view that queries Honeydew on each access:
CREATE OR REPLACE VIEW <catalog>.<schema>.<view_name> AS
SELECT * FROM remote_query('honeydew-jdbc',
  query => 'select "countries.name", SUM("orders.count") as count
            from domains.revenue_analytics');
The view re-executes the Honeydew query each time it is queried, so it always reflects the current state of the semantic layer.