-
Notifications
You must be signed in to change notification settings - Fork 4.5k
Source Google Ads: make streams incremental #10315
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
Source Google Ads: make streams incremental #10315
Conversation
/test connector=connectors/source-google-ads
|
/test connector=connectors/source-google-ads
|
@augan-rymkhan the links you posted don't explain why duplication will happen. They explain why this is not a duplicate, this is expected behavior (it is not filtering but grouping) and we see different records this means all records carry useful information for us. Unfortunately, the fact that this problem and similar in other connectors went unnoticed so far shows how badly we test this with SAT. Also the PK definition is wrong in all streams (how destination is OK with this??? @sherifnada) |
Codecov Report
@@ Coverage Diff @@
## master #10315 +/- ##
=========================================
Coverage ? 69.82%
=========================================
Files ? 5
Lines ? 348
Branches ? 0
=========================================
Hits ? 243
Misses ? 105
Partials ? 0 Continue to review full report at Codecov.
|
""" | ||
Accounts stream: https://developers.google.com/google-ads/api/fields/v8/customer | ||
""" | ||
|
||
primary_key = "customer.id" | ||
primary_key = ["customer.id", "segments.date"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
all incremental streams must be updated
"source_defined_primary_key": [["ad_group_ad.ad.id"]] | ||
"supported_sync_modes": ["full_refresh", "incremental"], | ||
"source_defined_cursor": true, | ||
"source_defined_primary_key": [["ad_group_ad.ad.id"]], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and here as well
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm after my comments addressed
/test connector=connectors/source-google-ads
|
/publish connector=connectors/source-google-ads
|
What
Resolves #103
In the logs provided here I see that when reading
ad_group_ads
stream page token has expired, because currently filtering bysegments.date
is not implemented for this stream.How
Make streams:
ad_group_ads
,ad_groups
,accounts
,campaigns
support incremental.One thing to note, when filtering by
segments.date
records returned from streamad_group_ad
might be duplicated, this is discussed in the resources below:link1
link2
Recommended reading order
source_google_ads/streams.py
source_google_ads/source.py