Skip to main content

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 in-dbt-spark 1.9.57

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

Source distribution (sdist)

Source distribution for in-dbt-spark 1.9.57
File Size Uploaded Provenance Actions
in_dbt_spark-1.9.57.tar.gz 168.2 kB Without provenance Details for in_dbt_spark-1.9.57.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for in-dbt-spark 1.9.57
File Interpreter ABI Platform Actions
in_dbt_spark-1.9.57-py3-none-any.whl Python 3 none any Details for in_dbt_spark-1.9.57-py3-none-any.whl

Total release size: 300.1 kB

Release files / in_dbt_spark-1.9.57.tar.gz

Download URL in_dbt_spark-1.9.57.tar.gz
Size 168.2 kB
Tags Source
SHA-256 checksum
How to use checksums
20fbcfd5b3d83516a42d5e55125a5aeae0fc821611328a9e072405758526243f
BLAKE2b-256 checksum
How to use checksums
c0d200a279bea35451bf25408ab18e5b09c94aaddf280c878298ebb161a7e71c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.6

Release files / in_dbt_spark-1.9.57-py3-none-any.whl

Download URL in_dbt_spark-1.9.57-py3-none-any.whl
Size 131.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c6be1527e7c77dcc229cc0810b393459598cc8231d0f7cf482a89166e0efd365
BLAKE2b-256 checksum
How to use checksums
6560b3965a3b654c05e8197d78da9e1cb6cf67fc20a5808fa707510ac613f0fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.6

Security for in-dbt-spark 1.9.57

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.9.57 This release

2 release files No provenance

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