Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Athena support #2

Draft
wants to merge 36 commits into
base: master
Choose a base branch
from
Draft

Athena support #2

wants to merge 36 commits into from

Conversation

artem-garmash
Copy link
Owner

@artem-garmash artem-garmash commented Sep 6, 2023

Athena support for elementary. Limited to Athena 3 and iceberg tables for incremental elementary tables. Testing with dbt-core 1.6.1, dbt-athena-community 1.6.0.

Clean rebase of #1

  • Fix timestamp literals insert
  • Fix explicit DROP in athena__create_or_replace
  • Integration tests
    • test_anomalyless_all_columns_anomalies
    • test_artifacts
    • test_column_anomalies
    • test_dimension_anomalies
    • test_event_freshness_anomalies
    • test_failed_row_count
    • test_freshness_anomalies
    • test_jsonschema
    • test_metrics (metrics ignored by missing require_partition_filter)
    • test_python
    • test_schema_changes (filtered_information_schema_columns is not updated with table materialization)
    • test_volume_anomalies
  • DB specific model settings (e.g. `table_type="iceberg") or using dbt schema config?

TODO: handle properly to allow casts for insert expressions without
quoting all strings
using drop_relation() doesn't work in this context as type is null
use explicit drop table for now
it should be done in athena-connector properly
@artem-garmash artem-garmash marked this pull request as draft September 6, 2023 11:57
artem-garmash pushed a commit that referenced this pull request Oct 10, 2023
)

* get_test_buckets_min_and_max: bugfixes + clearer names

* get_config_var: make the min_training_set_size much smaller than days_back

* test_table_anomalies: log fix

* tests: add coverage for metrics backfill logic in various cases

* test-warehouse: remove --pre

* test fixes

* test fixes

* get_buckets_configuration: add cast as timestamp to deal with BQ issue when the value is null

* tests fix: don't use ilike since BQ doesn't have it

* tests: copy the dbt project to a temp dir, to avoid races

* CI: allow running with --pre as a parameter

* CI: bugfix

* CI: bugfix

* tests: only copy the dbt project dir once per process

* CI: add daily workflow for running on pre-releases

* CI: bugfix

* CI: bugfix

* tests: temp test - remove project copy to see if it speeds things up

* temporary test number #2 - don't run incremental query

* return to regular logic

* add HTML report as artifact

* make HTML report self contained

* test-warehouse: make report artifact unique

* tests: use UTC today not date.today()

* test fixes

* tests performance optimization + add force_metrics_backfill var
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant