Skip to content

Commit

Permalink
Release Databricks connector! (#369)
Browse files Browse the repository at this point in the history
  • Loading branch information
codingkarthik authored Nov 5, 2024
1 parent 06edb79 commit 0885334
Show file tree
Hide file tree
Showing 4 changed files with 119 additions and 0 deletions.
78 changes: 78 additions & 0 deletions registry/hasura/databricks/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# Databricks Connector

[![Docs](https://img.shields.io/badge/docs-v3.x-brightgreen.svg?style=flat)](https://hasura.io/docs/3.0/getting-started/overview/)
[![License](https://img.shields.io/badge/license-Apache--2.0-purple.svg?style=flat)](LICENSE.txt)
[![Status](https://img.shields.io/badge/status-alpha-yellow.svg?style=flat)](./readme.md)

With this connector, Hasura allows you to instantly create a real-time GraphQL API on top of your data models in Databricks.
This connector supports Databricks's functionalities listed in the table below, allowing for efficient and scalable data
operations. Additionally, users benefit from all the powerful features of Hasura’s Data Delivery Network (DDN) platform,
including query pushdown capabilities that delegate query operations to the database, thereby enhancing query
optimization and performance.

This connector implements the [Data Connector Spec](https://github.com/hasura/ndc-spec).

- [Connector information in the Hasura Hub](https://hasura.io/connectors/databricks)
- [Hasura V3 Documentation](https://hasura.io/docs/3.0)

## Features

Below, you'll find a matrix of all supported features for the Databricks connector:

| Feature | Supported | Notes |
| ------------------------------- | --------- | ----- |
| Native Queries + Logical Models || |
| Native Mutations || |
| Simple Object Query || |
| Filter / Search || |
| Simple Aggregation || |
| Sort || |
| Paginate || |
| Table Relationships || |
| Views || |
| Remote Relationships || |
| Custom Fields || |
| Mutations || |
| Distinct || |
| Enums || |
| Naming Conventions || |
| Default Values || |
| User-defined Functions || |

## Prerequisites

1. Create a [Hasura Cloud account](https://console.hasura.io)
2. Please ensure you have the [DDN CLI](https://hasura.io/docs/3.0/cli/installation) and
[Docker](https://docs.docker.com/engine/install/) installed
3. [Create a supergraph](https://hasura.io/docs/3.0/getting-started/init-supergraph)
4. [Create a subgraph](https://hasura.io/docs/3.0/getting-started/init-subgraph)

## Using the Databricks connector

With the [context set](https://hasura.io/docs/3.0/cli/commands/ddn_context_set/) for an existing subgraph, initialize
the connector:

```sh
ddn connector init -i
```

When the wizard runs, you'll be prompted to enter the following env vars necessary for your connector to function:

| Name | Description | Required |
|-------------------------|--------------------------------|----------|
| DATABRICKS_JDBC_URL | JDBC URL of your Databricks DB | Yes |
| DATABRICKS_ACCESS_TOKEN | Personal access token | Yes |


After the CLI initializes the connector, you'll need to:

- [Introspect](https://hasura.io/docs/3.0/cli/commands/ddn_connector_introspect) the source.
- Add your [models](https://hasura.io/docs/3.0/cli/commands/ddn_model_add),
[commands](https://hasura.io/docs/3.0/cli/commands/ddn_command_add), and
[relationships](https://hasura.io/docs/3.0/cli/commands/ddn_relationship_add).
- Create a [new build](https://hasura.io/docs/3.0/cli/commands/ddn_supergraph_build_local).
- Test it by [running your project along with the connector](https://hasura.io/docs/3.0/cli/commands/ddn_run#examples).

## License

The Hasura Cassandra connector is available under the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0).
Binary file added registry/hasura/databricks/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
30 changes: 30 additions & 0 deletions registry/hasura/databricks/metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"overview": {
"namespace": "hasura",
"description": "The Databricks Native Data Connector allows for connecting to a Databricks instance giving you an instant GraphQL API on top of your Databricks data.",
"title": "Databricks Native Data Connector",
"logo": "logo.png",
"tags": [
"database"
],
"latest_version": "v0.1.7"
},
"author": {
"support_email": "[email protected]",
"homepage": "https://hasura.io",
"name": "Hasura"
},
"is_verified": true,
"is_hosted_by_hasura": false,
"source_code": {
"is_open_source": true,
"repository": "https://github.com/hasura/ndc-databricks/",
"version": [
{
"tag": "v0.1.7",
"hash": "c04744ae937a818073fdf12534c6c59e05a22be8",
"is_verified": true
}
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"version": "v0.1.7",
"uri": "https://github.com/hasura/ndc-databricks/releases/download/v0.1.7/connector-definition.tgz",
"checksum": {
"type": "sha256",
"value": "3945ed39f172bee9e142001774f007f3fd0056cf97a548ce047073a9c966f99e"
},
"source": {
"hash": "c04744ae937a818073fdf12534c6c59e05a22be8"
}
}

0 comments on commit 0885334

Please sign in to comment.