Skip to main content

The Apache Spark adapter plugin for dbt

Project description

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

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dbt_spark-1.11.0b1.tar.gz (83.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dbt_spark-1.11.0b1-py3-none-any.whl (51.7 kB view details)

Uploaded Python 3

File details

Details for the file dbt_spark-1.11.0b1.tar.gz.

File metadata

  • Download URL: dbt_spark-1.11.0b1.tar.gz
  • Upload date:
  • Size: 83.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dbt_spark-1.11.0b1.tar.gz
Algorithm Hash digest
SHA256 f7ba0ce12f60c2733131dd9a424f1994591197e0b62173ed0ae6ca61ccd55e20
MD5 1ca0ed2157cf6d7dd26ee41fc3f98d9e
BLAKE2b-256 c8d675961f957ffb130b17dc7bbc98f55d3a7e19d2d920db7e6d69569bd7cc55

See more details on using hashes here.

Provenance

The following attestation bundles were made for dbt_spark-1.11.0b1.tar.gz:

Publisher: publish-oss.yml on dbt-labs/dbt-adapters

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dbt_spark-1.11.0b1-py3-none-any.whl.

File metadata

  • Download URL: dbt_spark-1.11.0b1-py3-none-any.whl
  • Upload date:
  • Size: 51.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dbt_spark-1.11.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 1bd073a5b81d0ebe48c930495a02cecc326ea3a3aa16535e39cf0e32a9aac1d0
MD5 4e976659f52737521a75b2091315d69f
BLAKE2b-256 0f174cb720ef535cedf6dbc129b09d6f132f36eb8dd531c6108bc12be132b6f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for dbt_spark-1.11.0b1-py3-none-any.whl:

Publisher: publish-oss.yml on dbt-labs/dbt-adapters

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page