with one click
databricks-isv-adding-databricks-connector
// Add a Databricks connector to an existing project that has no Databricks integration. Use when your product already exists and you want to add Databricks as a new data source or backend.
// Add a Databricks connector to an existing project that has no Databricks integration. Use when your product already exists and you want to add Databricks as a new data source or backend.
Build PWAF-compliant ISV integrations with Databricks: OAuth, telemetry (User-Agent), Unity Catalog, JDBC, SDK, SQL drivers, REST API, Databricks Connect.
PWAF-compliant Python SQL Connector (databricks-sql-connector): PAT, OAuth M2M, OAuth U2M (custom OAuth app PKCE + token-env), credentials_provider patterns, error handling, retry logic. Use when building Python integrations that run SQL queries via a Databricks SQL warehouse.
How to write a build_report.md for any PWAF connector. Captures skill traceability, sufficiency assessment, and test error/fix log. Use after implementing any connector.
How to structure a Databricks connector (REST or Python SDK): config, connect, operations, validation. Use when designing or building a new connector.
How to build and use a PWAF connector test runner (tests/run_all_tests.sh). Covers env isolation, auth types, single connector or single auth mode, parallel execution, browser tests, and report generation.
PWAF-compliant Databricks Connect (Python): PAT, OAuth M2M, OAuth U2M; serverless and classic compute. Use when building or testing Spark-over-Connect integrations.
| name | databricks-isv-adding-databricks-connector |
| description | Add a Databricks connector to an existing project that has no Databricks integration. Use when your product already exists and you want to add Databricks as a new data source or backend. |
Use this skill when your project already exists and you want to add Databricks as a new integration (no Databricks code yet). The other skills cover how to implement auth, telemetry, and operations; this one covers where to plug in and what to build first.
This skill leverages the others: it does not duplicate auth snippets, validation steps, or driver config. It routes you to the right skill/rule for each concern. When implementing, read the linked skill or rule for the chosen stack (e.g. python-sql-connector + python-sql-connector/authentication.md for Python SQL).
| Concern | Delegates to |
|---|---|
| Connector shape (config, connect, operations) | connector-structure |
| User input by auth type (PAT / M2M / U2M) | connector-structure – User input by auth type |
| U2M flows, M2M vs U2M client_id | u2m |
| Auth isolation, clean env testing | testing, main .mdc |
| Validation (UC table + Statement Execution) | integration-checklist – E2E examples |
| User-Agent format and driver config | telemetry-attribution |
| Stack-specific auth and code | rest-api, python, python-sqlalchemy, databricks-connect, java-jdbc + corresponding rules |
<isv>_<product>/<version>, set in code (not by end user). See telemetry-attribution.connect(config) entry point, all operations through the returned client. See connector-structure.Pick one primary path based on your existing project's language and how you need to talk to Databricks:
| If your project is… | Prefer | Rule / skill |
|---|---|---|
| Any language, HTTP-only | REST API (token/M2M in headers, Statement Execution + UC APIs) | rest-api/authentication.md, rest-api |
| Python, need SQL or general API | Python SDK + optional SQL connector | python-sdk/authentication.md, python-sql-connector/authentication.md, python-sdk, python-sql-connector |
| Python, ORM / SQLAlchemy | SQLAlchemy + Databricks dialect | python-sqlalchemy/authentication.md, python-sqlalchemy |
| Python, Spark / DataFrame API | Databricks Connect | databricks-connect/authentication.md, databricks-connect |
| Java/JVM, JDBC | OSS JDBC driver (PAT, M2M, U2M) | java-jdbc/authentication.md, java-jdbc |
Use the chosen rule/skill for exact config fields, auth types, and code snippets. Support all three auth types (PAT, M2M, U2M) so users can choose per connection.
integrations/databricks/, connectors/databricks/, or databricks/) so all Databricks-specific code (config, connect, API/SQL calls) lives in one place.DataSource, ConnectionFactory), implement a Databricks adapter that:
host, auth_type, credentials, optional http_path/warehouse_id).connect(), execute_query(), list_tables()).databricks-sdk, databricks-sql-connector, databricks-jdbc, or use REST with your HTTP client).host, auth_type (pat | oauth_m2m | oauth_u2m), and the credentials for that type (token, or client_id + client_secret, or access_token / U2M flow). Optional: http_path and/or warehouse_id for SQL. See connector-structure for full tables.auth_type, builds the client (REST wrapper, WorkspaceClient, JDBC Connection, etc.), and sets User-Agent (connector-level constant). Use auth_type="oauth-m2m" for M2M when using the Python SDK.Yes, the current skills address building a Databricks connector for an existing project: use this skill to choose stack and placement, then use connector-structure for config/connect/operations shape, the authentication.md file for your chosen stack for auth and telemetry, and integration-checklist for validation and partner requirements.