diff --git a/registry/hasura/databricks/README.md b/registry/hasura/databricks/README.md new file mode 100644 index 00000000..2f22c6d5 --- /dev/null +++ b/registry/hasura/databricks/README.md @@ -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). diff --git a/registry/hasura/databricks/logo.png b/registry/hasura/databricks/logo.png new file mode 100644 index 00000000..c9bad882 Binary files /dev/null and b/registry/hasura/databricks/logo.png differ diff --git a/registry/hasura/databricks/metadata.json b/registry/hasura/databricks/metadata.json new file mode 100644 index 00000000..55651e2a --- /dev/null +++ b/registry/hasura/databricks/metadata.json @@ -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": "support@hasura.io", + "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 + } + ] + } +} diff --git a/registry/hasura/databricks/releases/v0.1.3/connector-packaging.json b/registry/hasura/databricks/releases/v0.1.3/connector-packaging.json new file mode 100644 index 00000000..fb02b656 --- /dev/null +++ b/registry/hasura/databricks/releases/v0.1.3/connector-packaging.json @@ -0,0 +1,11 @@ +{ + "version": "v0.1.3", + "uri": "https://github.com/hasura/ndc-databricks/releases/download/v0.1.3/connector-definition.tgz", + "checksum": { + "type": "sha256", + "value": "34c9e638fcc17a6af719bbd8be4f7deb0c66d2927b26fdc42ff1e87e408e7a09" + }, + "source": { + "hash": "5c7defbbd6144784995f5c7a42fc5927eacf293a" + } +}