dbt-spark


Namedbt-spark JSON
Version 1.9.0 PyPI version JSON
download
home_pagehttps://github.com/dbt-labs/dbt-spark
SummaryThe Apache Spark adapter plugin for dbt
upload_time2024-12-10 03:34:40
maintainerNone
docs_urlNone
authordbt Labs
requires_python>=3.9
licenseNone
keywords
VCS
bugtrack_url
requirements pyhive requests
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <p align="center">
  <img src="https://raw.githubusercontent.com/dbt-labs/dbt/ec7dee39f793aa4f7dd3dae37282cc87664813e4/etc/dbt-logo-full.svg" alt="dbt logo" width="500"/>
</p>
<p align="center">
  <a href="https://github.com/dbt-labs/dbt-spark/actions/workflows/main.yml">
    <img src="https://github.com/dbt-labs/dbt-spark/actions/workflows/main.yml/badge.svg?event=push" alt="Unit Tests Badge"/>
  </a>
</p>

**[dbt](https://www.getdbt.com/)** 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](https://docs.getdbt.com/docs/profile-spark).

## Getting started

- [Install dbt](https://docs.getdbt.com/docs/installation)
- Read the [introduction](https://docs.getdbt.com/docs/introduction/) and [viewpoint](https://docs.getdbt.com/docs/about/viewpoint/)

## 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:

```sh
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:

```yaml
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/](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:

```sh
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.
   ```sh
   brew install unixodbc
   ```

### Reporting bugs and contributing code

-   Want to report a bug or request a feature? Let us know on [Slack](http://slack.getdbt.com/), or open [an issue](https://github.com/fishtown-analytics/dbt-spark/issues/new).

## 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](https://www.pypa.io/en/latest/code-of-conduct/).

## Join the dbt Community

- Be part of the conversation in the [dbt Community Slack](http://community.getdbt.com/)
- Read more on the [dbt Community Discourse](https://discourse.getdbt.com)

## Reporting bugs and contributing code

- Want to report a bug or request a feature? Let us know on [Slack](http://community.getdbt.com/), or open [an issue](https://github.com/dbt-labs/dbt-spark/issues/new)
- Want to help us build dbt? Check out the [Contributing Guide](https://github.com/dbt-labs/dbt/blob/HEAD/CONTRIBUTING.md)

## 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](https://community.getdbt.com/code-of-conduct).

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/dbt-labs/dbt-spark",
    "name": "dbt-spark",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": null,
    "author": "dbt Labs",
    "author_email": "info@dbtlabs.com",
    "download_url": "https://files.pythonhosted.org/packages/9e/76/b10834d2b637b79d63173eff2d81124eec8958ec46918717c503bf0262c5/dbt_spark-1.9.0.tar.gz",
    "platform": null,
    "description": "<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/dbt-labs/dbt/ec7dee39f793aa4f7dd3dae37282cc87664813e4/etc/dbt-logo-full.svg\" alt=\"dbt logo\" width=\"500\"/>\n</p>\n<p align=\"center\">\n  <a href=\"https://github.com/dbt-labs/dbt-spark/actions/workflows/main.yml\">\n    <img src=\"https://github.com/dbt-labs/dbt-spark/actions/workflows/main.yml/badge.svg?event=push\" alt=\"Unit Tests Badge\"/>\n  </a>\n</p>\n\n**[dbt](https://www.getdbt.com/)** enables data analysts and engineers to transform their data using the same practices that software engineers use to build applications.\n\ndbt 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.\n\n## dbt-spark\n\nThe `dbt-spark` package contains all of the code enabling dbt to work with Apache Spark and Databricks. For\nmore information, consult [the docs](https://docs.getdbt.com/docs/profile-spark).\n\n## Getting started\n\n- [Install dbt](https://docs.getdbt.com/docs/installation)\n- Read the [introduction](https://docs.getdbt.com/docs/introduction/) and [viewpoint](https://docs.getdbt.com/docs/about/viewpoint/)\n\n## Running locally\nA `docker-compose` environment starts a Spark Thrift server and a Postgres database as a Hive Metastore backend.\nNote: dbt-spark now supports Spark 3.3.2.\n\nThe following command starts two docker containers:\n\n```sh\ndocker-compose up -d\n```\n\nIt will take a bit of time for the instance to start, you can check the logs of the two containers.\nIf the instance doesn't start correctly, try the complete reset command listed below and then try start again.\n\nCreate a profile like this one:\n\n```yaml\nspark_testing:\n  target: local\n  outputs:\n    local:\n      type: spark\n      method: thrift\n      host: 127.0.0.1\n      port: 10000\n      user: dbt\n      schema: analytics\n      connect_retries: 5\n      connect_timeout: 60\n      retry_all: true\n```\n\nConnecting to the local spark instance:\n\n* The Spark UI should be available at [http://localhost:4040/sqlserver/](http://localhost:4040/sqlserver/)\n* 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`\n\nNote 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:\n\n```sh\ndocker-compose down\nrm -rf ./.hive-metastore/\nrm -rf ./.spark-warehouse/\n```\n\n#### Additional Configuration for MacOS\n\nIf installing on MacOS, use `homebrew` to install required dependencies.\n   ```sh\n   brew install unixodbc\n   ```\n\n### Reporting bugs and contributing code\n\n-   Want to report a bug or request a feature? Let us know on [Slack](http://slack.getdbt.com/), or open [an issue](https://github.com/fishtown-analytics/dbt-spark/issues/new).\n\n## Code of Conduct\n\nEveryone interacting in the dbt project's codebases, issue trackers, chat rooms, and mailing lists is expected to follow the [PyPA Code of Conduct](https://www.pypa.io/en/latest/code-of-conduct/).\n\n## Join the dbt Community\n\n- Be part of the conversation in the [dbt Community Slack](http://community.getdbt.com/)\n- Read more on the [dbt Community Discourse](https://discourse.getdbt.com)\n\n## Reporting bugs and contributing code\n\n- Want to report a bug or request a feature? Let us know on [Slack](http://community.getdbt.com/), or open [an issue](https://github.com/dbt-labs/dbt-spark/issues/new)\n- Want to help us build dbt? Check out the [Contributing Guide](https://github.com/dbt-labs/dbt/blob/HEAD/CONTRIBUTING.md)\n\n## Code of Conduct\n\nEveryone interacting in the dbt project's codebases, issue trackers, chat rooms, and mailing lists is expected to follow the [dbt Code of Conduct](https://community.getdbt.com/code-of-conduct).\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "The Apache Spark adapter plugin for dbt",
    "version": "1.9.0",
    "project_urls": {
        "Homepage": "https://github.com/dbt-labs/dbt-spark"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ca00c78bded8dd65f022bfbb4b1153626e82ef48f8c7c7773af1fea21999878c",
                "md5": "849e767fcedab8cbfdab6d47b4d1cca9",
                "sha256": "f0c945638ac14697b9483de55a70d87a1d41998cc75e7dcecb55cee3f6df6c1b"
            },
            "downloads": -1,
            "filename": "dbt_spark-1.9.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "849e767fcedab8cbfdab6d47b4d1cca9",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 45859,
            "upload_time": "2024-12-10T03:34:38",
            "upload_time_iso_8601": "2024-12-10T03:34:38.316523Z",
            "url": "https://files.pythonhosted.org/packages/ca/00/c78bded8dd65f022bfbb4b1153626e82ef48f8c7c7773af1fea21999878c/dbt_spark-1.9.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9e76b10834d2b637b79d63173eff2d81124eec8958ec46918717c503bf0262c5",
                "md5": "460f70ba2d37f9048d4d7f7f82ad60ad",
                "sha256": "fb81fb1d778433789e9d1ec44a8919b39fb8858be25f3af29ed05e144259f5e3"
            },
            "downloads": -1,
            "filename": "dbt_spark-1.9.0.tar.gz",
            "has_sig": false,
            "md5_digest": "460f70ba2d37f9048d4d7f7f82ad60ad",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 37441,
            "upload_time": "2024-12-10T03:34:40",
            "upload_time_iso_8601": "2024-12-10T03:34:40.640622Z",
            "url": "https://files.pythonhosted.org/packages/9e/76/b10834d2b637b79d63173eff2d81124eec8958ec46918717c503bf0262c5/dbt_spark-1.9.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-10 03:34:40",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "dbt-labs",
    "github_project": "dbt-spark",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "pyhive",
            "specs": [
                [
                    "~=",
                    "0.7.0"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    ">=",
                    "2.28.1"
                ]
            ]
        }
    ],
    "tox": true,
    "lcname": "dbt-spark"
}
        
Elapsed time: 0.38451s