Skip to main content

The Apache Spark adapter plugin for dbt

Project description

dbt logo

Unit Tests Badge Integration Tests Badge

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

The dbt-spark package contains all of the code enabling dbt to work with Apache Spark and Databricks. For more information, consult the docs.

Getting started

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.1.1 (formerly on Spark 2.x).

The following command would start 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/

Reporting bugs and contributing code

  • Want to report a bug or request a feature? Let us know on Slack, or open an issue.

Code of Conduct

Everyone interacting in the dbt project's codebases, issue trackers, chat rooms, and mailing lists is expected to follow the PyPA Code of Conduct.

Join the dbt Community

Reporting bugs and contributing code

Code of Conduct

Everyone interacting in the dbt project's codebases, issue trackers, chat rooms, and mailing lists is expected to follow the dbt Code of Conduct.

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.6.0b2.tar.gz (34.4 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.6.0b2-py3-none-any.whl (42.0 kB view details)

Uploaded Python 3

File details

Details for the file dbt-spark-1.6.0b2.tar.gz.

File metadata

  • Download URL: dbt-spark-1.6.0b2.tar.gz
  • Upload date:
  • Size: 34.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for dbt-spark-1.6.0b2.tar.gz
Algorithm Hash digest
SHA256 d7b04cedcf4847d4c3e5822d772813740ed1a415ee9acecaf9863915d2b32317
MD5 4286b7f4639b4b00befd6cff2af0373c
BLAKE2b-256 2a9c62779dffe55f726f4be6605a882d76c671669f1c16727f0b7623416ac74a

See more details on using hashes here.

File details

Details for the file dbt_spark-1.6.0b2-py3-none-any.whl.

File metadata

  • Download URL: dbt_spark-1.6.0b2-py3-none-any.whl
  • Upload date:
  • Size: 42.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for dbt_spark-1.6.0b2-py3-none-any.whl
Algorithm Hash digest
SHA256 d5563e6bef6d67b1ada9efada8555552c227f0e202f3d94248c316a6b7179224
MD5 dbec63a2977a7c72af9f32e2a94ba261
BLAKE2b-256 852bb4234f443953453ec94cbe6c9f8a2905ae7c196367d1622df1bf5e1ec363

See more details on using hashes here.

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