Skip to content

feature: Add DuckDB profile mapping#1553

Merged
tatiana merged 31 commits into
astronomer:mainfrom
prithvijitguha:feature/duckdb
Apr 28, 2025
Merged

feature: Add DuckDB profile mapping#1553
tatiana merged 31 commits into
astronomer:mainfrom
prithvijitguha:feature/duckdb

Conversation

@prithvijitguha
Copy link
Copy Markdown
Contributor

Description

  • Added support for dbt-duckdb
  • Added jaffle_shop repo for duckdb
  • Added example for duck db dag usage

Related Issue(s)

Breaking Change?

Checklist

  • I have made corresponding changes to the documentation (if required)
  • I have added tests that prove my fix is effective or that my feature works

@netlify
Copy link
Copy Markdown

netlify Bot commented Feb 23, 2025

Deploy Preview for sunny-pastelito-5ecb04 canceled.

Name Link
🔨 Latest commit 4717c2c
🔍 Latest deploy log https://app.netlify.com/sites/sunny-pastelito-5ecb04/deploys/67bb509ad03ba5000813cfd2

@netlify
Copy link
Copy Markdown

netlify Bot commented Feb 23, 2025

Deploy Preview for sunny-pastelito-5ecb04 canceled.

Name Link
🔨 Latest commit c3c0218
🔍 Latest deploy log https://app.netlify.com/sites/sunny-pastelito-5ecb04/deploys/680f4401d323e70008011439

@prithvijitguha prithvijitguha marked this pull request as ready for review February 23, 2025 17:00
@dosubot dosubot Bot added size:XXL This PR changes 1000+ lines, ignoring generated files. area:profile Related to ProfileConfig, like Athena, BigQuery, Clickhouse, Spark, Trino, etc area:testing Related to testing, like unit tests, integration tests, etc labels Feb 23, 2025
@prithvijitguha
Copy link
Copy Markdown
Contributor Author

Hey all,

It looks like more files due to the addition of the jaffle_shop_duckdb repo to the dev folder. Its the more updated one replacing the original jaffle_shop demo repo.

If you think this seems like too much for one PR, let me know, maybe I can break this up in other PRs :)

Comment thread cosmos/profiles/duckdb/user_pass.py
Comment thread dev/dags/example_duckdb_dag.py Outdated
pankajastro added a commit that referenced this pull request Apr 26, 2025
pankajastro added a commit that referenced this pull request Apr 26, 2025
pankajastro added a commit that referenced this pull request Apr 26, 2025
pankajastro added a commit that referenced this pull request Apr 26, 2025
pankajastro added a commit that referenced this pull request Apr 26, 2025
pankajastro added a commit that referenced this pull request Apr 26, 2025
pankajastro added a commit that referenced this pull request Apr 26, 2025
pankajastro added a commit that referenced this pull request Apr 26, 2025
pankajastro added a commit that referenced this pull request Apr 26, 2025
pankajastro added a commit that referenced this pull request Apr 26, 2025
Copy link
Copy Markdown
Collaborator

@tatiana tatiana left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot to @prithvijitguha for addressing the feedback and @pankajastro for fixing the integration tests in #1699. I'm approving this PR, it will temporarily break our main branch, but it should be resolved as soon as we merge Pankaj's PR.

@dosubot dosubot Bot added the lgtm This PR has been approved by a maintainer label Apr 28, 2025
@tatiana tatiana changed the title feature: Added duckdb adaptor support feature: Add DuckDB adaptor support Apr 28, 2025
@tatiana tatiana changed the title feature: Add DuckDB adaptor support feature: Add DuckDB profile mapping Apr 28, 2025
Co-authored-by: Pankaj Singh <98807258+pankajastro@users.noreply.github.com>
pankajastro added a commit that referenced this pull request Apr 28, 2025
Run integration tests for PR: #1553
Comment thread tests/profiles/duckdb/test_duckdb_user_pass.py Outdated
@tatiana tatiana merged commit 1bcfb1e into astronomer:main Apr 28, 2025
32 of 33 checks passed
pankajastro added a commit that referenced this pull request Apr 28, 2025
Run integration tests for PR: #1553
@prithvijitguha
Copy link
Copy Markdown
Contributor Author

Hey @pankajastro!

Sorry for the late reply, yes I was able to run jaffle shop locally, I seemed to have some issues running the integration tests, I am using WSL2, I assumed that might be an issue as well.

Thank you so much for fixing the integration tests!

@prithvijitguha prithvijitguha deleted the feature/duckdb branch April 28, 2025 10:48
@prithvijitguha
Copy link
Copy Markdown
Contributor Author

Thanks a lot to @prithvijitguha for addressing the feedback and @pankajastro for fixing the integration tests in #1699. I'm approving this PR, it will temporarily break our main branch, but it should be resolved as soon as we merge Pankaj's PR.

Thank you @tatiana!

Its a great experience to work on this repo. Many thanks for @pankajastro for this fix :)

@pankajkoti pankajkoti mentioned this pull request Apr 30, 2025
tatiana added a commit that referenced this pull request May 1, 2025
Features

* Airflow 3 support
* Support running ``dbt deps`` incrementally to pre-defined
``dbt_packages`` by @tatiana in #1668 and #1670
* Add ``DuckDB`` profile mapping by @prithvijitguha and @pankajastro in
#1553
* Implement DBT exposure selector by ghjklw #1717

Bug Fixes

* Fix ``test_indirect_selection`` flag to be propagated in case of
``TestBehavior.BUILD`` by @corsettigyg in #1663
* Fix ``select`` clause in the case of detached tests by @anyapriya in
#1680
* Operator argument fixes by @johnhoran in #1648


Airflow 3 Support

* Support rendering DbtDag in Airflow 3 by @tatiana and @ashb in #1657
* Refactor Rendered Task Instance Fields (RTIF) handling for Airflow 2.x
and 3.x by @pankajkoti in #1661
* Run cosmos operator in Airflow 3 by @pankajastro in #1642
* Fix ``python_virtualenv.prepare_env`` top-level import for Airflow 3
by @pankajkoti in #1678
* Fix Variable not found issue in Airflow 3 by @tatiana in #1684
* Disable CosmosPlugin on Airflow 3 setup by @pankajkoti in #1692, #1698
* Use ``schedule`` param in example DAGs instead of the 2.10 deprecated
and 3.0 removed ``schedule_interval`` by @pankajkoti in #1701
* Ensure ``virtualenv_dir`` path exists by @pankajkoti in #1724
* Support emitting Assets with Airflow 3 by @tatiana in #1713
* Add docs on Airflow 3 compatibility by @pankajkoti and @tatiana in
#1731
* Introduce, test and document asset/dataset breaking change by @tatiana
in #1672
* Improve dataset/asset driven scheduling documentation by @tatiana in
#1729

Enhancements

* Allow multiple callbacks by @corsettigyg #1693
* Refactor kubernetes warning callback handling by @canbekley in #1681

Documentation

* Add documentation related to ``copy_dbt_packages`` by @tatiana in
#1671
* Make wording and command consistent in the contributing doc by
@pankajkoti in #1697
* Add MonteCarlo callback example for importing dbt artifacts by
@corsettigyg #1695
* Change async feature to be non-experimental by @tatiana in #1732

Others

* Add sample ``dbt_packages`` to validate incremental ``dbt deps`` by
@tatiana in #1669
* Add kubernetes execution mode example in Airflow 3 by @pankajastro in
#1667
* Check only major version until Airflow 3 stable release by
@pankajastro in #1665
* Install Airflow from main branch by @pankajastro in #1660
* Add dev tool for Airflow 3 by @pankajastro and @tatiana in #1627
* Improve Airflow 3 tooling by @pankajastro in #1656
* Skip associating ``openlineage_events_completes`` to ``ti`` in Airflow
3 by @pankajkoti in #1662
* Add .gitignore file for the scripts/airflow3 directory by @pankajkoti
in #1658
* Remove ``original_jaffle_shop`` dbt project by @pankajkoti in #1676
* Fix or ignore type check error by @pankajastro in #1687
* Run virtualenv example with Airflow 3 tooling by @pankajastro in #1686
* Enable running setup/teardown tasks with Async execution DAG with
Airflow 3 tooling by @pankajastro in #1696
* Enable integration tests for the DuckDB adapter by @pankajastro in
#1699
* Add Airflow 3 tests matrix entries in CI by @pankajkoti in #1646
* Use a different way to get tasks count for asserting test_perf_dag by
@pankajkoti in #1714
* Reinstall Airflow 3 dependency on ``pydantic>=2.11`` for dbt adapter
versions 1.6 & 1.9 by @pankajkoti in #1715
* Fix outdated ``echo`` in Airflow 3 tooling script #1700
* Add files not needed for git tracking to .gitignore by @pankajkoti in
#1723
* Use latest minor versions for dbt adapters to get in compatibility
fixes by @pankajkoti in #1719
* Fix Airflow 3 tests raising generate_run_id() takes 0 positional
arguments by @tatiana in #1725
* Fix dataset tests failing in Airflow 3 by @tatiana in #1716
* Enable example DAGs to run in CI that were disabled in PR #1646 by
@pankajkoti in #1726
* Pre-commit updates: #1666, #1653, #1641, #1682, #1720


Co-authored-by: Pankaj Koti <pankajkoti699@gmail.com>
Co-authored-by: Pankaj Singh
<98807258+pankajastro@users.noreply.github.com>

---------

Co-authored-by: Pankaj Koti <pankajkoti699@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:profile Related to ProfileConfig, like Athena, BigQuery, Clickhouse, Spark, Trino, etc area:testing Related to testing, like unit tests, integration tests, etc lgtm This PR has been approved by a maintainer size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants