Skip to main content
  • This is a fork of the dbt-spark adapter with added compatibility for <catalog>.<schema>.<table> format. This allows creating tables across different catalogs with a single dbt run.
  • Works locally with the vscode databricks extension. Sign-in with databricks auth login and ensure that the .databricks/.databricks.env file is created by the extension.
  • Works with databricks job clusters by using the spark session.

dbt logo

dbt

dbt enables data analysts and engineers to transform their data using the same practices that software engineers use to build applications.

dbt is the T in ELT. Organize, cleanse, denormalize, filter, rename, and pre-aggregate the raw data in your warehouse so that it's ready for analysis.

dbt-spark

dbt-spark enables dbt to work with Apache Spark. For more information on using dbt with Spark, consult the docs.

Getting started

Review the repository README.md as most of that information pertains to dbt-spark.

Running locally

A docker-compose environment starts a Spark Thrift server and a Postgres database as a Hive Metastore backend. Note: dbt-spark now supports Spark 3.3.2.

The following command starts two docker containers:

docker-compose up -d

It will take a bit of time for the instance to start, you can check the logs of the two containers. If the instance doesn't start correctly, try the complete reset command listed below and then try start again.

Create a profile like this one:

spark_testing:
  target: local
  outputs:
    local:
      type: spark
      method: thrift
      host: 127.0.0.1
      port: 10000
      user: dbt
      schema: analytics
      connect_retries: 5
      connect_timeout: 60
      retry_all: true

Connecting to the local spark instance:

  • The Spark UI should be available at http://localhost:4040/sqlserver/
  • The endpoint for SQL-based testing is at http://localhost:10000 and can be referenced with the Hive or Spark JDBC drivers using connection string jdbc:hive2://localhost:10000 and default credentials dbt:dbt

Note that the Hive metastore data is persisted under ./.hive-metastore/, and the Spark-produced data under ./.spark-warehouse/. To completely reset you environment run the following:

docker-compose down
rm -rf ./.hive-metastore/
rm -rf ./.spark-warehouse/

Additional Configuration for MacOS

If installing on MacOS, use homebrew to install required dependencies.

brew install unixodbc

Contribute

Metadata

Release files for dbt-spark-dbx-compat 1.9.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dbt-spark-dbx-compat 1.9.2
File Size Uploaded
dbt_spark_dbx_compat-1.9.2.tar.gz 139.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dbt-spark-dbx-compat 1.9.2
File Interpreter ABI Platform
dbt_spark_dbx_compat-1.9.2-py3-none-any.whl Python 3 none any Details

Total release size: 190.8 kB

Release files / dbt_spark_dbx_compat-1.9.2.tar.gz

Download URL dbt_spark_dbx_compat-1.9.2.tar.gz
Size 139.9 kB
Tags Source
SHA-256 checksum
How to use checksums
a40a6cbef22d5e897cd1d8d4cb299c8d99f3e9e4922ca35126b8fa6bdb4d6279
BLAKE2b-256 checksum
How to use checksums
ef6042ae7cb974937001610b5fa963e4ec0419e67ade013237a4a0122d3d47bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.20

Release files / dbt_spark_dbx_compat-1.9.2-py3-none-any.whl

Download URL dbt_spark_dbx_compat-1.9.2-py3-none-any.whl
Size 50.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
afe6b58ad2f071bae1036eed28f87246a4d82859a5b6d4bb0ee6ea2529d4f4e6
BLAKE2b-256 checksum
How to use checksums
15754ac1df1c6a8dc2d05325e68cd1fdefa6b180f629aefac3043d8cca9536cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.20

Release history Release notifications | RSS feed

This release

1.9.2 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page