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

Feature union schemas #55

Open
wants to merge 21 commits into
base: main
Choose a base branch
from
Open

Feature union schemas #55

wants to merge 21 commits into from

Conversation

fivetran-jamie
Copy link
Collaborator

@fivetran-jamie fivetran-jamie commented Jan 3, 2025

PR Overview

This PR will address the following Issue/Feature:
#52 by merging in and adding to #53

This PR will result in the following new package version:

v0.11.0

Please provide the finalized CHANGELOG entry which details the relevant changes included in this PR:

Feature Update: Run Package on Unioned Connectors

  • This release supports running the package on multiple Mixpanel sources at once! See the README for details on how to leverage this feature.
    • This was achieved through the introduction of new unioning macros.

Please note: This is a Breaking Change in that we have a added a new field, source_relation, that points to the source connector from which the record originated. This will require running a full refresh.

PR Checklist

Basic Validation

Please acknowledge that you have successfully performed the following commands locally:

  • dbt run –full-refresh && dbt test
  • dbt run (if incremental models are present) && dbt test

Before marking this PR as "ready for review" the following have been applied:

  • The appropriate issue has been linked, tagged, and properly assigned
  • All necessary documentation and version upgrades have been applied
  • docs were regenerated (unless this PR does not include any code or yml updates) - after databricks passes
  • BuildKite integration tests are passing
  • Detailed validation steps have been provided below

Detailed Validation

Please share any and all of your validation steps:

devprodtest_incremental passes both steps

image

image

If you had to summarize this PR in an emoji, which would it be?

🥣

@fivetran-jamie fivetran-jamie self-assigned this Jan 3, 2025
Copy link
Contributor

@fivetran-joemarkiewicz fivetran-joemarkiewicz left a comment

Choose a reason for hiding this comment

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

@fivetran-jamie this looks really good! I have a few change requests, but generally the code looks great and tested on the various iterations and didn't see any issues! Once these comments are addressed this should be ready for approval.


> Please note: This is a **Breaking Change** in that we have a added a new field, `source_relation`, that points to the source connection from which the record originated.
> This `source_relation` field is now part of all generated unique keys.
>
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this extra carrot necessary?

name: connection_2_source_name
```

##### Recommended: Incorporate unioned sources into DAG
Copy link
Contributor

Choose a reason for hiding this comment

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

What are your thoughts around collapsing this subsection as it may not be applicable for the majority of users?

Copy link
Contributor

Choose a reason for hiding this comment

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

Can you also address Issue #54 in this PR since it's a fairly small update and quick fix.

@@ -5,12 +5,12 @@

-- this test ensures the daily_activity end model matches the prior version
with prod as (
select *
Copy link
Contributor

Choose a reason for hiding this comment

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

Reminder to remove before merging so this is incorporated in future test cases.

@@ -39,7 +39,7 @@ The following table provides a detailed list of all tables materialized within t
| [mixpanel__sessions](https://fivetran.github.io/dbt_mixpanel/#!/model/model.mixpanel.mixpanel__sessions) | Each record represents a unique user session, including metrics reflecting the frequency and type of actions taken during the session and any relevant fields from the session's first event. |

### Materialized Models
Each Quickstart transformation job run materializes 6 models if all components of this data model are enabled. This count includes all staging, intermediate, and final models materialized as `view`, `table`, or `incremental`.
Each Quickstart transformation job run materializes 7 models if all components of this data model are enabled (6 if you are running the package on only one Mixpanel connection). This count includes all staging, intermediate, and final models materialized as `view`, `table`, or `incremental`.
Copy link
Contributor

Choose a reason for hiding this comment

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

Since this is just for Quickstart I would say we only show 6. Unioning isn't available on Quickstart yet, so I worry this would confuse users more than help.

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.

3 participants