Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release Databricks connector! #369

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 79 additions & 0 deletions registry/hasura/databricks/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# Databricks Connector

[![Docs](https://img.shields.io/badge/docs-v3.x-brightgreen.svg?style=flat)](https://hasura.io/docs/3.0/getting-started/overview/)
// TODO(KC): We need to change this
[![ndc-hub](https://img.shields.io/badge/ndc--hub-cassandra-blue.svg?style=flat)](https://hasura.io/connectors/cassandra)
[![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 |
| | | |

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.3"
},
"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.3",
"hash": "5c7defbbd6144784995f5c7a42fc5927eacf293a",
"is_verified": true
}
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"version": "0.1.3",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let us prefix v?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!

"uri": "https://github.com/hasura/ndc-databricks/releases/download/v0.1.3/connector-definition.tgz",
"checksum": {
"type": "sha256",
"value": "34c9e638fcc17a6af719bbd8be4f7deb0c66d2927b26fdc42ff1e87e408e7a09"
},
"source": {
"hash": "5c7defbbd6144784995f5c7a42fc5927eacf293a"
}
}
Loading