mozilla / bigquery-etl

Bigquery ETL
https://mozilla.github.io/bigquery-etl
Mozilla Public License 2.0
253 stars 100 forks source link

Separate DAU metrics into `search_dau_aggregates` table #6000

Closed alekhyamoz closed 1 month ago

alekhyamoz commented 2 months ago

To accommodate shredder mitigation changes, it has been decided to separate the DAU calculations into a separate aggregates table (which can be used downstream i.e., the search_revenue_levers_daily table)

This PR includes changes relates to mobile Upcoming PRs

  1. add desktop
  2. modify search_revenue_levers_daily to pull from search_dau_aggregates view

Checklist for reviewer:

For modifications to schemas in restricted namespaces (see CODEOWNERS):

┆Issue is synchronized with this Jira Task

dataops-ci-bot commented 2 months ago

Integration report for "Merge branch 'main' into mobile_search_aggregates_dau"

sql.diff

Click to expand! ```diff diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/dags/bqetl_search_dashboard.py /tmp/workspace/generated-sql/dags/bqetl_search_dashboard.py --- /tmp/workspace/main-generated-sql/dags/bqetl_search_dashboard.py 2024-08-01 15:07:51.000000000 +0000 +++ /tmp/workspace/generated-sql/dags/bqetl_search_dashboard.py 2024-08-01 15:08:30.000000000 +0000 @@ -323,6 +323,17 @@ depends_on_past=False, ) + search_derived__search_dau_aggregates__v1 = bigquery_etl_query( + task_id="search_derived__search_dau_aggregates__v1", + destination_table="search_dau_aggregates_v1", + dataset_id="search_derived", + project_id="moz-fx-data-shared-prod", + owner="mozilla/revenue_forecasting_data_reviewers", + email=["akomar@mozilla.com", "telemetry-alerts@mozilla.com"], + date_partition_parameter="submission_date", + depends_on_past=False, + ) + search_derived__search_revenue_levers_daily__v1 = bigquery_etl_query( task_id="search_derived__search_revenue_levers_daily__v1", destination_table="search_revenue_levers_daily_v1", @@ -346,6 +357,70 @@ wait_for_search_derived__mobile_search_clients_daily__v1 ) + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_fenix_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_fenix_nightly_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_fennec_aurora_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_firefox_beta_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_firefox_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_focus_beta_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_focus_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_focus_nightly_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_fennec_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_firefox_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_firefoxbeta_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_focus_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_klar_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_klar_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_copy_deduplicate_all + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_search_derived__mobile_search_clients_daily__v1 + ) + search_derived__search_revenue_levers_daily__v1.set_upstream( wait_for_checks__fail_org_mozilla_fenix_derived__baseline_clients_last_seen__v1 ) Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search: search_dau_aggregates Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived: search_dau_aggregates_v1 diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/metadata.yaml 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/metadata.yaml 2024-08-01 15:03:21.000000000 +0000 @@ -0,0 +1,13 @@ +friendly_name: Search Dau Aggregates +description: |- + Please provide a description for the query +owners: [] +labels: {} +bigquery: null +workgroup_access: +- role: roles/bigquery.dataViewer + members: + - workgroup:mozilla-confidential +references: + view.sql: + - moz-fx-data-shared-prod.search_derived.search_dau_aggregates_v1 diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/view.sql 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/view.sql 2024-08-01 15:01:35.000000000 +0000 @@ -0,0 +1,7 @@ +CREATE OR REPLACE VIEW + `moz-fx-data-shared-prod.search.search_dau_aggregates` +AS +SELECT + * +FROM + `moz-fx-data-shared-prod.search_derived.search_dau_aggregates_v1` diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/metadata.yaml 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/metadata.yaml 2024-08-01 15:03:24.000000000 +0000 @@ -0,0 +1,28 @@ +friendly_name: Search Revenue DAU aggregates +description: |- + Daily metrics including eligible DOU, + DAU_engaged_w_sap, DAU_engaged_w_default_engine + The table is labeled as "change_controlled", which implies + that changes require the approval of at least one owner. +owners: +- mozilla/revenue_forecasting_data_reviewers +labels: + incremental: true + schedule: daily + change_controlled: true + dag: bqetl_search_dashboard +scheduling: + dag_name: bqetl_search_dashboard +bigquery: + time_partitioning: + type: day + field: submission_date + require_partition_filter: true + expiration_days: null + range_partitioning: null + clustering: null +workgroup_access: +- role: roles/bigquery.dataViewer + members: + - workgroup:mozilla-confidential +references: {} diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/query.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/query.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/query.sql 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/query.sql 2024-08-01 15:01:35.000000000 +0000 @@ -0,0 +1,293 @@ +-- Mobile DAU data -- merging baseline clients to AUA clients +## baseline ping -- mobile default search engine by client id +WITH mobile_baseline_engine AS ( + SELECT DISTINCT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine_code AS default_search_engine, + FROM + `moz-fx-data-shared-prod.fenix.baseline` + WHERE + DATE(submission_timestamp) = @submission_date + UNION ALL + SELECT DISTINCT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine AS default_search_engine + FROM + `moz-fx-data-shared-prod.firefox_ios.baseline` + WHERE + DATE(submission_timestamp) = @submission_date + UNION ALL + SELECT DISTINCT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.browser_default_search_engine AS default_search_engine + FROM + `moz-fx-data-shared-prod.focus_android.baseline` + WHERE + DATE(submission_timestamp) = @submission_date + UNION ALL + SELECT DISTINCT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine AS default_search_engine + FROM + `moz-fx-data-shared-prod.focus_ios.baseline` + WHERE + DATE(submission_timestamp) = @submission_date +), +## baseline ping search counts -- mobile search counts by client id +mobile_baseline_search AS ( + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine_code AS default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(key_value.key) AS normalized_engine, + key_value.value AS search_count + FROM + `moz-fx-data-shared-prod.fenix.baseline`, + UNNEST(metrics.labeled_counter.metrics_search_count) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine AS default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(key_value.key) AS normalized_engine, + key_value.value AS search_count + FROM + `moz-fx-data-shared-prod.firefox_ios.baseline`, + UNNEST(metrics.labeled_counter.search_counts) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.browser_default_search_engine AS default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(key_value.key) AS normalized_engine, + key_value.value AS search_count + FROM + `moz-fx-data-shared-prod.focus_android.baseline`, + UNNEST(metrics.labeled_counter.browser_search_search_count) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine AS default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(key_value.key) AS normalized_engine, + key_value.value AS search_count + FROM + `moz-fx-data-shared-prod.focus_ios.baseline`, + UNNEST(metrics.labeled_counter.browser_search_search_count) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 +), +## baseline-powered clients who qualify for KPI (activity filters applied) +mobile_dau_data AS ( + SELECT DISTINCT + submission_date, + "mobile" AS device, + country, + client_id + FROM + `mozdata.telemetry.mobile_active_users` + WHERE + submission_date = @submission_date + AND is_dau + # not including Fenix MozillaOnline, BrowserStack, Klar + AND app_name IN ("Focus iOS", "Firefox iOS", "Fenix", "Focus Android") +), +final_mobile_dau_counts AS ( + SELECT + submission_date, + country, + COUNT(DISTINCT client_id) AS eligible_dau, + COUNT( + DISTINCT IF( + ( + (submission_date < "2023-12-01" AND country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN')) + OR (submission_date >= "2023-12-01" AND country NOT IN ('RU', 'UA', 'BY', 'CN')) + ), + client_id, + NULL + ) + ) AS google_eligible_dau, + COUNT( + DISTINCT IF( + default_search_engine LIKE '%google%' + AND ( + (submission_date < "2023-12-01" AND country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN')) + OR (submission_date >= "2023-12-01" AND country NOT IN ('RU', 'UA', 'BY', 'CN')) + ), + client_id, + NULL + ) + ) AS google_dau_w_engine_as_default, + COUNT( + DISTINCT IF( + search_count > 0 + AND normalized_engine = 'Google' + AND ( + (submission_date < "2023-12-01" AND country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN')) + OR (submission_date >= "2023-12-01" AND country NOT IN ('RU', 'UA', 'BY', 'CN')) + ), + client_id, + NULL + ) + ) AS google_dau_engaged_w_sap, + COUNT( + DISTINCT IF(default_search_engine LIKE '%bing%', client_id, NULL) + ) AS bing_dau_w_engine_as_default, + COUNT( + DISTINCT IF(search_count > 0 AND normalized_engine = 'Bing', client_id, NULL) + ) AS bing_dau_engaged_w_sap, + COUNT( + DISTINCT IF( + default_search_engine LIKE('%ddg%') + OR default_search_engine LIKE('%duckduckgo%'), + client_id, + NULL + ) + ) AS ddg_dau_w_engine_as_default, + COUNT( + DISTINCT IF(normalized_engine = "DuckDuckGo" AND search_count > 0, client_id, NULL) + ) AS ddg_dau_engaged_w_sap + FROM + mobile_dau_data + LEFT JOIN + mobile_baseline_engine + USING (submission_date, client_id) + LEFT JOIN + mobile_baseline_search + USING (submission_date, client_id, default_search_engine) + GROUP BY + submission_date, + country +), +-- Google Mobile (search only - as mobile search metrics is based on metrics +-- ping, while DAU should be based on main ping on Mobile, see also +-- https://mozilla-hub.atlassian.net/browse/RS-575) +mobile_data_google AS ( + SELECT + submission_date, + country, + google_eligible_dau, + google_dau_w_engine_as_default, + google_dau_engaged_w_sap + FROM + `moz-fx-data-shared-prod.search.mobile_search_clients_engines_sources_daily` + INNER JOIN + final_mobile_dau_counts + USING (submission_date, country) + WHERE + submission_date = @submission_date + AND ( + (submission_date < "2023-12-01" AND country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN')) + OR (submission_date >= "2023-12-01" AND country NOT IN ('RU', 'UA', 'BY', 'CN')) + ) + AND ( + app_name IN ('Fenix', 'Firefox Preview', 'Focus', 'Focus Android Glean', 'Focus iOS Glean') + OR (app_name = 'Fennec' AND os = 'iOS') + ) + GROUP BY + submission_date, + country, + google_eligible_dau, + google_dau_w_engine_as_default, + google_dau_engaged_w_sap + ORDER BY + submission_date, + country +), +-- Bing & DDG Mobile (search only - as mobile search metrics is based on +-- metrics ping, while DAU should be based on main ping on Mobile, see also +-- https://mozilla-hub.atlassian.net/browse/RS-575) +mobile_data_bing_ddg AS ( + SELECT + submission_date, + country, + eligible_dau, + bing_dau_w_engine_as_default, + bing_dau_engaged_w_sap, + ddg_dau_w_engine_as_default, + ddg_dau_engaged_w_sap, + FROM + `moz-fx-data-shared-prod.search.mobile_search_clients_engines_sources_daily` + INNER JOIN + final_mobile_dau_counts + USING (submission_date, country) + WHERE + submission_date = @submission_date + AND ( + app_name IN ('Fenix', 'Firefox Preview', 'Focus', 'Focus Android Glean', 'Focus iOS Glean') + OR (app_name = 'Fennec' AND os = 'iOS') + ) + GROUP BY + submission_date, + country, + eligible_dau, + bing_dau_w_engine_as_default, + bing_dau_engaged_w_sap, + ddg_dau_w_engine_as_default, + ddg_dau_engaged_w_sap + ORDER BY + submission_date, + country +) +SELECT + submission_date, + 'Google' AS partner, + 'mobile' AS device, + 'n/a' AS channel, + country, + google_eligible_dau AS dau, + google_dau_engaged_w_sap AS dau_engaged_w_sap, + # custom engine bug merged in v121 + # null engine bug merged in v126 + # remove default engine data prior to June 2024 + IF( + submission_date >= "2024-06-01", + google_dau_w_engine_as_default, + NULL + ) AS dau_w_engine_as_default +FROM + mobile_data_google +UNION ALL +SELECT + submission_date, + 'Bing' AS partner, + 'mobile' AS device, + NULL AS channel, + country, + eligible_dau, + bing_dau_engaged_w_sap, + # custom engine bug merged in v121 + # null engine bug merged in v126 + # remove default engine data prior to June 2024 + IF(submission_date >= "2024-06-01", bing_dau_w_engine_as_default, NULL) AS dau_w_engine_as_default +FROM + mobile_data_bing_ddg +UNION ALL +SELECT + submission_date, + 'DuckDuckGo' AS partner, + 'mobile' AS device, + NULL AS channel, + country, + eligible_dau, + ddg_dau_engaged_w_sap, + # custom engine bug merged in v121 + # null engine bug merged in v126 + # remove default engine data prior to June 2024 + IF(submission_date >= "2024-06-01", ddg_dau_w_engine_as_default, NULL) AS dau_w_engine_as_default +FROM + mobile_data_bing_ddg diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/schema.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/schema.yaml 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/schema.yaml 2024-08-01 15:01:35.000000000 +0000 @@ -0,0 +1,25 @@ +fields: + - mode: NULLABLE + name: submission_date + type: DATE + - mode: NULLABLE + name: partner + type: STRING + - mode: NULLABLE + name: device + type: STRING + - mode: NULLABLE + name: channel + type: STRING + - mode: NULLABLE + name: country + type: STRING + - mode: NULLABLE + name: dau + type: INTEGER + - mode: NULLABLE + name: dau_engaged_w_sap + type: INTEGER + - mode: NULLABLE + name: dau_w_engine_as_default + type: INTEGER ```

Link to full diff

dataops-ci-bot commented 2 months ago

Integration report for "Combine desktop + mobile DAU queries"

sql.diff

Click to expand! ```diff diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/dags/bqetl_accounts_backend_external.py /tmp/workspace/generated-sql/dags/bqetl_accounts_backend_external.py --- /tmp/workspace/main-generated-sql/dags/bqetl_accounts_backend_external.py 2024-08-01 18:16:03.000000000 +0000 +++ /tmp/workspace/generated-sql/dags/bqetl_accounts_backend_external.py 2024-08-01 18:34:14.000000000 +0000 @@ -124,18 +124,6 @@ task_concurrency=1, ) - accounts_db_external__fxa_account_groups__v1 = bigquery_etl_query( - task_id="accounts_db_external__fxa_account_groups__v1", - destination_table="fxa_account_groups_v1", - dataset_id="accounts_db_external", - project_id="moz-fx-data-shared-prod", - owner="akomar@mozilla.com", - email=["akomar@mozilla.com", "telemetry-alerts@mozilla.com"], - date_partition_parameter=None, - depends_on_past=False, - task_concurrency=1, - ) - accounts_db_external__fxa_account_reset_tokens__v1 = bigquery_etl_query( task_id="accounts_db_external__fxa_account_reset_tokens__v1", destination_table="fxa_account_reset_tokens_v1", @@ -160,18 +148,6 @@ task_concurrency=1, ) - accounts_db_external__fxa_carts__v1 = bigquery_etl_query( - task_id="accounts_db_external__fxa_carts__v1", - destination_table="fxa_carts_v1", - dataset_id="accounts_db_external", - project_id="moz-fx-data-shared-prod", - owner="akomar@mozilla.com", - email=["akomar@mozilla.com", "telemetry-alerts@mozilla.com"], - date_partition_parameter=None, - depends_on_past=False, - task_concurrency=1, - ) - accounts_db_external__fxa_db_metadata__v1 = bigquery_etl_query( task_id="accounts_db_external__fxa_db_metadata__v1", destination_table="fxa_db_metadata_v1", @@ -256,18 +232,6 @@ task_concurrency=1, ) - accounts_db_external__fxa_groups__v1 = bigquery_etl_query( - task_id="accounts_db_external__fxa_groups__v1", - destination_table="fxa_groups_v1", - dataset_id="accounts_db_external", - project_id="moz-fx-data-shared-prod", - owner="akomar@mozilla.com", - email=["akomar@mozilla.com", "telemetry-alerts@mozilla.com"], - date_partition_parameter=None, - depends_on_past=False, - task_concurrency=1, - ) - accounts_db_external__fxa_key_fetch_tokens__v1 = bigquery_etl_query( task_id="accounts_db_external__fxa_key_fetch_tokens__v1", destination_table="fxa_key_fetch_tokens_v1", @@ -604,18 +568,6 @@ task_concurrency=1, ) - accounts_db_nonprod_external__fxa_account_groups__v1 = bigquery_etl_query( - task_id="accounts_db_nonprod_external__fxa_account_groups__v1", - destination_table="fxa_account_groups_v1", - dataset_id="accounts_db_nonprod_external", - project_id="moz-fx-data-shared-prod", - owner="akomar@mozilla.com", - email=["akomar@mozilla.com", "telemetry-alerts@mozilla.com"], - date_partition_parameter=None, - depends_on_past=False, - task_concurrency=1, - ) - accounts_db_nonprod_external__fxa_account_reset_tokens__v1 = bigquery_etl_query( task_id="accounts_db_nonprod_external__fxa_account_reset_tokens__v1", destination_table="fxa_account_reset_tokens_v1", @@ -640,18 +592,6 @@ task_concurrency=1, ) - accounts_db_nonprod_external__fxa_carts__v1 = bigquery_etl_query( - task_id="accounts_db_nonprod_external__fxa_carts__v1", - destination_table="fxa_carts_v1", - dataset_id="accounts_db_nonprod_external", - project_id="moz-fx-data-shared-prod", - owner="akomar@mozilla.com", - email=["akomar@mozilla.com", "telemetry-alerts@mozilla.com"], - date_partition_parameter=None, - depends_on_past=False, - task_concurrency=1, - ) - accounts_db_nonprod_external__fxa_db_metadata__v1 = bigquery_etl_query( task_id="accounts_db_nonprod_external__fxa_db_metadata__v1", destination_table="fxa_db_metadata_v1", @@ -732,18 +672,6 @@ dataset_id="accounts_db_nonprod_external", project_id="moz-fx-data-shared-prod", owner="akomar@mozilla.com", - email=["akomar@mozilla.com", "telemetry-alerts@mozilla.com"], - date_partition_parameter=None, - depends_on_past=False, - task_concurrency=1, - ) - - accounts_db_nonprod_external__fxa_groups__v1 = bigquery_etl_query( - task_id="accounts_db_nonprod_external__fxa_groups__v1", - destination_table="fxa_groups_v1", - dataset_id="accounts_db_nonprod_external", - project_id="moz-fx-data-shared-prod", - owner="akomar@mozilla.com", email=["akomar@mozilla.com", "telemetry-alerts@mozilla.com"], date_partition_parameter=None, depends_on_past=False, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/dags/bqetl_generated_funnels.py /tmp/workspace/generated-sql/dags/bqetl_generated_funnels.py --- /tmp/workspace/main-generated-sql/dags/bqetl_generated_funnels.py 2024-08-01 18:16:03.000000000 +0000 +++ /tmp/workspace/generated-sql/dags/bqetl_generated_funnels.py 2024-08-01 18:34:15.000000000 +0000 @@ -75,18 +75,6 @@ pool="DATA_ENG_EXTERNALTASKSENSOR", ) - wait_for_accounts_backend_derived__events_stream__v1 = ExternalTaskSensor( - task_id="wait_for_accounts_backend_derived__events_stream__v1", - external_dag_id="bqetl_glean_usage", - external_task_id="accounts_backend.accounts_backend_derived__events_stream__v1", - execution_delta=datetime.timedelta(seconds=10800), - check_existence=True, - mode="reschedule", - allowed_states=ALLOWED_STATES, - failed_states=FAILED_STATES, - pool="DATA_ENG_EXTERNALTASKSENSOR", - ) - wait_for_checks__fail_fenix_derived__firefox_android_clients__v1 = ( ExternalTaskSensor( task_id="wait_for_checks__fail_fenix_derived__firefox_android_clients__v1", @@ -149,9 +137,9 @@ pool="DATA_ENG_EXTERNALTASKSENSOR", ) - accounts_frontend_derived__email_first_reg_login_funnels_by_service__v1 = bigquery_etl_query( - task_id="accounts_frontend_derived__email_first_reg_login_funnels_by_service__v1", - destination_table="email_first_reg_login_funnels_by_service_v1", + accounts_frontend_derived__email_first_reg_login_funnels__v1 = bigquery_etl_query( + task_id="accounts_frontend_derived__email_first_reg_login_funnels__v1", + destination_table="email_first_reg_login_funnels_v1", dataset_id="accounts_frontend_derived", project_id="moz-fx-data-shared-prod", owner="ksiegler@mozilla.org", @@ -164,9 +152,9 @@ depends_on_past=False, ) - accounts_frontend_derived__login_engagement_funnel__v1 = bigquery_etl_query( - task_id="accounts_frontend_derived__login_engagement_funnel__v1", - destination_table="login_engagement_funnel_v1", + accounts_frontend_derived__email_first_reg_login_funnels_by_service__v1 = bigquery_etl_query( + task_id="accounts_frontend_derived__email_first_reg_login_funnels_by_service__v1", + destination_table="email_first_reg_login_funnels_by_service_v1", dataset_id="accounts_frontend_derived", project_id="moz-fx-data-shared-prod", owner="ksiegler@mozilla.org", @@ -288,20 +276,27 @@ ) ) - accounts_frontend_derived__email_first_reg_login_funnels_by_service__v1.set_upstream( - wait_for_copy_deduplicate_all - ) - - accounts_frontend_derived__login_engagement_funnel__v1.set_upstream( - wait_for_accounts_frontend_derived__events_stream__v1 + monitor_frontend_derived__monitor_dashboard_user_journey_funnels__v1 = bigquery_etl_query( + task_id="monitor_frontend_derived__monitor_dashboard_user_journey_funnels__v1", + destination_table="monitor_dashboard_user_journey_funnels_v1", + dataset_id="monitor_frontend_derived", + project_id="moz-fx-data-shared-prod", + owner="ksiegler@mozilla.org", + email=[ + "ascholtz@mozilla.com", + "ksiegler@mozilla.org", + "telemetry-alerts@mozilla.com", + ], + date_partition_parameter="submission_date", + depends_on_past=False, ) - accounts_frontend_derived__login_funnels_by_service__v1.set_upstream( - wait_for_accounts_backend_derived__events_stream__v1 + accounts_frontend_derived__email_first_reg_login_funnels__v1.set_upstream( + wait_for_copy_deduplicate_all ) - accounts_frontend_derived__login_funnels_by_service__v1.set_upstream( - wait_for_accounts_frontend_derived__events_stream__v1 + accounts_frontend_derived__email_first_reg_login_funnels_by_service__v1.set_upstream( + wait_for_copy_deduplicate_all ) accounts_frontend_derived__login_funnels_by_service__v1.set_upstream( @@ -321,11 +316,7 @@ ) accounts_frontend_derived__registration_funnels_by_service__v1.set_upstream( - wait_for_accounts_backend_derived__events_stream__v1 - ) - - accounts_frontend_derived__registration_funnels_by_service__v1.set_upstream( - wait_for_accounts_frontend_derived__events_stream__v1 + wait_for_copy_deduplicate_all ) fenix_derived__android_onboarding__v1.set_upstream( @@ -349,3 +340,7 @@ firefox_accounts_derived__registration_funnels_legacy_events__v1.set_upstream( wait_for_firefox_accounts_derived__fxa_stdout_events__v1 ) + + monitor_frontend_derived__monitor_dashboard_user_journey_funnels__v1.set_upstream( + wait_for_copy_deduplicate_all + ) diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/dags/bqetl_google_analytics_derived_ga4.py /tmp/workspace/generated-sql/dags/bqetl_google_analytics_derived_ga4.py --- /tmp/workspace/main-generated-sql/dags/bqetl_google_analytics_derived_ga4.py 2024-08-01 18:16:03.000000000 +0000 +++ /tmp/workspace/generated-sql/dags/bqetl_google_analytics_derived_ga4.py 2024-08-01 18:34:16.000000000 +0000 @@ -386,17 +386,6 @@ parameters=["conversion_window:INT64:30"], ) - mozilla_org_derived__www_site_downloads__v2 = bigquery_etl_query( - task_id="mozilla_org_derived__www_site_downloads__v2", - destination_table="www_site_downloads_v2", - dataset_id="mozilla_org_derived", - project_id="moz-fx-data-shared-prod", - owner="kwindau@mozilla.com", - email=["kwindau@mozilla.com", "telemetry-alerts@mozilla.com"], - date_partition_parameter="submission_date", - depends_on_past=False, - ) - mozilla_vpn_derived__site_metrics_summary__v2 = bigquery_etl_query( task_id="mozilla_vpn_derived__site_metrics_summary__v2", destination_table="site_metrics_summary_v2", @@ -484,8 +473,6 @@ wait_for_telemetry_derived__clients_daily__v6 ) - mozilla_org_derived__www_site_downloads__v2.set_upstream(wait_for_wmo_events_table) - mozilla_vpn_derived__site_metrics_summary__v2.set_upstream( wait_for_wmo_events_table ) diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/dags/bqetl_mobile_kpi_metrics.py /tmp/workspace/generated-sql/dags/bqetl_mobile_kpi_metrics.py --- /tmp/workspace/main-generated-sql/dags/bqetl_mobile_kpi_metrics.py 2024-08-01 18:16:03.000000000 +0000 +++ /tmp/workspace/generated-sql/dags/bqetl_mobile_kpi_metrics.py 2024-08-01 18:34:16.000000000 +0000 @@ -62,78 +62,6 @@ task_group_klar_ios = TaskGroup("klar_ios") - wait_for_copy_deduplicate_all = ExternalTaskSensor( - task_id="wait_for_copy_deduplicate_all", - external_dag_id="copy_deduplicate", - external_task_id="copy_deduplicate_all", - execution_delta=datetime.timedelta(seconds=39600), - check_existence=True, - mode="reschedule", - allowed_states=ALLOWED_STATES, - failed_states=FAILED_STATES, - pool="DATA_ENG_EXTERNALTASKSENSOR", - ) - - wait_for_org_mozilla_fenix_derived__baseline_clients_daily__v1 = ExternalTaskSensor( - task_id="wait_for_org_mozilla_fenix_derived__baseline_clients_daily__v1", - external_dag_id="bqetl_glean_usage", - external_task_id="fenix.org_mozilla_fenix_derived__baseline_clients_daily__v1", - execution_delta=datetime.timedelta(seconds=36000), - check_existence=True, - mode="reschedule", - allowed_states=ALLOWED_STATES, - failed_states=FAILED_STATES, - pool="DATA_ENG_EXTERNALTASKSENSOR", - ) - - wait_for_org_mozilla_fenix_nightly_derived__baseline_clients_daily__v1 = ExternalTaskSensor( - task_id="wait_for_org_mozilla_fenix_nightly_derived__baseline_clients_daily__v1", - external_dag_id="bqetl_glean_usage", - external_task_id="fenix.org_mozilla_fenix_nightly_derived__baseline_clients_daily__v1", - execution_delta=datetime.timedelta(seconds=36000), - check_existence=True, - mode="reschedule", - allowed_states=ALLOWED_STATES, - failed_states=FAILED_STATES, - pool="DATA_ENG_EXTERNALTASKSENSOR", - ) - - wait_for_org_mozilla_fennec_aurora_derived__baseline_clients_daily__v1 = ExternalTaskSensor( - task_id="wait_for_org_mozilla_fennec_aurora_derived__baseline_clients_daily__v1", - external_dag_id="bqetl_glean_usage", - external_task_id="fenix.org_mozilla_fennec_aurora_derived__baseline_clients_daily__v1", - execution_delta=datetime.timedelta(seconds=36000), - check_existence=True, - mode="reschedule", - allowed_states=ALLOWED_STATES, - failed_states=FAILED_STATES, - pool="DATA_ENG_EXTERNALTASKSENSOR", - ) - - wait_for_org_mozilla_firefox_beta_derived__baseline_clients_daily__v1 = ExternalTaskSensor( - task_id="wait_for_org_mozilla_firefox_beta_derived__baseline_clients_daily__v1", - external_dag_id="bqetl_glean_usage", - external_task_id="fenix.org_mozilla_firefox_beta_derived__baseline_clients_daily__v1", - execution_delta=datetime.timedelta(seconds=36000), - check_existence=True, - mode="reschedule", - allowed_states=ALLOWED_STATES, - failed_states=FAILED_STATES, - pool="DATA_ENG_EXTERNALTASKSENSOR", - ) - - wait_for_org_mozilla_firefox_derived__baseline_clients_daily__v1 = ExternalTaskSensor( - task_id="wait_for_org_mozilla_firefox_derived__baseline_clients_daily__v1", - external_dag_id="bqetl_glean_usage", - external_task_id="fenix.org_mozilla_firefox_derived__baseline_clients_daily__v1", - execution_delta=datetime.timedelta(seconds=36000), - check_existence=True, - mode="reschedule", - allowed_states=ALLOWED_STATES, - failed_states=FAILED_STATES, - pool="DATA_ENG_EXTERNALTASKSENSOR", - ) - wait_for_checks__fail_fenix_derived__firefox_android_clients__v1 = ( ExternalTaskSensor( task_id="wait_for_checks__fail_fenix_derived__firefox_android_clients__v1", @@ -208,10 +136,10 @@ pool="DATA_ENG_EXTERNALTASKSENSOR", ) - wait_for_org_mozilla_ios_fennec_derived__baseline_clients_daily__v1 = ExternalTaskSensor( - task_id="wait_for_org_mozilla_ios_fennec_derived__baseline_clients_daily__v1", + wait_for_org_mozilla_fenix_derived__baseline_clients_daily__v1 = ExternalTaskSensor( + task_id="wait_for_org_mozilla_fenix_derived__baseline_clients_daily__v1", external_dag_id="bqetl_glean_usage", - external_task_id="firefox_ios.org_mozilla_ios_fennec_derived__baseline_clients_daily__v1", + external_task_id="fenix.org_mozilla_fenix_derived__baseline_clients_daily__v1", execution_delta=datetime.timedelta(seconds=36000), check_existence=True, mode="reschedule", @@ -220,10 +148,10 @@ pool="DATA_ENG_EXTERNALTASKSENSOR", ) - wait_for_org_mozilla_ios_firefox_derived__baseline_clients_daily__v1 = ExternalTaskSensor( - task_id="wait_for_org_mozilla_ios_firefox_derived__baseline_clients_daily__v1", + wait_for_org_mozilla_fenix_nightly_derived__baseline_clients_daily__v1 = ExternalTaskSensor( + task_id="wait_for_org_mozilla_fenix_nightly_derived__baseline_clients_daily__v1", external_dag_id="bqetl_glean_usage", - external_task_id="firefox_ios.org_mozilla_ios_firefox_derived__baseline_clients_daily__v1", + external_task_id="fenix.org_mozilla_fenix_nightly_derived__baseline_clients_daily__v1", execution_delta=datetime.timedelta(seconds=36000), check_existence=True, mode="reschedule", @@ -232,10 +160,34 @@ pool="DATA_ENG_EXTERNALTASKSENSOR", ) - wait_for_org_mozilla_ios_firefoxbeta_derived__baseline_clients_daily__v1 = ExternalTaskSensor( - task_id="wait_for_org_mozilla_ios_firefoxbeta_derived__baseline_clients_daily__v1", + wait_for_org_mozilla_fennec_aurora_derived__baseline_clients_daily__v1 = ExternalTaskSensor( + task_id="wait_for_org_mozilla_fennec_aurora_derived__baseline_clients_daily__v1", external_dag_id="bqetl_glean_usage", - external_task_id="firefox_ios.org_mozilla_ios_firefoxbeta_derived__baseline_clients_daily__v1", + external_task_id="fenix.org_mozilla_fennec_aurora_derived__baseline_clients_daily__v1", + execution_delta=datetime.timedelta(seconds=36000), + check_existence=True, + mode="reschedule", + allowed_states=ALLOWED_STATES, + failed_states=FAILED_STATES, + pool="DATA_ENG_EXTERNALTASKSENSOR", + ) + + wait_for_org_mozilla_firefox_beta_derived__baseline_clients_daily__v1 = ExternalTaskSensor( + task_id="wait_for_org_mozilla_firefox_beta_derived__baseline_clients_daily__v1", + external_dag_id="bqetl_glean_usage", + external_task_id="fenix.org_mozilla_firefox_beta_derived__baseline_clients_daily__v1", + execution_delta=datetime.timedelta(seconds=36000), + check_existence=True, + mode="reschedule", + allowed_states=ALLOWED_STATES, + failed_states=FAILED_STATES, + pool="DATA_ENG_EXTERNALTASKSENSOR", + ) + + wait_for_org_mozilla_firefox_derived__baseline_clients_daily__v1 = ExternalTaskSensor( + task_id="wait_for_org_mozilla_firefox_derived__baseline_clients_daily__v1", + external_dag_id="bqetl_glean_usage", + external_task_id="fenix.org_mozilla_firefox_derived__baseline_clients_daily__v1", execution_delta=datetime.timedelta(seconds=36000), check_existence=True, mode="reschedule", @@ -292,10 +244,10 @@ pool="DATA_ENG_EXTERNALTASKSENSOR", ) - wait_for_org_mozilla_focus_beta_derived__baseline_clients_daily__v1 = ExternalTaskSensor( - task_id="wait_for_org_mozilla_focus_beta_derived__baseline_clients_daily__v1", + wait_for_org_mozilla_ios_fennec_derived__baseline_clients_daily__v1 = ExternalTaskSensor( + task_id="wait_for_org_mozilla_ios_fennec_derived__baseline_clients_daily__v1", external_dag_id="bqetl_glean_usage", - external_task_id="focus_android.org_mozilla_focus_beta_derived__baseline_clients_daily__v1", + external_task_id="firefox_ios.org_mozilla_ios_fennec_derived__baseline_clients_daily__v1", execution_delta=datetime.timedelta(seconds=36000), check_existence=True, mode="reschedule", @@ -304,10 +256,10 @@ pool="DATA_ENG_EXTERNALTASKSENSOR", ) - wait_for_org_mozilla_focus_derived__baseline_clients_daily__v1 = ExternalTaskSensor( - task_id="wait_for_org_mozilla_focus_derived__baseline_clients_daily__v1", + wait_for_org_mozilla_ios_firefox_derived__baseline_clients_daily__v1 = ExternalTaskSensor( + task_id="wait_for_org_mozilla_ios_firefox_derived__baseline_clients_daily__v1", external_dag_id="bqetl_glean_usage", - external_task_id="focus_android.org_mozilla_focus_derived__baseline_clients_daily__v1", + external_task_id="firefox_ios.org_mozilla_ios_firefox_derived__baseline_clients_daily__v1", execution_delta=datetime.timedelta(seconds=36000), check_existence=True, mode="reschedule", @@ -316,10 +268,10 @@ pool="DATA_ENG_EXTERNALTASKSENSOR", ) - wait_for_org_mozilla_focus_nightly_derived__baseline_clients_daily__v1 = ExternalTaskSensor( - task_id="wait_for_org_mozilla_focus_nightly_derived__baseline_clients_daily__v1", + wait_for_org_mozilla_ios_firefoxbeta_derived__baseline_clients_daily__v1 = ExternalTaskSensor( + task_id="wait_for_org_mozilla_ios_firefoxbeta_derived__baseline_clients_daily__v1", external_dag_id="bqetl_glean_usage", - external_task_id="focus_android.org_mozilla_focus_nightly_derived__baseline_clients_daily__v1", + external_task_id="firefox_ios.org_mozilla_ios_firefoxbeta_derived__baseline_clients_daily__v1", execution_delta=datetime.timedelta(seconds=36000), check_existence=True, mode="reschedule", @@ -364,10 +316,34 @@ pool="DATA_ENG_EXTERNALTASKSENSOR", ) - wait_for_org_mozilla_ios_focus_derived__baseline_clients_daily__v1 = ExternalTaskSensor( - task_id="wait_for_org_mozilla_ios_focus_derived__baseline_clients_daily__v1", + wait_for_org_mozilla_focus_beta_derived__baseline_clients_daily__v1 = ExternalTaskSensor( + task_id="wait_for_org_mozilla_focus_beta_derived__baseline_clients_daily__v1", external_dag_id="bqetl_glean_usage", - external_task_id="focus_ios.org_mozilla_ios_focus_derived__baseline_clients_daily__v1", + external_task_id="focus_android.org_mozilla_focus_beta_derived__baseline_clients_daily__v1", + execution_delta=datetime.timedelta(seconds=36000), + check_existence=True, + mode="reschedule", + allowed_states=ALLOWED_STATES, + failed_states=FAILED_STATES, + pool="DATA_ENG_EXTERNALTASKSENSOR", + ) + + wait_for_org_mozilla_focus_derived__baseline_clients_daily__v1 = ExternalTaskSensor( + task_id="wait_for_org_mozilla_focus_derived__baseline_clients_daily__v1", + external_dag_id="bqetl_glean_usage", + external_task_id="focus_android.org_mozilla_focus_derived__baseline_clients_daily__v1", + execution_delta=datetime.timedelta(seconds=36000), + check_existence=True, + mode="reschedule", + allowed_states=ALLOWED_STATES, + failed_states=FAILED_STATES, + pool="DATA_ENG_EXTERNALTASKSENSOR", + ) + + wait_for_org_mozilla_focus_nightly_derived__baseline_clients_daily__v1 = ExternalTaskSensor( + task_id="wait_for_org_mozilla_focus_nightly_derived__baseline_clients_daily__v1", + external_dag_id="bqetl_glean_usage", + external_task_id="focus_android.org_mozilla_focus_nightly_derived__baseline_clients_daily__v1", execution_delta=datetime.timedelta(seconds=36000), check_existence=True, mode="reschedule", @@ -388,10 +364,10 @@ pool="DATA_ENG_EXTERNALTASKSENSOR", ) - wait_for_org_mozilla_klar_derived__baseline_clients_daily__v1 = ExternalTaskSensor( - task_id="wait_for_org_mozilla_klar_derived__baseline_clients_daily__v1", + wait_for_org_mozilla_ios_focus_derived__baseline_clients_daily__v1 = ExternalTaskSensor( + task_id="wait_for_org_mozilla_ios_focus_derived__baseline_clients_daily__v1", external_dag_id="bqetl_glean_usage", - external_task_id="klar_android.org_mozilla_klar_derived__baseline_clients_daily__v1", + external_task_id="focus_ios.org_mozilla_ios_focus_derived__baseline_clients_daily__v1", execution_delta=datetime.timedelta(seconds=36000), check_existence=True, mode="reschedule", @@ -412,10 +388,10 @@ pool="DATA_ENG_EXTERNALTASKSENSOR", ) - wait_for_org_mozilla_ios_klar_derived__baseline_clients_daily__v1 = ExternalTaskSensor( - task_id="wait_for_org_mozilla_ios_klar_derived__baseline_clients_daily__v1", + wait_for_org_mozilla_klar_derived__baseline_clients_daily__v1 = ExternalTaskSensor( + task_id="wait_for_org_mozilla_klar_derived__baseline_clients_daily__v1", external_dag_id="bqetl_glean_usage", - external_task_id="klar_ios.org_mozilla_ios_klar_derived__baseline_clients_daily__v1", + external_task_id="klar_android.org_mozilla_klar_derived__baseline_clients_daily__v1", execution_delta=datetime.timedelta(seconds=36000), check_existence=True, mode="reschedule", @@ -436,18 +412,16 @@ pool="DATA_ENG_EXTERNALTASKSENSOR", ) - checks__warn_fenix_derived__attribution_clients__v1 = bigquery_dq_check( - task_id="checks__warn_fenix_derived__attribution_clients__v1", - source_table="attribution_clients_v1", - dataset_id="fenix_derived", - project_id="moz-fx-data-shared-prod", - is_dq_check_fail=False, - owner="mozilla/kpi_table_reviewers", - email=["kik@mozilla.com", "telemetry-alerts@mozilla.com"], - depends_on_past=False, - parameters=["submission_date:DATE:{{ds}}"], - retries=0, - task_group=task_group_fenix, + wait_for_org_mozilla_ios_klar_derived__baseline_clients_daily__v1 = ExternalTaskSensor( + task_id="wait_for_org_mozilla_ios_klar_derived__baseline_clients_daily__v1", + external_dag_id="bqetl_glean_usage", + external_task_id="klar_ios.org_mozilla_ios_klar_derived__baseline_clients_daily__v1", + execution_delta=datetime.timedelta(seconds=36000), + check_existence=True, + mode="reschedule", + allowed_states=ALLOWED_STATES, + failed_states=FAILED_STATES, + pool="DATA_ENG_EXTERNALTASKSENSOR", ) checks__warn_fenix_derived__engagement__v1 = bigquery_dq_check( @@ -479,20 +453,6 @@ task_group=task_group_fenix, ) - checks__warn_firefox_ios_derived__attribution_clients__v1 = bigquery_dq_check( - task_id="checks__warn_firefox_ios_derived__attribution_clients__v1", - source_table="attribution_clients_v1", - dataset_id="firefox_ios_derived", - project_id="moz-fx-data-shared-prod", - is_dq_check_fail=False, - owner="mozilla/kpi_table_reviewers", - email=["kik@mozilla.com", "telemetry-alerts@mozilla.com"], - depends_on_past=False, - parameters=["submission_date:DATE:{{ds}}"], - retries=0, - task_group=task_group_firefox_ios, - ) - checks__warn_firefox_ios_derived__engagement__v1 = bigquery_dq_check( task_id="checks__warn_firefox_ios_derived__engagement__v1", source_table="engagement_v1", @@ -522,20 +482,6 @@ task_group=task_group_firefox_ios, ) - checks__warn_focus_android_derived__attribution_clients__v1 = bigquery_dq_check( - task_id="checks__warn_focus_android_derived__attribution_clients__v1", - source_table="attribution_clients_v1", - dataset_id="focus_android_derived", - project_id="moz-fx-data-shared-prod", - is_dq_check_fail=False, - owner="mozilla/kpi_table_reviewers", - email=["kik@mozilla.com", "telemetry-alerts@mozilla.com"], - depends_on_past=False, - parameters=["submission_date:DATE:{{ds}}"], - retries=0, - task_group=task_group_focus_android, - ) - checks__warn_focus_android_derived__engagement__v1 = bigquery_dq_check( task_id="checks__warn_focus_android_derived__engagement__v1", source_table="engagement_v1", @@ -565,20 +511,6 @@ task_group=task_group_focus_android, ) - checks__warn_focus_ios_derived__attribution_clients__v1 = bigquery_dq_check( - task_id="checks__warn_focus_ios_derived__attribution_clients__v1", - source_table="attribution_clients_v1", - dataset_id="focus_ios_derived", - project_id="moz-fx-data-shared-prod", - is_dq_check_fail=False, - owner="mozilla/kpi_table_reviewers", - email=["kik@mozilla.com", "telemetry-alerts@mozilla.com"], - depends_on_past=False, - parameters=["submission_date:DATE:{{ds}}"], - retries=0, - task_group=task_group_focus_ios, - ) - checks__warn_focus_ios_derived__engagement__v1 = bigquery_dq_check( task_id="checks__warn_focus_ios_derived__engagement__v1", source_table="engagement_v1", @@ -608,20 +540,6 @@ task_group=task_group_focus_ios, ) - checks__warn_klar_android_derived__attribution_clients__v1 = bigquery_dq_check( - task_id="checks__warn_klar_android_derived__attribution_clients__v1", - source_table="attribution_clients_v1", - dataset_id="klar_android_derived", - project_id="moz-fx-data-shared-prod", - is_dq_check_fail=False, - owner="mozilla/kpi_table_reviewers", - email=["kik@mozilla.com", "telemetry-alerts@mozilla.com"], - depends_on_past=False, - parameters=["submission_date:DATE:{{ds}}"], - retries=0, - task_group=task_group_klar_android, - ) - checks__warn_klar_android_derived__engagement__v1 = bigquery_dq_check( task_id="checks__warn_klar_android_derived__engagement__v1", source_table="engagement_v1", @@ -651,20 +569,6 @@ task_group=task_group_klar_android, ) - checks__warn_klar_ios_derived__attribution_clients__v1 = bigquery_dq_check( - task_id="checks__warn_klar_ios_derived__attribution_clients__v1", - source_table="attribution_clients_v1", - dataset_id="klar_ios_derived", - project_id="moz-fx-data-shared-prod", - is_dq_check_fail=False, - owner="mozilla/kpi_table_reviewers", - email=["kik@mozilla.com", "telemetry-alerts@mozilla.com"], - depends_on_past=False, - parameters=["submission_date:DATE:{{ds}}"], - retries=0, - task_group=task_group_klar_ios, - ) - checks__warn_klar_ios_derived__engagement__v1 = bigquery_dq_check( task_id="checks__warn_klar_ios_derived__engagement__v1", source_table="engagement_v1", @@ -694,18 +598,6 @@ task_group=task_group_klar_ios, ) - fenix_derived__attribution_clients__v1 = bigquery_etl_query( - task_id="fenix_derived__attribution_clients__v1", - destination_table="attribution_clients_v1", - dataset_id="fenix_derived", - project_id="moz-fx-data-shared-prod", - owner="mozilla/kpi_table_reviewers", - email=["kik@mozilla.com", "telemetry-alerts@mozilla.com"], - date_partition_parameter="submission_date", - depends_on_past=False, - task_group=task_group_fenix, - ) - fenix_derived__engagement__v1 = bigquery_etl_query( task_id="fenix_derived__engagement__v1", destination_table="engagement_v1", @@ -732,18 +624,6 @@ task_group=task_group_fenix, ) - firefox_ios_derived__attribution_clients__v1 = bigquery_etl_query( - task_id="firefox_ios_derived__attribution_clients__v1", - destination_table="attribution_clients_v1", - dataset_id="firefox_ios_derived", - project_id="moz-fx-data-shared-prod", - owner="mozilla/kpi_table_reviewers", - email=["kik@mozilla.com", "telemetry-alerts@mozilla.com"], - date_partition_parameter="submission_date", - depends_on_past=False, - task_group=task_group_firefox_ios, - ) - firefox_ios_derived__engagement__v1 = bigquery_etl_query( task_id="firefox_ios_derived__engagement__v1", destination_table="engagement_v1", @@ -770,18 +650,6 @@ task_group=task_group_firefox_ios, ) - focus_android_derived__attribution_clients__v1 = bigquery_etl_query( - task_id="focus_android_derived__attribution_clients__v1", - destination_table="attribution_clients_v1", - dataset_id="focus_android_derived", - project_id="moz-fx-data-shared-prod", - owner="mozilla/kpi_table_reviewers", - email=["kik@mozilla.com", "telemetry-alerts@mozilla.com"], - date_partition_parameter="submission_date", - depends_on_past=False, - task_group=task_group_focus_android, - ) - focus_android_derived__engagement__v1 = bigquery_etl_query( task_id="focus_android_derived__engagement__v1", destination_table="engagement_v1", @@ -808,18 +676,6 @@ task_group=task_group_focus_android, ) - focus_ios_derived__attribution_clients__v1 = bigquery_etl_query( - task_id="focus_ios_derived__attribution_clients__v1", - destination_table="attribution_clients_v1", - dataset_id="focus_ios_derived", - project_id="moz-fx-data-shared-prod", - owner="mozilla/kpi_table_reviewers", - email=["kik@mozilla.com", "telemetry-alerts@mozilla.com"], - date_partition_parameter="submission_date", - depends_on_past=False, - task_group=task_group_focus_ios, - ) - focus_ios_derived__engagement__v1 = bigquery_etl_query( task_id="focus_ios_derived__engagement__v1", destination_table="engagement_v1", @@ -846,18 +702,6 @@ task_group=task_group_focus_ios, ) - klar_android_derived__attribution_clients__v1 = bigquery_etl_query( - task_id="klar_android_derived__attribution_clients__v1", - destination_table="attribution_clients_v1", - dataset_id="klar_android_derived", - project_id="moz-fx-data-shared-prod", - owner="mozilla/kpi_table_reviewers", - email=["kik@mozilla.com", "telemetry-alerts@mozilla.com"], - date_partition_parameter="submission_date", - depends_on_past=False, - task_group=task_group_klar_android, - ) - klar_android_derived__engagement__v1 = bigquery_etl_query( task_id="klar_android_derived__engagement__v1", destination_table="engagement_v1", @@ -884,18 +728,6 @@ task_group=task_group_klar_android, ) - klar_ios_derived__attribution_clients__v1 = bigquery_etl_query( - task_id="klar_ios_derived__attribution_clients__v1", - destination_table="attribution_clients_v1", - dataset_id="klar_ios_derived", - project_id="moz-fx-data-shared-prod", - owner="mozilla/kpi_table_reviewers", - email=["kik@mozilla.com", "telemetry-alerts@mozilla.com"], - date_partition_parameter="submission_date", - depends_on_past=False, - task_group=task_group_klar_ios, - ) - klar_ios_derived__engagement__v1 = bigquery_etl_query( task_id="klar_ios_derived__engagement__v1", destination_table="engagement_v1", @@ -922,20 +754,12 @@ task_group=task_group_klar_ios, ) - checks__warn_fenix_derived__attribution_clients__v1.set_upstream( - fenix_derived__attribution_clients__v1 - ) - checks__warn_fenix_derived__engagement__v1.set_upstream( fenix_derived__engagement__v1 ) checks__warn_fenix_derived__retention__v1.set_upstream(fenix_derived__retention__v1) - checks__warn_firefox_ios_derived__attribution_clients__v1.set_upstream( - firefox_ios_derived__attribution_clients__v1 - ) - checks__warn_firefox_ios_derived__engagement__v1.set_upstream( firefox_ios_derived__engagement__v1 ) @@ -944,10 +768,6 @@ firefox_ios_derived__retention__v1 ) - checks__warn_focus_android_derived__attribution_clients__v1.set_upstream( - focus_android_derived__attribution_clients__v1 - ) - checks__warn_focus_android_derived__engagement__v1.set_upstream( focus_android_derived__engagement__v1 ) @@ -956,10 +776,6 @@ focus_android_derived__retention__v1 ) - checks__warn_focus_ios_derived__attribution_clients__v1.set_upstream( - focus_ios_derived__attribution_clients__v1 - ) - checks__warn_focus_ios_derived__engagement__v1.set_upstream( focus_ios_derived__engagement__v1 ) @@ -968,10 +784,6 @@ focus_ios_derived__retention__v1 ) - checks__warn_klar_android_derived__attribution_clients__v1.set_upstream( - klar_android_derived__attribution_clients__v1 - ) - checks__warn_klar_android_derived__engagement__v1.set_upstream( klar_android_derived__engagement__v1 ) @@ -980,10 +792,6 @@ klar_android_derived__retention__v1 ) - checks__warn_klar_ios_derived__attribution_clients__v1.set_upstream( - klar_ios_derived__attribution_clients__v1 - ) - checks__warn_klar_ios_derived__engagement__v1.set_upstream( klar_ios_derived__engagement__v1 ) @@ -992,28 +800,6 @@ klar_ios_derived__retention__v1 ) - fenix_derived__attribution_clients__v1.set_upstream(wait_for_copy_deduplicate_all) - - fenix_derived__attribution_clients__v1.set_upstream( - wait_for_org_mozilla_fenix_derived__baseline_clients_daily__v1 - ) - - fenix_derived__attribution_clients__v1.set_upstream( - wait_for_org_mozilla_fenix_nightly_derived__baseline_clients_daily__v1 - ) - - fenix_derived__attribution_clients__v1.set_upstream( - wait_for_org_mozilla_fennec_aurora_derived__baseline_clients_daily__v1 - ) - - fenix_derived__attribution_clients__v1.set_upstream( - wait_for_org_mozilla_firefox_beta_derived__baseline_clients_daily__v1 - ) - - fenix_derived__attribution_clients__v1.set_upstream( - wait_for_org_mozilla_firefox_derived__baseline_clients_daily__v1 - ) - fenix_derived__engagement__v1.set_upstream( wait_for_checks__fail_fenix_derived__firefox_android_clients__v1 ) @@ -1082,22 +868,6 @@ wait_for_org_mozilla_firefox_derived__baseline_clients_daily__v1 ) - firefox_ios_derived__attribution_clients__v1.set_upstream( - wait_for_copy_deduplicate_all - ) - - firefox_ios_derived__attribution_clients__v1.set_upstream( - wait_for_org_mozilla_ios_fennec_derived__baseline_clients_daily__v1 - ) - - firefox_ios_derived__attribution_clients__v1.set_upstream( - wait_for_org_mozilla_ios_firefox_derived__baseline_clients_daily__v1 - ) - - firefox_ios_derived__attribution_clients__v1.set_upstream( - wait_for_org_mozilla_ios_firefoxbeta_derived__baseline_clients_daily__v1 - ) - firefox_ios_derived__engagement__v1.set_upstream( wait_for_checks__fail_firefox_ios_derived__firefox_ios_clients__v1 ) @@ -1142,18 +912,6 @@ wait_for_org_mozilla_ios_firefoxbeta_derived__baseline_clients_daily__v1 ) - focus_android_derived__attribution_clients__v1.set_upstream( - wait_for_org_mozilla_focus_beta_derived__baseline_clients_daily__v1 - ) - - focus_android_derived__attribution_clients__v1.set_upstream( - wait_for_org_mozilla_focus_derived__baseline_clients_daily__v1 - ) - - focus_android_derived__attribution_clients__v1.set_upstream( - wait_for_org_mozilla_focus_nightly_derived__baseline_clients_daily__v1 - ) - focus_android_derived__engagement__v1.set_upstream( wait_for_checks__fail_org_mozilla_focus_beta_derived__baseline_clients_last_seen__v1 ) @@ -1190,10 +948,6 @@ wait_for_org_mozilla_focus_nightly_derived__baseline_clients_daily__v1 ) - focus_ios_derived__attribution_clients__v1.set_upstream( - wait_for_org_mozilla_ios_focus_derived__baseline_clients_daily__v1 - ) - focus_ios_derived__engagement__v1.set_upstream( wait_for_checks__fail_org_mozilla_ios_focus_derived__baseline_clients_last_seen__v1 ) @@ -1206,10 +960,6 @@ wait_for_org_mozilla_ios_focus_derived__baseline_clients_daily__v1 ) - klar_android_derived__attribution_clients__v1.set_upstream( - wait_for_org_mozilla_klar_derived__baseline_clients_daily__v1 - ) - klar_android_derived__engagement__v1.set_upstream( wait_for_checks__fail_org_mozilla_klar_derived__baseline_clients_last_seen__v1 ) @@ -1222,10 +972,6 @@ wait_for_org_mozilla_klar_derived__baseline_clients_daily__v1 ) - klar_ios_derived__attribution_clients__v1.set_upstream( - wait_for_org_mozilla_ios_klar_derived__baseline_clients_daily__v1 - ) - klar_ios_derived__engagement__v1.set_upstream( wait_for_checks__fail_org_mozilla_ios_klar_derived__baseline_clients_last_seen__v1 ) diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/dags/bqetl_search_dashboard.py /tmp/workspace/generated-sql/dags/bqetl_search_dashboard.py --- /tmp/workspace/main-generated-sql/dags/bqetl_search_dashboard.py 2024-08-01 18:16:03.000000000 +0000 +++ /tmp/workspace/generated-sql/dags/bqetl_search_dashboard.py 2024-08-01 18:34:13.000000000 +0000 @@ -323,6 +323,17 @@ depends_on_past=False, ) + search_derived__search_dau_aggregates__v1 = bigquery_etl_query( + task_id="search_derived__search_dau_aggregates__v1", + destination_table="search_dau_aggregates_v1", + dataset_id="search_derived", + project_id="moz-fx-data-shared-prod", + owner="mozilla/revenue_forecasting_data_reviewers", + email=["akomar@mozilla.com", "telemetry-alerts@mozilla.com"], + date_partition_parameter="submission_date", + depends_on_past=False, + ) + search_derived__search_revenue_levers_daily__v1 = bigquery_etl_query( task_id="search_derived__search_revenue_levers_daily__v1", destination_table="search_revenue_levers_daily_v1", @@ -346,6 +357,74 @@ wait_for_search_derived__mobile_search_clients_daily__v1 ) + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_fenix_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_fenix_nightly_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_fennec_aurora_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_firefox_beta_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_firefox_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_focus_beta_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_focus_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_focus_nightly_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_fennec_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_firefox_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_firefoxbeta_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_focus_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_klar_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_klar_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_telemetry_derived__clients_last_seen__v2 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_copy_deduplicate_all + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_search_derived__search_clients_daily__v8 + ) + search_derived__search_revenue_levers_daily__v1.set_upstream( wait_for_checks__fail_org_mozilla_fenix_derived__baseline_clients_last_seen__v1 ) Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external: fxa_account_groups_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external: fxa_carts_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external: fxa_groups_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_nonprod_external: fxa_account_groups_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_nonprod_external: fxa_carts_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_nonprod_external: fxa_groups_v1 Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_frontend_derived: email_first_reg_login_funnels_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_frontend_derived: login_engagement_funnel_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix: attribution_clients Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix_derived: attribution_clients_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_ios: attribution_clients Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_ios_derived: attribution_clients_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/focus_android: attribution_clients Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/focus_android_derived: attribution_clients_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/focus_ios: attribution_clients Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/focus_ios_derived: attribution_clients_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/klar_android: attribution_clients Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/klar_android_derived: attribution_clients_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/klar_ios: attribution_clients Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/klar_ios_derived: attribution_clients_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/mozilla_org: www_site_downloads Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/mozilla_org_derived: www_site_downloads_v2 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod: phabricator_metrics Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search: search_dau_aggregates Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived: search_dau_aggregates_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry: mobile_attribution_clients Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived: glam_client_probe_counts_extract_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/glam_extract_firefox_beta_v1: query.sql Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/glam_extract_firefox_beta_v1: schema.yaml Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/glam_extract_firefox_nightly_v1: query.sql Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/glam_extract_firefox_nightly_v1: schema.yaml Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/glam_extract_firefox_release_v1: query.sql Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/glam_extract_firefox_release_v1: schema.yaml diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/users_services_daily_v1/checks.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/users_services_daily_v1/checks.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/users_services_daily_v1/checks.sql 2024-08-01 18:09:50.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/users_services_daily_v1/checks.sql 2024-08-01 18:10:20.000000000 +0000 @@ -110,8 +110,6 @@ USING (day, event_name) WHERE event_name IS NOT NULL - -- glean_page_load events are automatically sent only in `events` ping - AND event_name != 'glean_page_load' -- fix in progress in https://github.com/mozilla/fxa/pull/17218 -- will be removed from here when this lands in production AND event_name NOT IN ( @@ -148,7 +146,7 @@ OR ABS(events_new.count_new - events_old.count_old) / LEAST( events_new.count_new, events_old.count_old - ) > 0.1 -- low-volume events can have higher relative discrepancies + ) > 0.05 ) ) SELECT diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_account_groups_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_account_groups_v1/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_account_groups_v1/metadata.yaml 2024-08-01 18:11:45.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_account_groups_v1/metadata.yaml 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -friendly_name: accountGroups table from production fxa database -description: | - A mirror of the `accountGroups` table from the production `fxa` CloudSQL database, excluding columns containing confidential data, updated daily to match the current state of the table. - See https://mozilla.github.io/ecosystem-platform/reference/database-structure#database-fxa -owners: -- akomar@mozilla.com -labels: - application: accounts_backend - schedule: daily - dag: bqetl_accounts_backend_external - owner1: akomar -scheduling: - dag_name: bqetl_accounts_backend_external - date_partition_parameter: null -bigquery: null -workgroup_access: -- role: roles/bigquery.dataViewer - members: - - workgroup:accounts-confidential -references: - query.sql: - - EXTERNAL_QUERY('moz-fx-fxa-prod.us.fxa-rds-prod-prod-fxa', 'SELECT\n uid,\n group_id,\n role,\n managed_by,\n expires,\n notes\n FROM\n fxa.accountGroups\n ') diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_account_groups_v1/query.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_account_groups_v1/query.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_account_groups_v1/query.sql 2024-08-01 18:09:50.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_account_groups_v1/query.sql 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -SELECT - TO_HEX(uid) AS uid, - group_id, - role, - managed_by, - SAFE.TIMESTAMP_MILLIS(SAFE_CAST(expires AS INT)) AS expires, - notes, -FROM - EXTERNAL_QUERY( - "moz-fx-fxa-prod.us.fxa-rds-prod-prod-fxa", - """SELECT - uid, - group_id, - role, - managed_by, - expires, - notes - FROM - fxa.accountGroups - """ - ) diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_account_groups_v1/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_account_groups_v1/schema.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_account_groups_v1/schema.yaml 2024-08-01 18:09:50.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_account_groups_v1/schema.yaml 1970-01-01 00:00:00.000000000 +0000 @@ -1,20 +0,0 @@ -fields: -- name: uid - type: STRING - mode: NULLABLE - description: Account ID in hexadecimal format. -- name: group_id - type: INTEGER - mode: NULLABLE -- name: role - type: STRING - mode: NULLABLE -- name: managed_by - type: STRING - mode: NULLABLE -- name: expires - type: TIMESTAMP - mode: NULLABLE -- name: notes - type: STRING - mode: NULLABLE diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_accounts_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_accounts_v1/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_accounts_v1/metadata.yaml 2024-08-01 18:11:45.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_accounts_v1/metadata.yaml 2024-08-01 18:29:22.000000000 +0000 @@ -19,4 +19,4 @@ - workgroup:accounts-confidential references: query.sql: - - EXTERNAL_QUERY('moz-fx-fxa-prod.us.fxa-rds-prod-prod-fxa', 'SELECT\n uid,\n normalizedEmail,\n email,\n emailVerified,\n verifierVersion,\n verifierSetAt,\n createdAt,\n locale,\n lockedAt,\n profileChangedAt,\n keysChangedAt,\n ecosystemAnonId,\n disabledAt,\n metricsOptOutAt,\n atLeast18AtReg\n FROM\n fxa.accounts\n ') + - EXTERNAL_QUERY('moz-fx-fxa-prod.us.fxa-rds-prod-prod-fxa', 'SELECT\n uid,\n normalizedEmail,\n email,\n emailVerified,\n verifierVersion,\n verifierSetAt,\n createdAt,\n locale,\n lockedAt,\n profileChangedAt,\n keysChangedAt,\n ecosystemAnonId,\n disabledAt,\n metricsOptOutAt\n FROM\n fxa.accounts\n ') diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_accounts_v1/query.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_accounts_v1/query.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_accounts_v1/query.sql 2024-08-01 18:09:50.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_accounts_v1/query.sql 2024-08-01 18:10:20.000000000 +0000 @@ -13,7 +13,6 @@ ecosystemAnonId, SAFE.TIMESTAMP_MILLIS(SAFE_CAST(disabledAt AS INT)) AS disabledAt, SAFE.TIMESTAMP_MILLIS(SAFE_CAST(metricsOptOutAt AS INT)) AS metricsOptOutAt, - SAFE_CAST(atLeast18AtReg AS BOOL) AS atLeast18AtReg, FROM EXTERNAL_QUERY( "moz-fx-fxa-prod.us.fxa-rds-prod-prod-fxa", @@ -31,8 +30,7 @@ keysChangedAt, ecosystemAnonId, disabledAt, - metricsOptOutAt, - atLeast18AtReg + metricsOptOutAt FROM fxa.accounts """ diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_accounts_v1/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_accounts_v1/schema.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_accounts_v1/schema.yaml 2024-08-01 18:09:50.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_accounts_v1/schema.yaml 2024-08-01 18:10:20.000000000 +0000 @@ -42,6 +42,3 @@ - name: metricsOptOutAt type: TIMESTAMP mode: NULLABLE -- name: atLeast18AtReg - type: BOOLEAN - mode: NULLABLE diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_carts_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_carts_v1/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_carts_v1/metadata.yaml 2024-08-01 18:11:45.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_carts_v1/metadata.yaml 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -friendly_name: carts table from production fxa database -description: | - A mirror of the `carts` table from the production `fxa` CloudSQL database, excluding columns containing confidential data, updated daily to match the current state of the table. - See https://mozilla.github.io/ecosystem-platform/reference/database-structure#database-fxa -owners: -- akomar@mozilla.com -labels: - application: accounts_backend - schedule: daily - dag: bqetl_accounts_backend_external - owner1: akomar -scheduling: - dag_name: bqetl_accounts_backend_external - date_partition_parameter: null -bigquery: null -workgroup_access: -- role: roles/bigquery.dataViewer - members: - - workgroup:accounts-confidential -references: - query.sql: - - EXTERNAL_QUERY('moz-fx-fxa-prod.us.fxa-rds-prod-prod-fxa', 'SELECT\n id,\n uid,\n state,\n errorReasonId,\n offeringConfigId,\n interval,\n experiment,\n taxAddress,\n createdAt,\n updatedAt,\n couponCode,\n stripeCustomerId,\n email,\n amount,\n version,\n eligibilityStatus\n FROM\n fxa.carts\n ') diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_carts_v1/query.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_carts_v1/query.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_carts_v1/query.sql 2024-08-01 18:09:50.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_carts_v1/query.sql 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ -SELECT - TO_HEX(id) AS id, - TO_HEX(uid) AS uid, - state, - errorReasonId, - offeringConfigId, - `interval`, - experiment, - taxAddress, - SAFE.TIMESTAMP_MILLIS(SAFE_CAST(createdAt AS INT)) AS createdAt, - SAFE.TIMESTAMP_MILLIS(SAFE_CAST(updatedAt AS INT)) AS updatedAt, - couponCode, - stripeCustomerId, - email, - amount, - version, - eligibilityStatus, -FROM - EXTERNAL_QUERY( - "moz-fx-fxa-prod.us.fxa-rds-prod-prod-fxa", - """SELECT - id, - uid, - state, - errorReasonId, - offeringConfigId, - `interval`, - experiment, - taxAddress, - createdAt, - updatedAt, - couponCode, - stripeCustomerId, - email, - amount, - version, - eligibilityStatus - FROM - fxa.carts - """ - ) diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_carts_v1/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_carts_v1/schema.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_carts_v1/schema.yaml 2024-08-01 18:09:50.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_carts_v1/schema.yaml 1970-01-01 00:00:00.000000000 +0000 @@ -1,51 +0,0 @@ -fields: -- name: id - type: STRING - mode: NULLABLE - description: Cart ID in hexadecimal format. -- name: uid - type: STRING - mode: NULLABLE - description: Account ID in hexadecimal format. -- name: state - type: STRING - mode: NULLABLE -- name: errorReasonId - type: STRING - mode: NULLABLE -- name: offeringConfigId - type: STRING - mode: NULLABLE -- name: interval - type: STRING - mode: NULLABLE -- name: experiment - type: STRING - mode: NULLABLE -- name: taxAddress - type: STRING - mode: NULLABLE -- name: createdAt - type: TIMESTAMP - mode: NULLABLE -- name: updatedAt - type: TIMESTAMP - mode: NULLABLE -- name: couponCode - type: STRING - mode: NULLABLE -- name: stripeCustomerId - type: STRING - mode: NULLABLE -- name: email - type: STRING - mode: NULLABLE -- name: amount - type: INTEGER - mode: NULLABLE -- name: version - type: INTEGER - mode: NULLABLE -- name: eligibilityStatus - type: STRING - mode: NULLABLE diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_groups_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_groups_v1/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_groups_v1/metadata.yaml 2024-08-01 18:11:45.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_groups_v1/metadata.yaml 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -friendly_name: groups table from production fxa database -description: | - A mirror of the `groups` table from the production `fxa` CloudSQL database, excluding columns containing confidential data, updated daily to match the current state of the table. - See https://mozilla.github.io/ecosystem-platform/reference/database-structure#database-fxa -owners: -- akomar@mozilla.com -labels: - application: accounts_backend - schedule: daily - dag: bqetl_accounts_backend_external - owner1: akomar -scheduling: - dag_name: bqetl_accounts_backend_external - date_partition_parameter: null -bigquery: null -workgroup_access: -- role: roles/bigquery.dataViewer - members: - - workgroup:accounts-confidential -references: - query.sql: - - EXTERNAL_QUERY('moz-fx-fxa-prod.us.fxa-rds-prod-prod-fxa', 'SELECT\n id,\n name,\n display_name,\n capabilities\n FROM\n fxa.groups\n ') diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_groups_v1/query.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_groups_v1/query.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_groups_v1/query.sql 2024-08-01 18:09:50.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_groups_v1/query.sql 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -SELECT - id, - name, - display_name, - capabilities, -FROM - EXTERNAL_QUERY( - "moz-fx-fxa-prod.us.fxa-rds-prod-prod-fxa", - """SELECT - id, - name, - display_name, - capabilities - FROM - fxa.groups - """ - ) diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_groups_v1/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_groups_v1/schema.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_groups_v1/schema.yaml 2024-08-01 18:09:50.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_groups_v1/schema.yaml 1970-01-01 00:00:00.000000000 +0000 @@ -1,13 +0,0 @@ -fields: -- name: id - type: INTEGER - mode: NULLABLE -- name: name - type: STRING - mode: NULLABLE -- name: display_name - type: STRING - mode: NULLABLE -- name: capabilities - type: STRING - mode: NULLABLE diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_recovery_codes_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_recovery_codes_v1/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_recovery_codes_v1/metadata.yaml 2024-08-01 18:11:45.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_db_external/fxa_recovery_codes_v1/metadata.yaml 2024-08-01 18:29:22.000000000 +0000 @@ -19,4 +19,4 @@ - workgroup:accounts-confidential references: query.sql: - - EXTERNAL_QUERY('moz-fx-fxa-prod.us.fxa-rds-pro ```

⚠️ Only part of the diff is displayed.

Link to full diff

dataops-ci-bot commented 2 months ago

Integration report for "Merge branch 'main' into mobile_search_aggregates_dau"

sql.diff

Click to expand! ```diff diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/dags/bqetl_search_dashboard.py /tmp/workspace/generated-sql/dags/bqetl_search_dashboard.py --- /tmp/workspace/main-generated-sql/dags/bqetl_search_dashboard.py 2024-08-01 19:00:35.000000000 +0000 +++ /tmp/workspace/generated-sql/dags/bqetl_search_dashboard.py 2024-08-01 19:01:46.000000000 +0000 @@ -323,6 +323,17 @@ depends_on_past=False, ) + search_derived__search_dau_aggregates__v1 = bigquery_etl_query( + task_id="search_derived__search_dau_aggregates__v1", + destination_table="search_dau_aggregates_v1", + dataset_id="search_derived", + project_id="moz-fx-data-shared-prod", + owner="mozilla/revenue_forecasting_data_reviewers", + email=["akomar@mozilla.com", "telemetry-alerts@mozilla.com"], + date_partition_parameter="submission_date", + depends_on_past=False, + ) + search_derived__search_revenue_levers_daily__v1 = bigquery_etl_query( task_id="search_derived__search_revenue_levers_daily__v1", destination_table="search_revenue_levers_daily_v1", @@ -346,6 +357,74 @@ wait_for_search_derived__mobile_search_clients_daily__v1 ) + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_fenix_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_fenix_nightly_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_fennec_aurora_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_firefox_beta_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_firefox_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_focus_beta_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_focus_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_focus_nightly_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_fennec_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_firefox_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_firefoxbeta_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_focus_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_klar_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_klar_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_telemetry_derived__clients_last_seen__v2 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_copy_deduplicate_all + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_search_derived__search_clients_daily__v8 + ) + search_derived__search_revenue_levers_daily__v1.set_upstream( wait_for_checks__fail_org_mozilla_fenix_derived__baseline_clients_last_seen__v1 ) Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search: search_dau_aggregates Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived: search_dau_aggregates_v1 diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/metadata.yaml 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/metadata.yaml 2024-08-01 18:56:58.000000000 +0000 @@ -0,0 +1,13 @@ +friendly_name: Search Dau Aggregates +description: |- + Please provide a description for the query +owners: [] +labels: {} +bigquery: null +workgroup_access: +- role: roles/bigquery.dataViewer + members: + - workgroup:mozilla-confidential +references: + view.sql: + - moz-fx-data-shared-prod.search_derived.search_dau_aggregates_v1 diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/view.sql 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/view.sql 2024-08-01 18:54:59.000000000 +0000 @@ -0,0 +1,7 @@ +CREATE OR REPLACE VIEW + `moz-fx-data-shared-prod.search.search_dau_aggregates` +AS +SELECT + * +FROM + `moz-fx-data-shared-prod.search_derived.search_dau_aggregates_v1` diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/metadata.yaml 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/metadata.yaml 2024-08-01 18:57:00.000000000 +0000 @@ -0,0 +1,28 @@ +friendly_name: Search Revenue DAU aggregates +description: |- + Daily metrics including eligible DOU, + DAU_engaged_w_sap, DAU_engaged_w_default_engine + The table is labeled as "change_controlled", which implies + that changes require the approval of at least one owner. +owners: +- mozilla/revenue_forecasting_data_reviewers +labels: + incremental: true + schedule: daily + change_controlled: true + dag: bqetl_search_dashboard +scheduling: + dag_name: bqetl_search_dashboard +bigquery: + time_partitioning: + type: day + field: submission_date + require_partition_filter: true + expiration_days: null + range_partitioning: null + clustering: null +workgroup_access: +- role: roles/bigquery.dataViewer + members: + - workgroup:mozilla-confidential +references: {} diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/query.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/query.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/query.sql 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/query.sql 2024-08-01 18:54:59.000000000 +0000 @@ -0,0 +1,609 @@ +WITH desktop_search_data AS ( + SELECT + submission_date, + country, + client_id, + engine, + normalized_engine, + distribution_id, + default_search_engine, + CASE + WHEN default_search_engine LIKE '%google%' + THEN "Google" + WHEN default_search_engine LIKE '%bing%' + THEN "Bing" + WHEN default_search_engine LIKE '%ddg%' + OR default_search_engine LIKE '%duckduckgo%' + THEN "DuckDuckGo" + ELSE NULL + END AS normalized_default_search_engine, + SUM(sap) AS sap, + SUM(ad_click) AS ad_click + FROM + `moz-fx-data-shared-prod.search.search_clients_engines_sources_daily` + WHERE + submission_date = @submission_date + GROUP BY + submission_date, + engine, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + channel, + country, + client_id, + distribution_id +), +mobile_baseline_search AS ( + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + normalized_country_code AS country, + key_value.key AS engine, + metrics.string.search_default_engine_code AS default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(key_value.key) AS normalized_engine, + key_value.value AS search_count + FROM + `moz-fx-data-shared-prod.fenix.baseline`, + UNNEST(metrics.labeled_counter.metrics_search_count) AS key_value + WHERE + DATE(submission_timestamp) @submission_date + AND key_value.value <= 10000 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + normalized_country_code AS country, + key_value.key AS engine, + metrics.string.search_default_engine AS default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(key_value.key) AS normalized_engine, + key_value.value AS search_count + FROM + `moz-fx-data-shared-prod.firefox_ios.baseline`, + UNNEST(metrics.labeled_counter.search_counts) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + normalized_country_code AS country, + key_value.key AS engine, + metrics.string.browser_default_search_engine AS default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(key_value.key) AS normalized_engine, + key_value.value AS search_count + FROM + `moz-fx-data-shared-prod.focus_android.baseline`, + UNNEST(metrics.labeled_counter.browser_search_search_count) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + key_value.key AS engine, + normalized_country_code AS country, + metrics.string.search_default_engine AS default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(key_value.key) AS normalized_engine, + key_value.value AS search_count + FROM + `moz-fx-data-shared-prod.focus_ios.baseline`, + UNNEST(metrics.labeled_counter.browser_search_search_count) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 +), +mobile_baseline_search_ad_clicks AS ( + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + normalized_country_code AS country, + metrics.string.search_default_engine_code AS default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(key_value.key) AS normalized_engine, + key_value.value AS ad_click + FROM + `moz-fx-data-shared-prod.fenix.baseline`, + UNNEST(metrics.labeled_counter.browser_search_ad_clicks) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + normalized_country_code AS country, + metrics.string.search_default_engine AS default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(key_value.key) AS normalized_engine, + key_value.value AS ad_click + FROM + `moz-fx-data-shared-prod.firefox_ios.baseline`, + UNNEST(metrics.labeled_counter.browser_search_ad_clicks) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + normalized_country_code AS country, + metrics.string.browser_default_search_engine AS default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(key_value.key) AS normalized_engine, + key_value.value AS ad_click + FROM + `moz-fx-data-shared-prod.focus_android.baseline`, + UNNEST(metrics.labeled_counter.browser_search_ad_clicks) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + normalized_country_code AS country, + metrics.string.search_default_engine AS default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(key_value.key) AS normalized_engine, + key_value.value AS ad_click + FROM + `moz-fx-data-shared-prod.focus_ios.baseline`, + UNNEST(metrics.labeled_counter.browser_search_ad_clicks) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 +), +mobile_ad_click_sap AS ( + SELECT + mbs.submission_date, + mbs.client_id, + mbs.country, + mbs.engine, + mbs.default_search_engine, + mbs.normalized_engine, + CASE + WHEN mbs.default_search_engine LIKE '%google%' + THEN "Google" + WHEN mbs.default_search_engine LIKE '%bing%' + THEN "Bing" + WHEN mbs.default_search_engine LIKE '%ddg%' + OR mbs.default_search_engine LIKE '%duckduckgo%' + THEN "DuckDuckGo" + ELSE NULL + END AS normalized_default_search_engine, + NULL AS distribution_id, + CASE + WHEN search_count > 0 + THEN 1 + ELSE 0 + END AS sap_day, + CASE + WHEN ad_click > 0 + THEN 1 + ELSE 0 + END AS ad_click_day + FROM + mobile_baseline_search mbs + INNER JOIN + mobile_baseline_search_ad_clicks mac + ON mac.submission_date = mbs.submission_date + AND mbs.client_id = mac.client_id + AND mbs.country = mac.country +), +dau_ids AS ( + SELECT DISTINCT + "desktop" AS device, + submission_date, + country, + client_id, + normalized_channel + FROM + `mozdata.telemetry.desktop_active_users` + WHERE + submission_date = @submission_date + AND is_dau +), +## baseline-powered clients who qualify for KPI (activity filters applied) +mobile_dau_data AS ( + SELECT DISTINCT + "mobile" AS device, + submission_date, + country, + client_id, + normalized_channel + FROM + `mozdata.telemetry.mobile_active_users` + WHERE + submission_date = @submission_date + AND is_dau +), +desktop_search_users AS ( + SELECT + device, + submission_date, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + client_id, + distribution_id, + CASE + WHEN sap > 0 + THEN 1 + ELSE 0 + END AS sap_day, + CASE + WHEN ad_click > 0 + THEN 1 + ELSE 0 + END AS ad_click_day + FROM + dau_ids + LEFT JOIN + desktop_search_data + USING (submission_date, country, client_id) +), +final_mobile_dau_counts AS ( + SELECT + submission_date, + device, + mobile_dau_data.country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + client_id, + distribution_id, + sap_day, + ad_click_day, + COUNT(DISTINCT client_id) AS eligible_dau, + COUNT( + DISTINCT IF( + ( + ( + submission_date < "2023-12-01" + AND mobile_dau_data.country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN') + ) + OR ( + submission_date >= "2023-12-01" + AND mobile_dau_data.country NOT IN ('RU', 'UA', 'BY', 'CN') + ) + ), + client_id, + NULL + ) + ) AS google_eligible_dau, + COUNT( + DISTINCT IF( + default_search_engine LIKE '%google%' + AND ( + ( + submission_date < "2023-12-01" + AND mobile_dau_data.country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN') + ) + OR ( + submission_date >= "2023-12-01" + AND mobile_dau_data.country NOT IN ('RU', 'UA', 'BY', 'CN') + ) + ), + client_id, + NULL + ) + ) AS google_dau_w_engine_as_default, + COUNT( + DISTINCT IF( + sap_day > 0 + AND normalized_engine = 'Google' + AND ( + ( + submission_date < "2023-12-01" + AND mobile_dau_data.country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN') + ) + OR ( + submission_date >= "2023-12-01" + AND mobile_dau_data.country NOT IN ('RU', 'UA', 'BY', 'CN') + ) + ), + client_id, + NULL + ) + ) AS google_dau_engaged_w_sap, + COUNT( + DISTINCT IF(default_search_engine LIKE '%bing%', client_id, NULL) + ) AS bing_dau_w_engine_as_default, + COUNT( + DISTINCT IF(sap_day > 0 AND normalized_engine = 'Bing', client_id, NULL) + ) AS bing_dau_engaged_w_sap, + COUNT( + DISTINCT IF( + default_search_engine LIKE('%ddg%') + OR default_search_engine LIKE('%duckduckgo%'), + client_id, + NULL + ) + ) AS ddg_dau_w_engine_as_default, + COUNT( + DISTINCT IF(normalized_engine = "DuckDuckGo" AND sap_day > 0, client_id, NULL) + ) AS ddg_dau_engaged_w_sap + FROM + mobile_dau_data + LEFT JOIN + mobile_ad_click_sap + USING (submission_date, client_id, country) + GROUP BY + submission_date, + device, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + client_id, + distribution_id, + sap_day, + ad_click_day +) +SELECT + submission_date, + "Google" AS partner, + device, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day, + COUNT( + DISTINCT IF( + (submission_date < "2023-12-01" AND country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN')) + OR (submission_date >= "2023-12-01" AND country NOT IN ('RU', 'UA', 'BY', 'CN')), + client_id, + NULL + ) + ) AS dau_eligible_markets, + COUNT( + DISTINCT IF(normalized_default_search_engine = "Google", client_id, NULL) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF( + sap_day > 0 + AND normalized_engine = 'Google' + AND normalized_default_search_engine = "Google", + client_id, + NULL + ) + ) AS dau_engaged_w_sap, +FROM + desktop_search_users +GROUP BY + device, + submission_date, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day +UNION ALL +SELECT + submission_date, + "Bing" AS partner, + device, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day, + COUNT(DISTINCT client_id) AS dau_eligible_markets, + COUNT( + DISTINCT IF(normalized_default_search_engine = "Bing", client_id, NULL) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF( + sap_day > 0 + AND normalized_engine = 'Bing' + AND normalized_default_search_engine = "Bing", + client_id, + NULL + ) + ) AS dau_engaged_w_sap, +FROM + desktop_search_users +WHERE + (distribution_id IS NULL OR distribution_id NOT LIKE '%acer%') + AND client_id NOT IN (SELECT client_id FROM `moz-fx-data-shared-prod.search.acer_cohort`) +GROUP BY + device, + submission_date, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day +UNION ALL +SELECT + submission_date, + "DuckDuckGo" AS partner, + device, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day, + COUNT(DISTINCT client_id) AS dau_eligible_markets, + COUNT( + DISTINCT IF(normalized_default_search_engine = "DuckDuckGo", client_id, NULL) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF( + sap_day > 0 + AND normalized_engine = "DuckDuckGo" + AND normalized_default_search_engine = "DuckDuckGo", + client_id, + NULL + ) + ) AS dau_engaged_w_sap +FROM + desktop_search_users +GROUP BY + device, + submission_date, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day +UNION ALL +SELECT + submission_date, + "Google" AS partner, + device, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day, + COUNT( + DISTINCT IF( + (submission_date < "2023-12-01" AND country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN')) + OR (submission_date >= "2023-12-01" AND country NOT IN ('RU', 'UA', 'BY', 'CN')), + client_id, + NULL + ) + ) AS dau_eligible_markets, + COUNT( + DISTINCT IF(normalized_default_search_engine = "Google", client_id, NULL) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF( + sap_day > 0 + AND normalized_engine = 'Google' + AND normalized_default_search_engine = "Google", + client_id, + NULL + ) + ) AS dau_engaged_w_sap, +FROM + final_mobile_dau_counts +GROUP BY + device, + submission_date, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day +UNION ALL +SELECT + submission_date, + "Bing" AS partner, + device, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day, + COUNT(DISTINCT client_id) AS dau_eligible_markets, + COUNT( + DISTINCT IF(normalized_default_search_engine = "Bing", client_id, NULL) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF( + sap_day > 0 + AND normalized_engine = 'Bing' + AND normalized_default_search_engine = "Bing", + client_id, + NULL + ) + ) AS dau_engaged_w_sap, +FROM + final_mobile_dau_counts +GROUP BY + device, + submission_date, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day +UNION ALL +SELECT + submission_date, + "DuckDuckGo" AS partner, + device, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day, + COUNT(DISTINCT client_id) AS dau_eligible_markets, + COUNT( + DISTINCT IF(normalized_default_search_engine = "DuckDuckGo", client_id, NULL) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF( + sap_day > 0 + AND normalized_engine = "DuckDuckGo" + AND normalized_default_search_engine = "DuckDuckGo", + client_id, + NULL + ) + ) AS dau_engaged_w_sap +FROM + final_mobile_dau_counts +GROUP BY + device, + submission_date, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day +ORDER BY + device, + submission_date, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/schema.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/schema.yaml 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/schema.yaml 2024-08-01 18:54:59.000000000 +0000 @@ -0,0 +1,40 @@ +fields: + - mode: NULLABLE + name: submission_date + type: DATE + - mode: NULLABLE + name: partner + type: STRING + - mode: NULLABLE + name: device + type: STRING + - mode: NULLABLE + name: country + type: STRING + - mode: NULLABLE + name: normalized_channel + type: STRING + - mode: NULLABLE + name: normalized_engine + type: STRING + - mode: NULLABLE + name: default_search_engine + type: STRING + - mode: NULLABLE + name: normalized_default_search_engine + type: STRING + - mode: NULLABLE + name: sap_day + type: INTEGER + - mode: NULLABLE + name: ad_click_day + type: INTEGER + - mode: NULLABLE + name: dau_eligible_markets + type: INTEGER + - mode: NULLABLE + name: dau_w_engine_as_default + type: INTEGER + - mode: NULLABLE + name: dau_engaged_w_sap + type: INTEGER ```

Link to full diff

dataops-ci-bot commented 2 months ago

Integration report for "Merge branch 'main' into mobile_search_aggregates_dau"

sql.diff

Click to expand! ```diff diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/dags/bqetl_search_dashboard.py /tmp/workspace/generated-sql/dags/bqetl_search_dashboard.py --- /tmp/workspace/main-generated-sql/dags/bqetl_search_dashboard.py 2024-08-01 19:31:41.000000000 +0000 +++ /tmp/workspace/generated-sql/dags/bqetl_search_dashboard.py 2024-08-01 19:32:16.000000000 +0000 @@ -323,6 +323,17 @@ depends_on_past=False, ) + search_derived__search_dau_aggregates__v1 = bigquery_etl_query( + task_id="search_derived__search_dau_aggregates__v1", + destination_table="search_dau_aggregates_v1", + dataset_id="search_derived", + project_id="moz-fx-data-shared-prod", + owner="mozilla/revenue_forecasting_data_reviewers", + email=["akomar@mozilla.com", "telemetry-alerts@mozilla.com"], + date_partition_parameter="submission_date", + depends_on_past=False, + ) + search_derived__search_revenue_levers_daily__v1 = bigquery_etl_query( task_id="search_derived__search_revenue_levers_daily__v1", destination_table="search_revenue_levers_daily_v1", @@ -346,6 +357,74 @@ wait_for_search_derived__mobile_search_clients_daily__v1 ) + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_fenix_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_fenix_nightly_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_fennec_aurora_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_firefox_beta_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_firefox_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_focus_beta_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_focus_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_focus_nightly_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_fennec_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_firefox_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_firefoxbeta_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_focus_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_klar_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_klar_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_telemetry_derived__clients_last_seen__v2 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_copy_deduplicate_all + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_search_derived__search_clients_daily__v8 + ) + search_derived__search_revenue_levers_daily__v1.set_upstream( wait_for_checks__fail_org_mozilla_fenix_derived__baseline_clients_last_seen__v1 ) Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search: search_dau_aggregates Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived: search_dau_aggregates_v1 diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/metadata.yaml 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/metadata.yaml 2024-08-01 19:27:08.000000000 +0000 @@ -0,0 +1,13 @@ +friendly_name: Search Dau Aggregates +description: |- + Please provide a description for the query +owners: [] +labels: {} +bigquery: null +workgroup_access: +- role: roles/bigquery.dataViewer + members: + - workgroup:mozilla-confidential +references: + view.sql: + - moz-fx-data-shared-prod.search_derived.search_dau_aggregates_v1 diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/view.sql 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/view.sql 2024-08-01 19:25:20.000000000 +0000 @@ -0,0 +1,7 @@ +CREATE OR REPLACE VIEW + `moz-fx-data-shared-prod.search.search_dau_aggregates` +AS +SELECT + * +FROM + `moz-fx-data-shared-prod.search_derived.search_dau_aggregates_v1` diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/metadata.yaml 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/metadata.yaml 2024-08-01 19:27:03.000000000 +0000 @@ -0,0 +1,28 @@ +friendly_name: Search Revenue DAU aggregates +description: |- + Daily metrics including eligible DOU, + DAU_engaged_w_sap, DAU_engaged_w_default_engine + The table is labeled as "change_controlled", which implies + that changes require the approval of at least one owner. +owners: +- mozilla/revenue_forecasting_data_reviewers +labels: + incremental: true + schedule: daily + change_controlled: true + dag: bqetl_search_dashboard +scheduling: + dag_name: bqetl_search_dashboard +bigquery: + time_partitioning: + type: day + field: submission_date + require_partition_filter: true + expiration_days: null + range_partitioning: null + clustering: null +workgroup_access: +- role: roles/bigquery.dataViewer + members: + - workgroup:mozilla-confidential +references: {} diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/query.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/query.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/query.sql 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/query.sql 2024-08-01 19:25:20.000000000 +0000 @@ -0,0 +1,609 @@ +WITH desktop_search_data AS ( + SELECT + submission_date, + country, + client_id, + engine, + normalized_engine, + distribution_id, + default_search_engine, + CASE + WHEN default_search_engine LIKE '%google%' + THEN "Google" + WHEN default_search_engine LIKE '%bing%' + THEN "Bing" + WHEN default_search_engine LIKE '%ddg%' + OR default_search_engine LIKE '%duckduckgo%' + THEN "DuckDuckGo" + ELSE NULL + END AS normalized_default_search_engine, + SUM(sap) AS sap, + SUM(ad_click) AS ad_click + FROM + `moz-fx-data-shared-prod.search.search_clients_engines_sources_daily` + WHERE + submission_date = @submission_date + GROUP BY + submission_date, + engine, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + channel, + country, + client_id, + distribution_id +), +mobile_baseline_search AS ( + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + normalized_country_code AS country, + key_value.key AS engine, + metrics.string.search_default_engine_code AS default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(key_value.key) AS normalized_engine, + key_value.value AS search_count + FROM + `moz-fx-data-shared-prod.fenix.baseline`, + UNNEST(metrics.labeled_counter.metrics_search_count) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + normalized_country_code AS country, + key_value.key AS engine, + metrics.string.search_default_engine AS default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(key_value.key) AS normalized_engine, + key_value.value AS search_count + FROM + `moz-fx-data-shared-prod.firefox_ios.baseline`, + UNNEST(metrics.labeled_counter.search_counts) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + normalized_country_code AS country, + key_value.key AS engine, + metrics.string.browser_default_search_engine AS default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(key_value.key) AS normalized_engine, + key_value.value AS search_count + FROM + `moz-fx-data-shared-prod.focus_android.baseline`, + UNNEST(metrics.labeled_counter.browser_search_search_count) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + key_value.key AS engine, + normalized_country_code AS country, + metrics.string.search_default_engine AS default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(key_value.key) AS normalized_engine, + key_value.value AS search_count + FROM + `moz-fx-data-shared-prod.focus_ios.baseline`, + UNNEST(metrics.labeled_counter.browser_search_search_count) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 +), +mobile_baseline_search_ad_clicks AS ( + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + normalized_country_code AS country, + metrics.string.search_default_engine_code AS default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(key_value.key) AS normalized_engine, + key_value.value AS ad_click + FROM + `moz-fx-data-shared-prod.fenix.baseline`, + UNNEST(metrics.labeled_counter.browser_search_ad_clicks) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + normalized_country_code AS country, + metrics.string.search_default_engine AS default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(key_value.key) AS normalized_engine, + key_value.value AS ad_click + FROM + `moz-fx-data-shared-prod.firefox_ios.baseline`, + UNNEST(metrics.labeled_counter.browser_search_ad_clicks) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + normalized_country_code AS country, + metrics.string.browser_default_search_engine AS default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(key_value.key) AS normalized_engine, + key_value.value AS ad_click + FROM + `moz-fx-data-shared-prod.focus_android.baseline`, + UNNEST(metrics.labeled_counter.browser_search_ad_clicks) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + normalized_country_code AS country, + metrics.string.search_default_engine AS default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(key_value.key) AS normalized_engine, + key_value.value AS ad_click + FROM + `moz-fx-data-shared-prod.focus_ios.baseline`, + UNNEST(metrics.labeled_counter.browser_search_ad_clicks) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 +), +mobile_ad_click_sap AS ( + SELECT + mbs.submission_date, + mbs.client_id, + mbs.country, + mbs.engine, + mbs.default_search_engine, + mbs.normalized_engine, + CASE + WHEN mbs.default_search_engine LIKE '%google%' + THEN "Google" + WHEN mbs.default_search_engine LIKE '%bing%' + THEN "Bing" + WHEN mbs.default_search_engine LIKE '%ddg%' + OR mbs.default_search_engine LIKE '%duckduckgo%' + THEN "DuckDuckGo" + ELSE NULL + END AS normalized_default_search_engine, + NULL AS distribution_id, + CASE + WHEN search_count > 0 + THEN 1 + ELSE 0 + END AS sap_day, + CASE + WHEN ad_click > 0 + THEN 1 + ELSE 0 + END AS ad_click_day + FROM + mobile_baseline_search mbs + INNER JOIN + mobile_baseline_search_ad_clicks mac + ON mac.submission_date = mbs.submission_date + AND mbs.client_id = mac.client_id + AND mbs.country = mac.country +), +dau_ids AS ( + SELECT DISTINCT + "desktop" AS device, + submission_date, + country, + client_id, + normalized_channel + FROM + `mozdata.telemetry.desktop_active_users` + WHERE + submission_date = @submission_date + AND is_dau +), +## baseline-powered clients who qualify for KPI (activity filters applied) +mobile_dau_data AS ( + SELECT DISTINCT + "mobile" AS device, + submission_date, + country, + client_id, + normalized_channel + FROM + `mozdata.telemetry.mobile_active_users` + WHERE + submission_date = @submission_date + AND is_dau +), +desktop_search_users AS ( + SELECT + device, + submission_date, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + client_id, + distribution_id, + CASE + WHEN sap > 0 + THEN 1 + ELSE 0 + END AS sap_day, + CASE + WHEN ad_click > 0 + THEN 1 + ELSE 0 + END AS ad_click_day + FROM + dau_ids + LEFT JOIN + desktop_search_data + USING (submission_date, country, client_id) +), +final_mobile_dau_counts AS ( + SELECT + submission_date, + device, + mobile_dau_data.country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + client_id, + distribution_id, + sap_day, + ad_click_day, + COUNT(DISTINCT client_id) AS eligible_dau, + COUNT( + DISTINCT IF( + ( + ( + submission_date < "2023-12-01" + AND mobile_dau_data.country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN') + ) + OR ( + submission_date >= "2023-12-01" + AND mobile_dau_data.country NOT IN ('RU', 'UA', 'BY', 'CN') + ) + ), + client_id, + NULL + ) + ) AS google_eligible_dau, + COUNT( + DISTINCT IF( + default_search_engine LIKE '%google%' + AND ( + ( + submission_date < "2023-12-01" + AND mobile_dau_data.country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN') + ) + OR ( + submission_date >= "2023-12-01" + AND mobile_dau_data.country NOT IN ('RU', 'UA', 'BY', 'CN') + ) + ), + client_id, + NULL + ) + ) AS google_dau_w_engine_as_default, + COUNT( + DISTINCT IF( + sap_day > 0 + AND normalized_engine = 'Google' + AND ( + ( + submission_date < "2023-12-01" + AND mobile_dau_data.country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN') + ) + OR ( + submission_date >= "2023-12-01" + AND mobile_dau_data.country NOT IN ('RU', 'UA', 'BY', 'CN') + ) + ), + client_id, + NULL + ) + ) AS google_dau_engaged_w_sap, + COUNT( + DISTINCT IF(default_search_engine LIKE '%bing%', client_id, NULL) + ) AS bing_dau_w_engine_as_default, + COUNT( + DISTINCT IF(sap_day > 0 AND normalized_engine = 'Bing', client_id, NULL) + ) AS bing_dau_engaged_w_sap, + COUNT( + DISTINCT IF( + default_search_engine LIKE('%ddg%') + OR default_search_engine LIKE('%duckduckgo%'), + client_id, + NULL + ) + ) AS ddg_dau_w_engine_as_default, + COUNT( + DISTINCT IF(normalized_engine = "DuckDuckGo" AND sap_day > 0, client_id, NULL) + ) AS ddg_dau_engaged_w_sap + FROM + mobile_dau_data + LEFT JOIN + mobile_ad_click_sap + USING (submission_date, client_id, country) + GROUP BY + submission_date, + device, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + client_id, + distribution_id, + sap_day, + ad_click_day +) +SELECT + submission_date, + "Google" AS partner, + device, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day, + COUNT( + DISTINCT IF( + (submission_date < "2023-12-01" AND country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN')) + OR (submission_date >= "2023-12-01" AND country NOT IN ('RU', 'UA', 'BY', 'CN')), + client_id, + NULL + ) + ) AS dau_eligible_markets, + COUNT( + DISTINCT IF(normalized_default_search_engine = "Google", client_id, NULL) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF( + sap_day > 0 + AND normalized_engine = 'Google' + AND normalized_default_search_engine = "Google", + client_id, + NULL + ) + ) AS dau_engaged_w_sap, +FROM + desktop_search_users +GROUP BY + device, + submission_date, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day +UNION ALL +SELECT + submission_date, + "Bing" AS partner, + device, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day, + COUNT(DISTINCT client_id) AS dau_eligible_markets, + COUNT( + DISTINCT IF(normalized_default_search_engine = "Bing", client_id, NULL) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF( + sap_day > 0 + AND normalized_engine = 'Bing' + AND normalized_default_search_engine = "Bing", + client_id, + NULL + ) + ) AS dau_engaged_w_sap, +FROM + desktop_search_users +WHERE + (distribution_id IS NULL OR distribution_id NOT LIKE '%acer%') + AND client_id NOT IN (SELECT client_id FROM `moz-fx-data-shared-prod.search.acer_cohort`) +GROUP BY + device, + submission_date, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day +UNION ALL +SELECT + submission_date, + "DuckDuckGo" AS partner, + device, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day, + COUNT(DISTINCT client_id) AS dau_eligible_markets, + COUNT( + DISTINCT IF(normalized_default_search_engine = "DuckDuckGo", client_id, NULL) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF( + sap_day > 0 + AND normalized_engine = "DuckDuckGo" + AND normalized_default_search_engine = "DuckDuckGo", + client_id, + NULL + ) + ) AS dau_engaged_w_sap +FROM + desktop_search_users +GROUP BY + device, + submission_date, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day +UNION ALL +SELECT + submission_date, + "Google" AS partner, + device, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day, + COUNT( + DISTINCT IF( + (submission_date < "2023-12-01" AND country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN')) + OR (submission_date >= "2023-12-01" AND country NOT IN ('RU', 'UA', 'BY', 'CN')), + client_id, + NULL + ) + ) AS dau_eligible_markets, + COUNT( + DISTINCT IF(normalized_default_search_engine = "Google", client_id, NULL) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF( + sap_day > 0 + AND normalized_engine = 'Google' + AND normalized_default_search_engine = "Google", + client_id, + NULL + ) + ) AS dau_engaged_w_sap, +FROM + final_mobile_dau_counts +GROUP BY + device, + submission_date, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day +UNION ALL +SELECT + submission_date, + "Bing" AS partner, + device, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day, + COUNT(DISTINCT client_id) AS dau_eligible_markets, + COUNT( + DISTINCT IF(normalized_default_search_engine = "Bing", client_id, NULL) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF( + sap_day > 0 + AND normalized_engine = 'Bing' + AND normalized_default_search_engine = "Bing", + client_id, + NULL + ) + ) AS dau_engaged_w_sap, +FROM + final_mobile_dau_counts +GROUP BY + device, + submission_date, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day +UNION ALL +SELECT + submission_date, + "DuckDuckGo" AS partner, + device, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day, + COUNT(DISTINCT client_id) AS dau_eligible_markets, + COUNT( + DISTINCT IF(normalized_default_search_engine = "DuckDuckGo", client_id, NULL) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF( + sap_day > 0 + AND normalized_engine = "DuckDuckGo" + AND normalized_default_search_engine = "DuckDuckGo", + client_id, + NULL + ) + ) AS dau_engaged_w_sap +FROM + final_mobile_dau_counts +GROUP BY + device, + submission_date, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day +ORDER BY + device, + submission_date, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/schema.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/schema.yaml 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/schema.yaml 2024-08-01 19:25:20.000000000 +0000 @@ -0,0 +1,40 @@ +fields: + - mode: NULLABLE + name: submission_date + type: DATE + - mode: NULLABLE + name: partner + type: STRING + - mode: NULLABLE + name: device + type: STRING + - mode: NULLABLE + name: country + type: STRING + - mode: NULLABLE + name: normalized_channel + type: STRING + - mode: NULLABLE + name: normalized_engine + type: STRING + - mode: NULLABLE + name: default_search_engine + type: STRING + - mode: NULLABLE + name: normalized_default_search_engine + type: STRING + - mode: NULLABLE + name: sap_day + type: INTEGER + - mode: NULLABLE + name: ad_click_day + type: INTEGER + - mode: NULLABLE + name: dau_eligible_markets + type: INTEGER + - mode: NULLABLE + name: dau_w_engine_as_default + type: INTEGER + - mode: NULLABLE + name: dau_engaged_w_sap + type: INTEGER ```

Link to full diff

dataops-ci-bot commented 2 months ago

Integration report for "Merge branch 'main' into mobile_search_aggregates_dau"

sql.diff

Click to expand! ```diff diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/dags/bqetl_search_dashboard.py /tmp/workspace/generated-sql/dags/bqetl_search_dashboard.py --- /tmp/workspace/main-generated-sql/dags/bqetl_search_dashboard.py 2024-08-01 19:46:15.000000000 +0000 +++ /tmp/workspace/generated-sql/dags/bqetl_search_dashboard.py 2024-08-01 19:47:40.000000000 +0000 @@ -323,6 +323,17 @@ depends_on_past=False, ) + search_derived__search_dau_aggregates__v1 = bigquery_etl_query( + task_id="search_derived__search_dau_aggregates__v1", + destination_table="search_dau_aggregates_v1", + dataset_id="search_derived", + project_id="moz-fx-data-shared-prod", + owner="mozilla/revenue_forecasting_data_reviewers", + email=["akomar@mozilla.com", "telemetry-alerts@mozilla.com"], + date_partition_parameter="submission_date", + depends_on_past=False, + ) + search_derived__search_revenue_levers_daily__v1 = bigquery_etl_query( task_id="search_derived__search_revenue_levers_daily__v1", destination_table="search_revenue_levers_daily_v1", @@ -346,6 +357,74 @@ wait_for_search_derived__mobile_search_clients_daily__v1 ) + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_fenix_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_fenix_nightly_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_fennec_aurora_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_firefox_beta_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_firefox_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_focus_beta_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_focus_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_focus_nightly_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_fennec_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_firefox_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_firefoxbeta_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_focus_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_klar_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_klar_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_telemetry_derived__clients_last_seen__v2 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_copy_deduplicate_all + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_search_derived__search_clients_daily__v8 + ) + search_derived__search_revenue_levers_daily__v1.set_upstream( wait_for_checks__fail_org_mozilla_fenix_derived__baseline_clients_last_seen__v1 ) Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search: search_dau_aggregates Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived: search_dau_aggregates_v1 diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/metadata.yaml 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/metadata.yaml 2024-08-01 19:42:34.000000000 +0000 @@ -0,0 +1,13 @@ +friendly_name: Search Dau Aggregates +description: |- + Please provide a description for the query +owners: [] +labels: {} +bigquery: null +workgroup_access: +- role: roles/bigquery.dataViewer + members: + - workgroup:mozilla-confidential +references: + view.sql: + - moz-fx-data-shared-prod.search_derived.search_dau_aggregates_v1 diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/view.sql 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/view.sql 2024-08-01 19:40:48.000000000 +0000 @@ -0,0 +1,7 @@ +CREATE OR REPLACE VIEW + `moz-fx-data-shared-prod.search.search_dau_aggregates` +AS +SELECT + * +FROM + `moz-fx-data-shared-prod.search_derived.search_dau_aggregates_v1` diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/metadata.yaml 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/metadata.yaml 2024-08-01 19:42:37.000000000 +0000 @@ -0,0 +1,28 @@ +friendly_name: Search Revenue DAU aggregates +description: |- + Daily metrics including eligible DOU, + DAU_engaged_w_sap, DAU_engaged_w_default_engine + The table is labeled as "change_controlled", which implies + that changes require the approval of at least one owner. +owners: +- mozilla/revenue_forecasting_data_reviewers +labels: + incremental: true + schedule: daily + change_controlled: true + dag: bqetl_search_dashboard +scheduling: + dag_name: bqetl_search_dashboard +bigquery: + time_partitioning: + type: day + field: submission_date + require_partition_filter: true + expiration_days: null + range_partitioning: null + clustering: null +workgroup_access: +- role: roles/bigquery.dataViewer + members: + - workgroup:mozilla-confidential +references: {} diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/query.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/query.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/query.sql 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/query.sql 2024-08-01 19:40:48.000000000 +0000 @@ -0,0 +1,609 @@ +WITH desktop_search_data AS ( + SELECT + submission_date, + country, + client_id, + engine, + normalized_engine, + distribution_id, + default_search_engine, + CASE + WHEN default_search_engine LIKE '%google%' + THEN "Google" + WHEN default_search_engine LIKE '%bing%' + THEN "Bing" + WHEN default_search_engine LIKE '%ddg%' + OR default_search_engine LIKE '%duckduckgo%' + THEN "DuckDuckGo" + ELSE NULL + END AS normalized_default_search_engine, + SUM(sap) AS sap, + SUM(ad_click) AS ad_click + FROM + `moz-fx-data-shared-prod.search.search_clients_engines_sources_daily` + WHERE + submission_date = @submission_date + GROUP BY + submission_date, + engine, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + channel, + country, + client_id, + distribution_id +), +mobile_baseline_search AS ( + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + normalized_country_code AS country, + key_value.key AS engine, + metrics.string.search_default_engine_code AS default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(key_value.key) AS normalized_engine, + key_value.value AS search_count + FROM + `moz-fx-data-shared-prod.fenix.baseline`, + UNNEST(metrics.labeled_counter.metrics_search_count) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + normalized_country_code AS country, + key_value.key AS engine, + metrics.string.search_default_engine AS default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(key_value.key) AS normalized_engine, + key_value.value AS search_count + FROM + `moz-fx-data-shared-prod.firefox_ios.baseline`, + UNNEST(metrics.labeled_counter.search_counts) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + normalized_country_code AS country, + key_value.key AS engine, + metrics.string.browser_default_search_engine AS default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(key_value.key) AS normalized_engine, + key_value.value AS search_count + FROM + `moz-fx-data-shared-prod.focus_android.baseline`, + UNNEST(metrics.labeled_counter.browser_search_search_count) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + key_value.key AS engine, + normalized_country_code AS country, + metrics.string.search_default_engine AS default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(key_value.key) AS normalized_engine, + key_value.value AS search_count + FROM + `moz-fx-data-shared-prod.focus_ios.baseline`, + UNNEST(metrics.labeled_counter.browser_search_search_count) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 +), +mobile_baseline_search_ad_clicks AS ( + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + normalized_country_code AS country, + metrics.string.search_default_engine_code AS default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(key_value.key) AS normalized_engine, + key_value.value AS ad_click + FROM + `moz-fx-data-shared-prod.fenix.baseline`, + UNNEST(metrics.labeled_counter.browser_search_ad_clicks) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + normalized_country_code AS country, + metrics.string.search_default_engine AS default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(key_value.key) AS normalized_engine, + key_value.value AS ad_click + FROM + `moz-fx-data-shared-prod.firefox_ios.baseline`, + UNNEST(metrics.labeled_counter.browser_search_ad_clicks) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + normalized_country_code AS country, + metrics.string.browser_default_search_engine AS default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(key_value.key) AS normalized_engine, + key_value.value AS ad_click + FROM + `moz-fx-data-shared-prod.focus_android.baseline`, + UNNEST(metrics.labeled_counter.browser_search_ad_clicks) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + normalized_country_code AS country, + metrics.string.search_default_engine AS default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(key_value.key) AS normalized_engine, + key_value.value AS ad_click + FROM + `moz-fx-data-shared-prod.focus_ios.baseline`, + UNNEST(metrics.labeled_counter.browser_search_ad_clicks) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 +), +mobile_ad_click_sap AS ( + SELECT + mbs.submission_date, + mbs.client_id, + mbs.country, + mbs.engine, + mbs.default_search_engine, + mbs.normalized_engine, + CASE + WHEN mbs.default_search_engine LIKE '%google%' + THEN "Google" + WHEN mbs.default_search_engine LIKE '%bing%' + THEN "Bing" + WHEN mbs.default_search_engine LIKE '%ddg%' + OR mbs.default_search_engine LIKE '%duckduckgo%' + THEN "DuckDuckGo" + ELSE NULL + END AS normalized_default_search_engine, + NULL AS distribution_id, + CASE + WHEN search_count > 0 + THEN 1 + ELSE 0 + END AS sap_day, + CASE + WHEN ad_click > 0 + THEN 1 + ELSE 0 + END AS ad_click_day + FROM + mobile_baseline_search mbs + INNER JOIN + mobile_baseline_search_ad_clicks mac + ON mac.submission_date = mbs.submission_date + AND mbs.client_id = mac.client_id + AND mbs.country = mac.country +), +dau_ids AS ( + SELECT DISTINCT + "desktop" AS device, + submission_date, + country, + client_id, + normalized_channel + FROM + `mozdata.telemetry.desktop_active_users` + WHERE + submission_date = @submission_date + AND is_dau +), +## baseline-powered clients who qualify for KPI (activity filters applied) +mobile_dau_data AS ( + SELECT DISTINCT + "mobile" AS device, + submission_date, + country, + client_id, + normalized_channel + FROM + `mozdata.telemetry.mobile_active_users` + WHERE + submission_date = @submission_date + AND is_dau +), +desktop_search_users AS ( + SELECT + device, + submission_date, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + client_id, + distribution_id, + CASE + WHEN sap > 0 + THEN 1 + ELSE 0 + END AS sap_day, + CASE + WHEN ad_click > 0 + THEN 1 + ELSE 0 + END AS ad_click_day + FROM + dau_ids + LEFT JOIN + desktop_search_data + USING (submission_date, country, client_id) +), +final_mobile_dau_counts AS ( + SELECT + submission_date, + device, + mobile_dau_data.country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + client_id, + distribution_id, + sap_day, + ad_click_day, + COUNT(DISTINCT client_id) AS eligible_dau, + COUNT( + DISTINCT IF( + ( + ( + submission_date < "2023-12-01" + AND mobile_dau_data.country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN') + ) + OR ( + submission_date >= "2023-12-01" + AND mobile_dau_data.country NOT IN ('RU', 'UA', 'BY', 'CN') + ) + ), + client_id, + NULL + ) + ) AS google_eligible_dau, + COUNT( + DISTINCT IF( + default_search_engine LIKE '%google%' + AND ( + ( + submission_date < "2023-12-01" + AND mobile_dau_data.country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN') + ) + OR ( + submission_date >= "2023-12-01" + AND mobile_dau_data.country NOT IN ('RU', 'UA', 'BY', 'CN') + ) + ), + client_id, + NULL + ) + ) AS google_dau_w_engine_as_default, + COUNT( + DISTINCT IF( + sap_day > 0 + AND normalized_engine = 'Google' + AND ( + ( + submission_date < "2023-12-01" + AND mobile_dau_data.country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN') + ) + OR ( + submission_date >= "2023-12-01" + AND mobile_dau_data.country NOT IN ('RU', 'UA', 'BY', 'CN') + ) + ), + client_id, + NULL + ) + ) AS google_dau_engaged_w_sap, + COUNT( + DISTINCT IF(default_search_engine LIKE '%bing%', client_id, NULL) + ) AS bing_dau_w_engine_as_default, + COUNT( + DISTINCT IF(sap_day > 0 AND normalized_engine = 'Bing', client_id, NULL) + ) AS bing_dau_engaged_w_sap, + COUNT( + DISTINCT IF( + default_search_engine LIKE('%ddg%') + OR default_search_engine LIKE('%duckduckgo%'), + client_id, + NULL + ) + ) AS ddg_dau_w_engine_as_default, + COUNT( + DISTINCT IF(normalized_engine = "DuckDuckGo" AND sap_day > 0, client_id, NULL) + ) AS ddg_dau_engaged_w_sap + FROM + mobile_dau_data + LEFT JOIN + mobile_ad_click_sap + USING (submission_date, client_id, country) + GROUP BY + submission_date, + device, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + client_id, + distribution_id, + sap_day, + ad_click_day +) +SELECT + submission_date, + "Google" AS partner, + device, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day, + COUNT( + DISTINCT IF( + (submission_date < "2023-12-01" AND country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN')) + OR (submission_date >= "2023-12-01" AND country NOT IN ('RU', 'UA', 'BY', 'CN')), + client_id, + NULL + ) + ) AS dau_eligible_markets, + COUNT( + DISTINCT IF(normalized_default_search_engine = "Google", client_id, NULL) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF( + sap_day > 0 + AND normalized_engine = 'Google' + AND normalized_default_search_engine = "Google", + client_id, + NULL + ) + ) AS dau_engaged_w_sap, +FROM + desktop_search_users +GROUP BY + device, + submission_date, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day +UNION ALL +SELECT + submission_date, + "Bing" AS partner, + device, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day, + COUNT(DISTINCT client_id) AS dau_eligible_markets, + COUNT( + DISTINCT IF(normalized_default_search_engine = "Bing", client_id, NULL) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF( + sap_day > 0 + AND normalized_engine = 'Bing' + AND normalized_default_search_engine = "Bing", + client_id, + NULL + ) + ) AS dau_engaged_w_sap, +FROM + desktop_search_users +WHERE + (distribution_id IS NULL OR distribution_id NOT LIKE '%acer%') + AND client_id NOT IN (SELECT client_id FROM `moz-fx-data-shared-prod.search.acer_cohort`) +GROUP BY + device, + submission_date, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day +UNION ALL +SELECT + submission_date, + "DuckDuckGo" AS partner, + device, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day, + COUNT(DISTINCT client_id) AS dau_eligible_markets, + COUNT( + DISTINCT IF(normalized_default_search_engine = "DuckDuckGo", client_id, NULL) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF( + sap_day > 0 + AND normalized_engine = "DuckDuckGo" + AND normalized_default_search_engine = "DuckDuckGo", + client_id, + NULL + ) + ) AS dau_engaged_w_sap +FROM + desktop_search_users +GROUP BY + device, + submission_date, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day +UNION ALL +SELECT + submission_date, + "Google" AS partner, + device, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day, + COUNT( + DISTINCT IF( + (submission_date < "2023-12-01" AND country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN')) + OR (submission_date >= "2023-12-01" AND country NOT IN ('RU', 'UA', 'BY', 'CN')), + client_id, + NULL + ) + ) AS dau_eligible_markets, + COUNT( + DISTINCT IF(normalized_default_search_engine = "Google", client_id, NULL) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF( + sap_day > 0 + AND normalized_engine = 'Google' + AND normalized_default_search_engine = "Google", + client_id, + NULL + ) + ) AS dau_engaged_w_sap, +FROM + final_mobile_dau_counts +GROUP BY + device, + submission_date, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day +UNION ALL +SELECT + submission_date, + "Bing" AS partner, + device, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day, + COUNT(DISTINCT client_id) AS dau_eligible_markets, + COUNT( + DISTINCT IF(normalized_default_search_engine = "Bing", client_id, NULL) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF( + sap_day > 0 + AND normalized_engine = 'Bing' + AND normalized_default_search_engine = "Bing", + client_id, + NULL + ) + ) AS dau_engaged_w_sap, +FROM + final_mobile_dau_counts +GROUP BY + device, + submission_date, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day +UNION ALL +SELECT + submission_date, + "DuckDuckGo" AS partner, + device, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day, + COUNT(DISTINCT client_id) AS dau_eligible_markets, + COUNT( + DISTINCT IF(normalized_default_search_engine = "DuckDuckGo", client_id, NULL) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF( + sap_day > 0 + AND normalized_engine = "DuckDuckGo" + AND normalized_default_search_engine = "DuckDuckGo", + client_id, + NULL + ) + ) AS dau_engaged_w_sap +FROM + final_mobile_dau_counts +GROUP BY + device, + submission_date, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day +ORDER BY + device, + submission_date, + country, + engine, + normalized_channel, + normalized_engine, + default_search_engine, + normalized_default_search_engine, + sap_day, + ad_click_day diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/schema.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/schema.yaml 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/schema.yaml 2024-08-01 19:40:48.000000000 +0000 @@ -0,0 +1,40 @@ +fields: + - mode: NULLABLE + name: submission_date + type: DATE + - mode: NULLABLE + name: partner + type: STRING + - mode: NULLABLE + name: device + type: STRING + - mode: NULLABLE + name: country + type: STRING + - mode: NULLABLE + name: normalized_channel + type: STRING + - mode: NULLABLE + name: normalized_engine + type: STRING + - mode: NULLABLE + name: default_search_engine + type: STRING + - mode: NULLABLE + name: normalized_default_search_engine + type: STRING + - mode: NULLABLE + name: sap_day + type: INTEGER + - mode: NULLABLE + name: ad_click_day + type: INTEGER + - mode: NULLABLE + name: dau_eligible_markets + type: INTEGER + - mode: NULLABLE + name: dau_w_engine_as_default + type: INTEGER + - mode: NULLABLE + name: dau_engaged_w_sap + type: INTEGER ```

Link to full diff

dataops-ci-bot commented 2 months ago

Integration report for "Remove eligible markets, reduce group bys"

sql.diff

Click to expand! ```diff diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/dags/bqetl_cloudflare_browser_market_share.py /tmp/workspace/generated-sql/dags/bqetl_cloudflare_browser_market_share.py --- /tmp/workspace/main-generated-sql/dags/bqetl_cloudflare_browser_market_share.py 2024-08-04 06:31:56.000000000 +0000 +++ /tmp/workspace/generated-sql/dags/bqetl_cloudflare_browser_market_share.py 2024-08-04 06:49:10.000000000 +0000 @@ -51,25 +51,6 @@ tags=tags, ) as dag: - checks__warn_cloudflare_derived__browser_usage__v1 = bigquery_dq_check( - task_id="checks__warn_cloudflare_derived__browser_usage__v1", - source_table="browser_usage_v1", - dataset_id="cloudflare_derived", - project_id="moz-fx-data-shared-prod", - is_dq_check_fail=False, - owner="kwindau@mozilla.com", - email=["kwindau@mozilla.com"], - depends_on_past=False, - arguments=[ - "--date", - "{{ds}}", - "--cloudflare_api_token", - "{{ var.value.cloudflare_auth_token}}", - ], - parameters=["dte:DATE:{{ds}}"], - retries=0, - ) - cloudflare_derived__browser_usage__v1 = GKEPodOperator( task_id="cloudflare_derived__browser_usage__v1", arguments=[ @@ -86,7 +67,3 @@ owner="kwindau@mozilla.com", email=["kwindau@mozilla.com"], ) - - checks__warn_cloudflare_derived__browser_usage__v1.set_upstream( - cloudflare_derived__browser_usage__v1 - ) diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/dags/bqetl_cloudflare_device_market_share.py /tmp/workspace/generated-sql/dags/bqetl_cloudflare_device_market_share.py --- /tmp/workspace/main-generated-sql/dags/bqetl_cloudflare_device_market_share.py 2024-08-04 06:31:56.000000000 +0000 +++ /tmp/workspace/generated-sql/dags/bqetl_cloudflare_device_market_share.py 2024-08-04 06:49:10.000000000 +0000 @@ -51,25 +51,6 @@ tags=tags, ) as dag: - checks__warn_cloudflare_derived__device_usage__v1 = bigquery_dq_check( - task_id="checks__warn_cloudflare_derived__device_usage__v1", - source_table="device_usage_v1", - dataset_id="cloudflare_derived", - project_id="moz-fx-data-shared-prod", - is_dq_check_fail=False, - owner="kwindau@mozilla.com", - email=["kwindau@mozilla.com"], - depends_on_past=False, - arguments=[ - "--date", - "{{ds}}", - "--cloudflare_api_token", - "{{ var.value.cloudflare_auth_token}}", - ], - parameters=["dte:DATE:{{ds}}"], - retries=0, - ) - cloudflare_derived__device_usage__v1 = GKEPodOperator( task_id="cloudflare_derived__device_usage__v1", arguments=[ @@ -86,7 +67,3 @@ owner="kwindau@mozilla.com", email=["kwindau@mozilla.com"], ) - - checks__warn_cloudflare_derived__device_usage__v1.set_upstream( - cloudflare_derived__device_usage__v1 - ) diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/dags/bqetl_cloudflare_os_market_share.py /tmp/workspace/generated-sql/dags/bqetl_cloudflare_os_market_share.py --- /tmp/workspace/main-generated-sql/dags/bqetl_cloudflare_os_market_share.py 2024-08-04 06:31:56.000000000 +0000 +++ /tmp/workspace/generated-sql/dags/bqetl_cloudflare_os_market_share.py 2024-08-04 06:49:09.000000000 +0000 @@ -51,25 +51,6 @@ tags=tags, ) as dag: - checks__warn_cloudflare_derived__os_usage__v1 = bigquery_dq_check( - task_id="checks__warn_cloudflare_derived__os_usage__v1", - source_table="os_usage_v1", - dataset_id="cloudflare_derived", - project_id="moz-fx-data-shared-prod", - is_dq_check_fail=False, - owner="kwindau@mozilla.com", - email=["kwindau@mozilla.com"], - depends_on_past=False, - arguments=[ - "--date", - "{{ds}}", - "--cloudflare_api_token", - "{{ var.value.cloudflare_auth_token}}", - ], - parameters=["dte:DATE:{{ds}}"], - retries=0, - ) - cloudflare_derived__os_usage__v1 = GKEPodOperator( task_id="cloudflare_derived__os_usage__v1", arguments=[ @@ -86,7 +67,3 @@ owner="kwindau@mozilla.com", email=["kwindau@mozilla.com"], ) - - checks__warn_cloudflare_derived__os_usage__v1.set_upstream( - cloudflare_derived__os_usage__v1 - ) diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/dags/bqetl_generated_funnels.py /tmp/workspace/generated-sql/dags/bqetl_generated_funnels.py --- /tmp/workspace/main-generated-sql/dags/bqetl_generated_funnels.py 2024-08-04 06:31:56.000000000 +0000 +++ /tmp/workspace/generated-sql/dags/bqetl_generated_funnels.py 2024-08-04 06:49:09.000000000 +0000 @@ -288,6 +288,21 @@ ) ) + monitor_frontend_derived__monitor_dashboard_user_journey_funnels__v1 = bigquery_etl_query( + task_id="monitor_frontend_derived__monitor_dashboard_user_journey_funnels__v1", + destination_table="monitor_dashboard_user_journey_funnels_v1", + dataset_id="monitor_frontend_derived", + project_id="moz-fx-data-shared-prod", + owner="ksiegler@mozilla.org", + email=[ + "ascholtz@mozilla.com", + "ksiegler@mozilla.org", + "telemetry-alerts@mozilla.com", + ], + date_partition_parameter="submission_date", + depends_on_past=False, + ) + accounts_frontend_derived__email_first_reg_login_funnels_by_service__v1.set_upstream( wait_for_copy_deduplicate_all ) @@ -349,3 +364,7 @@ firefox_accounts_derived__registration_funnels_legacy_events__v1.set_upstream( wait_for_firefox_accounts_derived__fxa_stdout_events__v1 ) + + monitor_frontend_derived__monitor_dashboard_user_journey_funnels__v1.set_upstream( + wait_for_copy_deduplicate_all + ) diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/dags/bqetl_monitoring.py /tmp/workspace/generated-sql/dags/bqetl_monitoring.py --- /tmp/workspace/main-generated-sql/dags/bqetl_monitoring.py 2024-08-04 06:31:56.000000000 +0000 +++ /tmp/workspace/generated-sql/dags/bqetl_monitoring.py 2024-08-04 06:49:07.000000000 +0000 @@ -295,17 +295,6 @@ email=["amiyaguchi@mozilla.com", "ascholtz@mozilla.com"], ) - monitoring_derived__table_partition_expirations__v1 = bigquery_etl_query( - task_id="monitoring_derived__table_partition_expirations__v1", - destination_table="table_partition_expirations_v1", - dataset_id="monitoring_derived", - project_id="moz-fx-data-shared-prod", - owner="bewu@mozilla.cam", - email=["ascholtz@mozilla.com", "bewu@mozilla.cam"], - date_partition_parameter="submission_date", - depends_on_past=True, - ) - monitoring_derived__telemetry_missing_columns__v3 = bigquery_etl_query( task_id="monitoring_derived__telemetry_missing_columns__v3", destination_table="telemetry_missing_columns_v3", @@ -361,10 +350,6 @@ wait_for_copy_deduplicate_all ) - monitoring_derived__table_partition_expirations__v1.set_upstream( - wait_for_copy_deduplicate_all - ) - monitoring_derived__telemetry_missing_columns__v3.set_upstream( wait_for_copy_deduplicate_all ) diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/dags/bqetl_search_dashboard.py /tmp/workspace/generated-sql/dags/bqetl_search_dashboard.py --- /tmp/workspace/main-generated-sql/dags/bqetl_search_dashboard.py 2024-08-04 06:31:56.000000000 +0000 +++ /tmp/workspace/generated-sql/dags/bqetl_search_dashboard.py 2024-08-04 06:49:07.000000000 +0000 @@ -323,6 +323,17 @@ depends_on_past=False, ) + search_derived__search_dau_aggregates__v1 = bigquery_etl_query( + task_id="search_derived__search_dau_aggregates__v1", + destination_table="search_dau_aggregates_v1", + dataset_id="search_derived", + project_id="moz-fx-data-shared-prod", + owner="mozilla/revenue_forecasting_data_reviewers", + email=["akomar@mozilla.com", "telemetry-alerts@mozilla.com"], + date_partition_parameter="submission_date", + depends_on_past=False, + ) + search_derived__search_revenue_levers_daily__v1 = bigquery_etl_query( task_id="search_derived__search_revenue_levers_daily__v1", destination_table="search_revenue_levers_daily_v1", @@ -346,6 +357,74 @@ wait_for_search_derived__mobile_search_clients_daily__v1 ) + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_fenix_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_fenix_nightly_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_fennec_aurora_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_firefox_beta_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_firefox_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_focus_beta_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_focus_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_focus_nightly_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_fennec_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_firefox_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_firefoxbeta_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_focus_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_klar_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_klar_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_telemetry_derived__clients_last_seen__v2 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_copy_deduplicate_all + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_search_derived__search_clients_daily__v8 + ) + search_derived__search_revenue_levers_daily__v1.set_upstream( wait_for_checks__fail_org_mozilla_fenix_derived__baseline_clients_last_seen__v1 ) Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/ads: ppa_measurements_limited Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/browser_usage_errors_v1: checks.sql Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/browser_usage_v1: checks.sql Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/device_usage_errors_v1: checks.sql Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/device_usage_v1: checks.sql Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/os_usage_errors_v1: checks.sql Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/os_usage_v1: checks.sql Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/monitoring_derived: table_partition_expirations_v1 Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search: search_dau_aggregates Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived: search_dau_aggregates_v1 diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/event_monitoring_live_v1/materialized_view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:26:26.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:29:12.000000000 +0000 @@ -60,7 +60,7 @@ LEFT JOIN UNNEST(event.extra) AS event_extra WHERE - DATE(submission_timestamp) >= "2024-08-02" + DATE(submission_timestamp) >= "2024-08-04" GROUP BY submission_date, window_start, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/event_monitoring_live_v1/materialized_view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:26:26.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:29:13.000000000 +0000 @@ -60,7 +60,7 @@ LEFT JOIN UNNEST(event.extra) AS event_extra WHERE - DATE(submission_timestamp) >= "2024-08-02" + DATE(submission_timestamp) >= "2024-08-04" GROUP BY submission_date, window_start, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_frontend_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_frontend_derived/event_monitoring_live_v1/materialized_view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_frontend_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:26:25.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_frontend_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:29:13.000000000 +0000 @@ -60,7 +60,7 @@ LEFT JOIN UNNEST(event.extra) AS event_extra WHERE - DATE(submission_timestamp) >= "2024-08-02" + DATE(submission_timestamp) >= "2024-08-04" GROUP BY submission_date, window_start, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/ads/ppa_measurements/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/ads/ppa_measurements/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/ads/ppa_measurements/metadata.yaml 2024-08-04 06:26:38.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/ads/ppa_measurements/metadata.yaml 2024-08-04 06:43:03.000000000 +0000 @@ -5,6 +5,9 @@ This data lives in the moz-fx-ads-nonprod project and is generated by the PPA DAP Collector job (dap_collector_ppa_dev DAG, defined in telemetry-airflow and docker-etl) + + Temporarily pointed at the dev instance of this data; will point to prod once + that exists owners: - cmorales@mozilla.com workgroup_access: diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/ads/ppa_measurements_limited/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/ads/ppa_measurements_limited/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/ads/ppa_measurements_limited/metadata.yaml 2024-08-04 06:26:38.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/ads/ppa_measurements_limited/metadata.yaml 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -friendly_name: PPA Measurements -description: |- - Aggregated conversion data from PPA (Privacy-Preserving Attribution) - - Strips sensitive fields advertiser_name, advertiser_id, and campaign_id to - produce a version of this view that is safe to expose to mozilla-confidential - - This data lives in the moz-fx-ads-nonprod project and is generated by the - PPA DAP Collector job (dap_collector_ppa_dev DAG, defined in - telemetry-airflow and docker-etl) -owners: - - cmorales@mozilla.com -labels: - authorized: true -workgroup_access: - - role: roles/bigquery.dataViewer - members: - - workgroup:mozilla-confidential - -# Generated by bigquery_etl.dependency -references: - view.sql: - - moz-fx-ads-prod.ppa.measurements diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/ads/ppa_measurements_limited/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/ads/ppa_measurements_limited/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/ads/ppa_measurements_limited/view.sql 2024-08-04 06:25:45.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/ads/ppa_measurements_limited/view.sql 1970-01-01 00:00:00.000000000 +0000 @@ -1,14 +0,0 @@ -CREATE OR REPLACE VIEW - `moz-fx-data-shared-prod.ads.ppa_measurements_limited` -AS -SELECT - collection_time, - placement_id, - ad_id, - conversion_key, - task_size, - task_id, - task_index, - conversion_count, -FROM - `moz-fx-ads-prod.ppa.measurements` diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/materialized_view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:26:26.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:29:13.000000000 +0000 @@ -80,7 +80,7 @@ LEFT JOIN UNNEST(event.extra) AS event_extra WHERE - DATE(submission_timestamp) >= "2024-08-02" + DATE(submission_timestamp) >= "2024-08-04" GROUP BY submission_date, window_start, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/event_monitoring_live_v1/materialized_view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:26:26.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:29:13.000000000 +0000 @@ -60,7 +60,7 @@ LEFT JOIN UNNEST(event.extra) AS event_extra WHERE - DATE(submission_timestamp) >= "2024-08-02" + DATE(submission_timestamp) >= "2024-08-04" GROUP BY submission_date, window_start, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/browser_usage_errors_v1/checks.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/browser_usage_errors_v1/checks.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/browser_usage_errors_v1/checks.sql 2024-08-04 06:25:45.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/browser_usage_errors_v1/checks.sql 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -#warn -{{ is_unique(["dte", "location", "user_type", "device_type", "operating_system"]) }} diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/browser_usage_errors_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/browser_usage_errors_v1/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/browser_usage_errors_v1/metadata.yaml 2024-08-04 06:27:35.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/browser_usage_errors_v1/metadata.yaml 2024-08-04 06:43:53.000000000 +0000 @@ -22,6 +22,4 @@ - role: roles/bigquery.dataViewer members: - workgroup:mozilla-confidential -references: - checks.sql: - - .. +references: {} diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/browser_usage_v1/checks.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/browser_usage_v1/checks.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/browser_usage_v1/checks.sql 2024-08-04 06:25:45.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/browser_usage_v1/checks.sql 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -#warn -{{ is_unique(["dte", "device_type", "user_type", "location", "browser", "operating_system"]) }} diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/browser_usage_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/browser_usage_v1/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/browser_usage_v1/metadata.yaml 2024-08-04 06:27:35.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/browser_usage_v1/metadata.yaml 2024-08-04 06:43:53.000000000 +0000 @@ -30,6 +30,4 @@ - role: roles/bigquery.dataViewer members: - workgroup:mozilla-confidential -references: - checks.sql: - - .. +references: {} diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/device_usage_errors_v1/checks.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/device_usage_errors_v1/checks.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/device_usage_errors_v1/checks.sql 2024-08-04 06:25:45.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/device_usage_errors_v1/checks.sql 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -#warn -{{ is_unique(["dte", "location"]) }} diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/device_usage_errors_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/device_usage_errors_v1/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/device_usage_errors_v1/metadata.yaml 2024-08-04 06:27:35.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/device_usage_errors_v1/metadata.yaml 2024-08-04 06:43:53.000000000 +0000 @@ -19,6 +19,4 @@ - role: roles/bigquery.dataViewer members: - workgroup:mozilla-confidential -references: - checks.sql: - - .. +references: {} diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/device_usage_v1/checks.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/device_usage_v1/checks.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/device_usage_v1/checks.sql 2024-08-04 06:25:45.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/device_usage_v1/checks.sql 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -#warn -{{ is_unique(["dte", "location", "user_type"]) }} diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/device_usage_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/device_usage_v1/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/device_usage_v1/metadata.yaml 2024-08-04 06:27:35.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/device_usage_v1/metadata.yaml 2024-08-04 06:43:53.000000000 +0000 @@ -29,6 +29,4 @@ - role: roles/bigquery.dataViewer members: - workgroup:mozilla-confidential -references: - checks.sql: - - .. +references: {} diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/os_usage_errors_v1/checks.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/os_usage_errors_v1/checks.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/os_usage_errors_v1/checks.sql 2024-08-04 06:25:45.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/os_usage_errors_v1/checks.sql 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -#warn -{{ is_unique(["dte", "location", "device_type"]) }} diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/os_usage_errors_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/os_usage_errors_v1/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/os_usage_errors_v1/metadata.yaml 2024-08-04 06:27:35.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/os_usage_errors_v1/metadata.yaml 2024-08-04 06:43:53.000000000 +0000 @@ -21,6 +21,4 @@ - role: roles/bigquery.dataViewer members: - workgroup:mozilla-confidential -references: - checks.sql: - - .. +references: {} diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/os_usage_v1/checks.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/os_usage_v1/checks.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/os_usage_v1/checks.sql 2024-08-04 06:25:45.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/os_usage_v1/checks.sql 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -#warn -{{ is_unique(["dte", "os", "location", "device_type"]) }} diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/os_usage_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/os_usage_v1/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/os_usage_v1/metadata.yaml 2024-08-04 06:27:35.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/cloudflare_derived/os_usage_v1/metadata.yaml 2024-08-04 06:43:53.000000000 +0000 @@ -30,6 +30,4 @@ - role: roles/bigquery.dataViewer members: - workgroup:mozilla-confidential -references: - checks.sql: - - .. +references: {} diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates/schema.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates/schema.yaml 2024-08-04 06:25:45.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates/schema.yaml 2024-08-04 06:36:48.000000000 +0000 @@ -1,49 +1,49 @@ fields: -- mode: NULLABLE - name: submission_date +- name: submission_date type: DATE -- mode: NULLABLE - name: source + mode: NULLABLE +- name: source type: STRING -- mode: NULLABLE - name: event_type + mode: NULLABLE +- name: event_type type: STRING -- mode: NULLABLE - name: form_factor + mode: NULLABLE +- name: form_factor type: STRING -- mode: NULLABLE - name: country + mode: NULLABLE +- name: country type: STRING -- mode: NULLABLE - name: subdivision1 + mode: NULLABLE +- name: subdivision1 type: STRING -- mode: NULLABLE - name: advertiser + mode: NULLABLE +- name: advertiser type: STRING -- mode: NULLABLE - name: release_channel + mode: NULLABLE +- name: release_channel type: STRING -- mode: NULLABLE - name: position + mode: NULLABLE +- name: position type: INTEGER -- mode: NULLABLE - name: provider + mode: NULLABLE +- name: provider type: STRING -- mode: NULLABLE - name: match_type + mode: NULLABLE +- name: match_type type: STRING -- mode: NULLABLE - name: normalized_os + mode: NULLABLE +- name: normalized_os type: STRING -- mode: NULLABLE - name: suggest_data_sharing_enabled + mode: NULLABLE +- name: suggest_data_sharing_enabled type: BOOLEAN -- mode: NULLABLE - name: event_count + mode: NULLABLE +- name: event_count type: INTEGER -- mode: NULLABLE - name: user_count + mode: NULLABLE +- name: user_count type: INTEGER -- mode: NULLABLE - name: query_type + mode: NULLABLE +- name: query_type type: STRING + mode: NULLABLE diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates_suggest/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates_suggest/schema.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates_suggest/schema.yaml 2024-08-04 06:25:45.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates_suggest/schema.yaml 2024-08-04 06:36:48.000000000 +0000 @@ -1,40 +1,40 @@ fields: -- mode: NULLABLE - name: submission_date +- name: submission_date type: DATE -- mode: NULLABLE - name: form_factor + mode: NULLABLE +- name: form_factor type: STRING -- mode: NULLABLE - name: country + mode: NULLABLE +- name: country type: STRING -- mode: NULLABLE - name: advertiser + mode: NULLABLE +- name: advertiser type: STRING -- mode: NULLABLE - name: normalized_os + mode: NULLABLE +- name: normalized_os type: STRING -- mode: NULLABLE - name: release_channel + mode: NULLABLE +- name: release_channel type: STRING -- mode: NULLABLE - name: position + mode: NULLABLE +- name: position type: INTEGER -- mode: NULLABLE - name: provider + mode: NULLABLE +- name: provider type: STRING -- mode: NULLABLE - name: match_type + mode: NULLABLE +- name: match_type type: STRING -- mode: NULLABLE - name: suggest_data_sharing_enabled + mode: NULLABLE +- name: suggest_data_sharing_enabled type: BOOLEAN -- mode: NULLABLE - name: impression_count + mode: NULLABLE +- name: impression_count type: INTEGER -- mode: NULLABLE - name: click_count + mode: NULLABLE +- name: click_count type: INTEGER -- mode: NULLABLE - name: query_type + mode: NULLABLE +- name: query_type type: STRING + mode: NULLABLE diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/debug_ping_view_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/debug_ping_view_derived/event_monitoring_live_v1/materialized_view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/debug_ping_view_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:26:26.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/debug_ping_view_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:29:14.000000000 +0000 @@ -60,7 +60,7 @@ LEFT JOIN UNNEST(event.extra) AS event_extra WHERE - DATE(submission_timestamp) >= "2024-08-02" + DATE(submission_timestamp) >= "2024-08-04" GROUP BY submission_date, window_start, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/funnel_retention_clients/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/funnel_retention_clients/schema.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/funnel_retention_clients/schema.yaml 2024-08-04 06:25:45.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/funnel_retention_clients/schema.yaml 2024-08-04 06:34:39.000000000 +0000 @@ -26,6 +26,9 @@ - name: adjust_network type: STRING mode: NULLABLE +- name: install_source + type: STRING + mode: NULLABLE - name: retained_week_2 type: BOOLEAN mode: NULLABLE diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/funnel_retention_week_4/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/funnel_retention_week_4/schema.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/funnel_retention_week_4/schema.yaml 2024-08-04 06:25:45.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/funnel_retention_week_4/schema.yaml 2024-08-04 06:34:40.000000000 +0000 @@ -48,6 +48,10 @@ description: 'The type of source of a client installation. ' +- name: install_source + type: STRING + mode: NULLABLE + description: null - name: new_profiles type: INTEGER mode: NULLABLE diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_defaultagent_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_defaultagent_derived/event_monitoring_live_v1/materialized_view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_defaultagent_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:26:26.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_defaultagent_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:29:14.000000000 +0000 @@ -60,7 +60,7 @@ LEFT JOIN UNNEST(event.extra) AS event_extra WHERE - DATE(submission_timestamp) >= "2024-08-02" + DATE(submission_timestamp) >= "2024-08-04" GROUP BY submission_date, window_start, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_tasks_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_tasks_derived/event_monitoring_live_v1/materialized_view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_tasks_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:26:26.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_tasks_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:29:14.000000000 +0000 @@ -70,7 +70,7 @@ LEFT JOIN UNNEST(event.extra) AS event_extra WHERE - DATE(submission_timestamp) >= "2024-08-02" + DATE(submission_timestamp) >= "2024-08-04" GROUP BY submission_date, window_start, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_update_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_update_derived/event_monitoring_live_v1/materialized_view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_update_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:26:26.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_update_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:29:14.000000000 +0000 @@ -60,7 +60,7 @@ LEFT JOIN UNNEST(event.extra) AS event_extra WHERE - DATE(submission_timestamp) >= "2024-08-02" + DATE(submission_timestamp) >= "2024-08-04" GROUP BY submission_date, window_start, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_derived/event_monitoring_live_v1/materialized_view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:26:26.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:29:14.000000000 +0000 @@ -90,7 +90,7 @@ LEFT JOIN UNNEST(event.extra) AS event_extra WHERE - DATE(submission_timestamp) >= "2024-08-02" + DATE(submission_timestamp) >= "2024-08-04" GROUP BY submission_date, window_start, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_translations_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_translations_derived/event_monitoring_live_v1/materialized_view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_translations_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:26:25.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_translations_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:29:15.000000000 +0000 @@ -70,7 +70,7 @@ LEFT JOIN UNNEST(event.extra) AS event_extra WHERE - DATE(submission_timestamp) >= "2024-08-02" + DATE(submission_timestamp) >= "2024-08-04" GROUP BY submission_date, window_start, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/glean_dictionary_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/glean_dictionary_derived/event_monitoring_live_v1/materialized_view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/glean_dictionary_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:26:26.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/glean_dictionary_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:29:15.000000000 +0000 @@ -60,7 +60,7 @@ LEFT JOIN UNNEST(event.extra) AS event_extra WHERE - DATE(submission_timestamp) >= "2024-08-02" + DATE(submission_timestamp) >= "2024-08-04" GROUP BY submission_date, window_start, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/gleanjs_docs_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/gleanjs_docs_derived/event_monitoring_live_v1/materialized_view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/gleanjs_docs_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:26:26.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/gleanjs_docs_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:29:15.000000000 +0000 @@ -60,7 +60,7 @@ LEFT JOIN UNNEST(event.extra) AS event_extra WHERE - DATE(submission_timestamp) >= "2024-08-02" + DATE(submission_timestamp) >= "2024-08-04" GROUP BY submission_date, window_start, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/google_search_console/search_impressions_by_page/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/google_search_console/search_impressions_by_page/schema.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/google_search_console/search_impressions_by_page/schema.yaml 2024-08-04 06:25:45.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/google_search_console/search_impressions_by_page/schema.yaml 2024-08-04 06:34:25.000000000 +0000 @@ -6,9 +6,10 @@ - name: site_url type: STRING mode: NULLABLE - description: |- - For domain properties, this will be `sc-domain:` followed by the domain name. - For URL-prefix properties, it will be the full URL of the property definition. + description: 'For domain properties, this will be `sc-domain:` followed by the domain + name. + + For URL-prefix properties, it will be the full URL of the property definition.' - name: site_domain_name type: STRING mode: NULLABLE @@ -16,103 +17,110 @@ - name: page_url type: STRING mode: NULLABLE - description: |- - The final page URL linked by a search result after any skip redirects. - This will be null for anonymized Discover impressions. + description: 'The final page URL linked by a search result after any skip redirects. + + This will be null for anonymized Discover impressions.' - name: page_domain_name type: STRING mode: NULLABLE - description: |- - Domain name of the page URL. - This will be null for anonymized Discover impressions. + description: 'Domain name of the page URL. + + This will be null for anonymized Discover impressions.' - name: page_path type: STRING mode: NULLABLE - description: |- - The path part of the page URL. - This will be null for anonymized Discover impressions. + description: 'The path part of the page URL. + + This will be null for anonymized Discover impressions.' - name: localized_site_code type: STRING mode: NULLABLE - description: |- - Localized site code such as `en-US` or `de` found in the first segment of the page URL path (if any). - This will be null for anonymized Discover impressions. + description: 'Localized site code such as `en-US` or `de` found in the first segment + of the page URL path (if any). + + This will be null for anonymized Discover impressions.' - name: localized_site type: STRING mode: NULLABLE - description: |- - Description of the localized site language and/or country based on `localized_site_code` (if any). - This will be null for anonymized Discover impressions. + description: 'Description of the localized site language and/or country based on + `localized_site_code` (if any). + + This will be null for anonymized Discover impressions.' - name: localized_site_language_code type: STRING mode: NULLABLE - description: |- - Localized site language code in ISO-639-alpha-2 format found in the first segment of the page URL path (if any). - This will be null for anonymized Discover impressions. + description: 'Localized site language code in ISO-639-alpha-2 format found in the + first segment of the page URL path (if any). + + This will be null for anonymized Discover impressions.' - name: localized_site_language type: STRING mode: NULLABLE - description: |- - Localized site language based on `localized_site_language_code` (if any). - This will be null for anonymized Discover impressions. + description: 'Localized site language based on `localized_site_language_code` (if + any). + + This will be null for anonymized Discover impressions.' - name: query type: STRING mode: NULLABLE - description: |- - The search query. - This will be null for anonymized search impressions, and all Discover and Google News search impressions. + description: 'The search query. + + This will be null for anonymized search impressions, and all Discover and Google + News search impressions.' - name: query_type type: STRING mode: NULLABLE - description: |- - Type of search query: - * Anonymized: Query was redacted by Google to protect the users' privacy. - * Brand: Query contained one or more Mozilla brand keywords. - * Non-Brand: Query didn't contain any Mozilla brand keywords. - * Unknown: Query couldn't be classified. - This will be null for all Discover and Google News search impressions. + description: "Type of search query:\n * Anonymized: Query was redacted by Google\ + \ to protect the users' privacy.\n * Brand: Query contained one or more Mozilla\ + \ brand keywords.\n * Non-Brand: Query didn't contain any Mozilla brand keywords.\n\ + \ * Unknown: Query couldn't be classified.\nThis will be null for all Discover\ + \ and Google News search impressions." - name: is_anonymized type: BOOLEAN mode: NULLABLE - description: |- - Whether Google has anonymized the search impression to protect the users' privacy. + description: 'Whether Google has anonymized the search impression to protect the + users'' privacy. + The `query` field will be null for anonymized search impressions. - The `country_code`, `page_url`, and related fields will be null for anonymized Discover impressions. + + The `country_code`, `page_url`, and related fields will be null for anonymized + Discover impressions.' - name: has_good_page_experience type: BOOLEAN mode: NULLABLE - description: |- - Whether Google Search considers the page to be providing a good page experience. - This will be null when the source data wasn't exported directly to BigQuery by Google. + description: 'Whether Google Search considers the page to be providing a good page + experience. + + This will be null when the source data wasn''t exported directly to BigQuery by + Google.' - name: search_type type: STRING mode: NULLABLE - description: |- - Where the link was seen by the user: - * Web: In Google Search's default "All" tab. - * Image: In Google Search's "Images" tab. - * Video: In Google Search's "Videos" tab. - * News: In Google Search's "News" tab. - * Discover: In Google's Discover feed. - * Google News: On news.google.com or in the Google News app on Android and iOS. + description: "Where the link was seen by the user:\n * Web: In Google Search's\ + \ default \"All\" tab.\n * Image: In Google Search's \"Images\" tab.\n * Video:\ + \ In Google Search's \"Videos\" tab.\n * News: In Google Search's \"News\" tab.\n\ + \ * Discover: In Google's Discover feed.\n * Google News: On news.google.com\ + \ or in the Google News app on Android and iOS." - name: search_appearance type: STRING mode: NULLABLE - description: |- - How the search result appeared (e.g. normal result, translated result, video). - This will be null when the source data wasn't exported directly to BigQuery by Google. + description: 'How the search result appeared (e.g. normal result, translated result, + video). + + This will be null when the source data wasn''t exported directly to BigQuery by + Google.' - name: user_country_code type: STRING mode: NULLABLE - description: |- - Country from which the user was searching, in ISO-3166-1-alpha-3 format. - This will be null for anonymized Discover impressions. + description: 'Country from which the user was searching, in ISO-3166-1-alpha-3 format. + + This will be null for anonymized Discover impressions.' - name: user_country type: STRING mode: NULLABLE - description: |- - Country from which the user was searching. - This will be null for anonymized Discover impressions. + description: 'Country from which the user was searching. + + This will be null for anonymized Discover impressions.' - name: user_region type: STRING mode: NULLABLE @@ -124,13 +132,15 @@ - name: device_type type: STRING mode: NULLABLE - description: |- - The type of device on which the user was searching: Desktop, Mobile, or Tablet. - This will be null for Discover impressions. + description: 'The type of device on which the user was searching: Desktop, Mobile, + or Tablet. + + This will be null for Discover impressions.' - name: impressions type: INTEGER mode: NULLABLE - description: The number of times that search results with a link to the page were shown to a user. + description: The number of times that search results with a link to the page were + shown to a user. - name: clicks type: INTEGER mode: NULLABLE @@ -138,6 +148,7 @@ - name: average_position type: FLOAT mode: NULLABLE - description: |- - The average position of the page in the search results, where `1` is the topmost position. - This will be null for Discover and Google News search impressions. + description: 'The average position of the page in the search results, where `1` + is the topmost position. + + This will be null for Discover and Google News search impressions.' diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/google_search_console/search_impressions_by_site/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/google_search_console/search_impressions_by_site/schema.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/google_search_console/search_impressions_by_site/schema.yaml 2024-08-04 06:25:45.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/google_search_console/search_impressions_by_site/schema.yaml 2024-08-04 06:34:25.000000000 +0000 @@ -6,9 +6,10 @@ - name: site_url type: STRING mode: NULLABLE - description: |- - For domain properties, this will be `sc-domain:` followed by the domain name. - For URL-prefix properties, it will be the full URL of the property definition. + description: 'For domain properties, this will be `sc-domain:` followed by the domain + name. + + For URL-prefix properties, it will be the full URL of the property definition.' - name: site_domain_name type: STRING mode: NULLABLE @@ -20,27 +21,23 @@ - name: query_type type: STRING mode: NULLABLE - description: |- - Type of search query: - * Anonymized: Query was redacted by Google to protect the users' privacy. - * Brand: Query contained one or more Mozilla brand keywords. - * Non-Brand: Query didn't contain any Mozilla brand keywords. - * Unknown: Query couldn't be classified. + description: "Type of search query:\n * Anonymized: Query was redacted by Google\ + \ to protect the users' privacy.\n * Brand: Query contained one or more Mozilla\ + \ brand keywords.\n * Non-Brand: Query didn't contain any Mozilla brand keywords.\n\ + \ * Unknown: Query couldn't be classified." - name: is_anonymized type: BOOLEAN mode: NULLABLE - description: |- - Whether Google has anonymized the search impression to protect the users' privacy. - The `query` field will be null for anonymized search impressions. + description: 'Whether Google has anonymized the search impression to protect the + users'' privacy. + + The `query` field will be null for anonymized search impressions.' - name: search_type type: STRING mode: NULLABLE - description: |- - Where the link was seen by the user: - * Web: In Google Search's default "All" tab. - * Image: In Google Search's "Images" tab. - * Video: In Google Search's "Videos" tab. - * News: In Google Search's "News" tab. + description: "Where the link was seen by the user:\n * Web: In Google Search's\ + \ default \"All\" tab.\n * Image: In Google Search's \"Images\" tab.\n * Video:\ + \ In Google Search's \"Videos\" tab.\n * News: In Google Search's \"News\" tab." - name: user_country_code type: STRING mode: NULLABLE @@ -60,17 +57,20 @@ - name: device_type type: STRING mode: NULLABLE - description: |- - The type of device on which the user was searching: Desktop, Mobile, or Tablet. + description: 'The type of device on which the user was searching: Desktop, Mobile, + or Tablet.' - name: impressions type: INTEGER mode: NULLABLE - description: The number of times that search results with at least one link to the site were shown to a user. + description: The number of times that search results with at least one link to the + site were shown to a user. - name: clicks type: INTEGER mode: NULLABLE - description: The number of times a user clicked at least one search result link to the site. + description: The number of times a user clicked at least one search result link + to the site. - name: average_top_position type: FLOAT mode: NULLABLE - description: The average top position of the site in the search results, where `1` is the topmost position. + description: The average top position of the site in the search results, where `1` + is the topmost position. diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/mdn_yari_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/mdn_yari_derived/event_monitoring_live_v1/materialized_view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/mdn_yari_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:26:26.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/mdn_yari_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:29:15.000000000 +0000 @@ -70,7 +70,7 @@ LEFT JOIN UNNEST(event.extra) AS event_extra WHERE - DATE(submission_timestamp) >= "2024-08-02" + DATE(submission_timestamp) >= "2024-08-04" GROUP BY submission_date, window_start, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/monitor_cirrus_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/monitor_cirrus_derived/event_monitoring_live_v1/materialized_view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/monitor_cirrus_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:26:25.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/monitor_cirrus_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:29:15.000000000 +0000 @@ -60,7 +60,7 @@ LEFT JOIN UNNEST(event.extra) AS event_extra WHERE - DATE(submission_timestamp) >= "2024-08-02" + DATE(submission_timestamp) >= "2024-08-04" GROUP BY submission_date, window_start, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/monitor_frontend_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/monitor_frontend_derived/event_monitoring_live_v1/materialized_view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/monitor_frontend_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:26:26.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/monitor_frontend_derived/event_monitoring_live_v1/materialized_view.sql 2024-08-04 06:29:14.000000000 +0000 @@ -60,7 +60,7 @@ LEFT JOIN UNNEST(event.extra) AS event_extra WHERE - DATE(submission_timestamp) >= "2024-08-02" + DATE(submission_timestamp) >= "2024-08-04" GROUP BY submission_date, window_start, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/monitor_frontend_derived/event_monitoring_live_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/monitor_frontend_derived/event_monitoring_live_v1/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/monitor_frontend_derived/event_monitoring_live_v1/metadata.yaml 2024-08-04 06:26:59.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/monitor_frontend_derived/event_monitoring_live_v1/metadata.yaml 2024-08-04 06:43:57.000000000 +0000 @@ -1,10 +1,19 @@ +friendly_name: Event Monitoring Live +description: |- + Materialized view of experimentation related events + coming from monitor_frontend. +owners: +- ascholtz@mozilla.com +- akomar@mozilla.com +labels: + materialized_view: true + owner1: ascholtz + owner2: akomar +bigquery: null workgroup_access: - role: roles/bigquery.dataViewer members: - workgroup:mozilla-confidential - - workgroup:dataops-managed/external-fides - -# Generated by bigquery_etl.dependency references: materialized_view.sql: - moz-fx-data-shared-prod.monitor_frontend_live.events_v1 diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/monitor_frontend_derived/monitor_dashboard_user_journey_funnels_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/monitor_frontend_derived/monitor_dashboard_user_journey_funnels_v1/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/monitor_frontend_derived/monitor_dashboard_user_journey_funnels_v1/metadata.yaml 2024-08-04 06:26:59.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/monitor_frontend_derived/monitor_dashboard_user_journey_funnels_v1/metadata.yaml 2024-08-04 06:43:57.000000000 +0000 @@ -1,10 +1,26 @@ +friendly_name: Monitor Dashboard User Journey Funnels +description: |- + Please provide a description for the query +owners: +- ksiegler@mozilla.org +labels: + incremental: true + dag: bqetl_generated_funnels + owner1: ksiegler +scheduling: + dag_name: bqetl_generated_funnels +bigquery: + time_partitioning: + type: day + field: submission_date + require_partition_filter: false + expiration_days: null + range_partitioning: null + clustering: null workgroup_access: - role: roles/bigquery.dataViewer members: - workgroup:mozilla-confidential - - workgroup:dataops-managed/external-fides - -# Generated by bigquery_etl.dependency references: query.sql: - mozdata.monitor_frontend.events_unnested diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/monitoring_derived/table_partition_expirations_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/monitoring_derived/table_partition_expirations_v1/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/monitoring_derived/table_partition_expirations_v1/metadata.yaml 2024-08-04 06:26:26.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/monitoring_derived/table_partition_expirations_v1/metadata.yaml 1970-01-01 00:00:00.000000000 +0000 @@ -1,102 +0,0 @@ -friendly_name: Table Partition Expirations -description: |- - Earliest partitions and partition expiration info per stable table per day. -owners: -- bewu@mozilla.cam -labels: - incremental: true - owner1: bewu - dag: bqetl_monitoring -scheduling: - dag_name: bqetl_monitoring - depends_on_past: true -bigquery: - time_partitioning: - type: day - field: run_date - require_partition_filter: false - expiration_days: null - range_partitioning: null - clustering: null -workgroup_access: -- role: roles/bigquery.dataViewer - members: - - workgroup:mozilla-confidential -references: - query.sql: - - moz-fx-data-shared-prod.accounts_backend_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.accounts_cirrus_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.accounts_frontend_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.activity_stream_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.ads_backend_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.bedrock_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.burnham_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.contextual_services_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.coverage_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.debug_ping_view_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.default_browser_agent_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.eng_workflow_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.firefox_accounts_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.firefox_desktop_background_defaultagent_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.firefox_desktop_background_tasks_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.firefox_desktop_background_update_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.firefox_desktop_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.firefox_installer_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.firefox_launcher_process_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.firefox_translations_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.glean_dictionary_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.gleanjs_docs_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.mdn_yari_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.messaging_system_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.mlhackweek_search_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.mobile_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.monitor_backend_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.monitor_cirrus_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.monitor_frontend_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.monitoring_derived.table_partition_expirations_v1 - - moz-fx-data-shared-prod.moso_mastodon_backend_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.moso_mastodon_web_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.mozilla_lockbox_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.mozilla_mach_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.mozillavpn_backend_cirrus_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.mozillavpn_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.mozphab_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.org_mozilla_bergamot_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.org_mozilla_connect_firefox_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.org_mozilla_fenix_nightly_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.org_mozilla_fenix_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.org_mozilla_fennec_aurora_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.org_mozilla_firefox_beta_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.org_mozilla_firefox_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.org_mozilla_firefox_vpn_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.org_mozilla_firefoxreality_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.org_mozilla_focus_beta_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.org_mozilla_focus_nightly_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.org_mozilla_focus_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.org_mozilla_ios_fennec_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.org_mozilla_ios_firefox_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.org_mozilla_ios_firefoxbeta_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.org_mozilla_ios_firefoxvpn_network_extension_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.org_mozilla_ios_firefoxvpn_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.org_mozilla_ios_focus_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.org_mozilla_ios_klar_stable.INFORMATION_SCHEMA.PARTITIONS - - moz-fx-data-shared-prod.org_mozi ```

⚠️ Only part of the diff is displayed.

Link to full diff

dataops-ci-bot commented 1 month ago

Integration report for "Merge branch 'main' into mobile_search_aggregates_dau"

sql.diff

Click to expand! ```diff diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/dags/bqetl_search_dashboard.py /tmp/workspace/generated-sql/dags/bqetl_search_dashboard.py --- /tmp/workspace/main-generated-sql/dags/bqetl_search_dashboard.py 2024-08-13 19:10:18.000000000 +0000 +++ /tmp/workspace/generated-sql/dags/bqetl_search_dashboard.py 2024-08-13 19:12:17.000000000 +0000 @@ -323,6 +323,17 @@ depends_on_past=False, ) + search_derived__search_dau_aggregates__v1 = bigquery_etl_query( + task_id="search_derived__search_dau_aggregates__v1", + destination_table="search_dau_aggregates_v1", + dataset_id="search_derived", + project_id="moz-fx-data-shared-prod", + owner="mozilla/revenue_forecasting_data_reviewers", + email=["akomar@mozilla.com", "telemetry-alerts@mozilla.com"], + date_partition_parameter="submission_date", + depends_on_past=False, + ) + search_derived__search_revenue_levers_daily__v1 = bigquery_etl_query( task_id="search_derived__search_revenue_levers_daily__v1", destination_table="search_revenue_levers_daily_v1", @@ -346,6 +357,74 @@ wait_for_search_derived__mobile_search_clients_daily__v1 ) + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_fenix_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_fenix_nightly_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_fennec_aurora_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_firefox_beta_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_firefox_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_focus_beta_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_focus_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_focus_nightly_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_fennec_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_firefox_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_firefoxbeta_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_focus_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_klar_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_klar_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_telemetry_derived__clients_last_seen__v2 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_copy_deduplicate_all + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_search_derived__search_clients_daily__v8 + ) + search_derived__search_revenue_levers_daily__v1.set_upstream( wait_for_checks__fail_org_mozilla_fenix_derived__baseline_clients_last_seen__v1 ) Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search: search_dau_aggregates Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived: search_dau_aggregates_v1 diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/metadata.yaml 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/metadata.yaml 2024-08-13 19:08:09.000000000 +0000 @@ -0,0 +1,13 @@ +friendly_name: Search Dau Aggregates +description: |- + Please provide a description for the query +owners: [] +labels: {} +bigquery: null +workgroup_access: +- role: roles/bigquery.dataViewer + members: + - workgroup:mozilla-confidential +references: + view.sql: + - moz-fx-data-shared-prod.search_derived.search_dau_aggregates_v1 diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/view.sql 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/view.sql 2024-08-13 19:05:33.000000000 +0000 @@ -0,0 +1,7 @@ +CREATE OR REPLACE VIEW + `moz-fx-data-shared-prod.search.search_dau_aggregates` +AS +SELECT + * +FROM + `moz-fx-data-shared-prod.search_derived.search_dau_aggregates_v1` diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/metadata.yaml 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/metadata.yaml 2024-08-13 19:08:10.000000000 +0000 @@ -0,0 +1,28 @@ +friendly_name: Search Revenue DAU aggregates +description: |- + Daily metrics including eligible DOU, + DAU_engaged_w_sap, DAU_engaged_w_default_engine + The table is labeled as "change_controlled", which implies + that changes require the approval of at least one owner. +owners: +- mozilla/revenue_forecasting_data_reviewers +labels: + incremental: true + schedule: daily + change_controlled: true + dag: bqetl_search_dashboard +scheduling: + dag_name: bqetl_search_dashboard +bigquery: + time_partitioning: + type: day + field: submission_date + require_partition_filter: true + expiration_days: null + range_partitioning: null + clustering: null +workgroup_access: +- role: roles/bigquery.dataViewer + members: + - workgroup:mozilla-confidential +references: {} diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/query.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/query.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/query.sql 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/query.sql 2024-08-13 19:05:33.000000000 +0000 @@ -0,0 +1,574 @@ +##### PULL SEARCH BEHAVIOR & ENGINES BY CLIENT +WITH desktop_search_data AS ( + SELECT + submission_date, + country, + client_id, + distribution_id, + CASE + WHEN default_search_engine LIKE '%google%' + THEN "Google" + WHEN default_search_engine LIKE '%bing%' + THEN "Bing" + WHEN default_search_engine LIKE '%ddg%' + OR default_search_engine LIKE '%duckduckgo%' + THEN "DuckDuckGo" + ELSE NULL + END AS normalized_default_search_engine, + normalized_engine, + SUM(sap) AS search_count, + SUM(ad_click) AS ad_click + FROM + `moz-fx-data-shared-prod.search.search_clients_engines_sources_daily` + WHERE + submission_date = @submission_date + GROUP BY + submission_date, + country, + client_id, + distribution_id, + normalized_default_search_engine, + normalized_engine +), +## have to pull mobile search data from baseline ping so dates match DAU +mobile_baseline_engine AS ( + SELECT DISTINCT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine_code AS default_search_engine + FROM + `moz-fx-data-shared-prod.fenix.baseline` + WHERE + DATE(submission_timestamp) = @submission_date + UNION ALL + SELECT DISTINCT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine AS default_search_engine + FROM + `moz-fx-data-shared-prod.firefox_ios.baseline` + WHERE + DATE(submission_timestamp) = @submission_date + UNION ALL + SELECT DISTINCT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.browser_default_search_engine AS default_search_engine + FROM + `moz-fx-data-shared-prod.focus_android.baseline` + WHERE + DATE(submission_timestamp) = @submission_date + UNION ALL + SELECT DISTINCT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine AS default_search_engine + FROM + `moz-fx-data-shared-prod.focus_ios.baseline` + WHERE + DATE(submission_timestamp) = @submission_date +), +mobile_baseline_search AS ( + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine_code AS default_search_engine, + key_value.key AS engine, + SUM(key_value.value) AS search_count + FROM + `moz-fx-data-shared-prod.fenix.baseline`, + UNNEST(metrics.labeled_counter.metrics_search_count) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + GROUP BY + 1, + 2, + 3, + 4 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine AS default_search_engine, + key_value.key AS engine, + SUM(key_value.value) AS search_count + FROM + `moz-fx-data-shared-prod.firefox_ios.baseline`, + UNNEST(metrics.labeled_counter.search_counts) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + GROUP BY + 1, + 2, + 3, + 4 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.browser_default_search_engine AS default_search_engine, + key_value.key AS engine, + SUM(key_value.value) AS search_count + FROM + `moz-fx-data-shared-prod.focus_android.baseline`, + UNNEST(metrics.labeled_counter.browser_search_search_count) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + GROUP BY + 1, + 2, + 3, + 4 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine AS default_search_engine, + key_value.key AS engine, + SUM(key_value.value) AS search_count + FROM + `moz-fx-data-shared-prod.focus_ios.baseline`, + UNNEST(metrics.labeled_counter.browser_search_search_count) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + GROUP BY + 1, + 2, + 3, + 4 +), +mobile_baseline_search_ad_clicks AS ( + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine_code AS default_search_engine, + key_value.key AS engine, + SUM(key_value.value) AS ad_click + FROM + `moz-fx-data-shared-prod.fenix.baseline`, + UNNEST(metrics.labeled_counter.browser_search_ad_clicks) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + GROUP BY + 1, + 2, + 3, + 4 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine AS default_search_engine, + key_value.key AS engine, + SUM(key_value.value) AS ad_click + FROM + `moz-fx-data-shared-prod.firefox_ios.baseline`, + UNNEST(metrics.labeled_counter.browser_search_ad_clicks) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + GROUP BY + 1, + 2, + 3, + 4 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.browser_default_search_engine AS default_search_engine, + key_value.key AS engine, + SUM(key_value.value) AS ad_click + FROM + `moz-fx-data-shared-prod.focus_android.baseline`, + UNNEST(metrics.labeled_counter.browser_search_ad_clicks) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + GROUP BY + 1, + 2, + 3, + 4 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine AS default_search_engine, + key_value.key AS engine, + SUM(key_value.value) AS ad_click + FROM + `moz-fx-data-shared-prod.focus_ios.baseline`, + UNNEST(metrics.labeled_counter.browser_search_ad_clicks) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + GROUP BY + 1, + 2, + 3, + 4 +), +mobile_baseline_full AS ( + SELECT + submission_date, + client_id, + CASE + WHEN default_search_engine LIKE '%google%' + THEN "Google" + WHEN default_search_engine LIKE '%bing%' + THEN "Bing" + WHEN default_search_engine LIKE '%ddg%' + OR default_search_engine LIKE '%duckduckgo%' + THEN "DuckDuckGo" + ELSE NULL + END AS normalized_default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(engine) AS normalized_engine, + SUM(search_count) AS search_count, + SUM(ad_click) AS ad_click + FROM + mobile_baseline_engine + LEFT JOIN + mobile_baseline_search + USING (submission_date, client_id, default_search_engine) + LEFT JOIN + mobile_baseline_search_ad_clicks + USING (submission_date, client_id, default_search_engine, engine) + GROUP BY + submission_date, + client_id, + normalized_default_search_engine, + normalized_engine +), +### PULL CLIENTS WHO QUALIFY FOR KPI ACTIVITY STANDARDS +desktop_dau_data AS ( + SELECT DISTINCT + "desktop" AS device, + submission_date, + country, + client_id, + normalized_channel + FROM + `mozdata.telemetry.desktop_active_users` + WHERE + submission_date = @submission_date + AND is_dau + # not including Mozilla Online + AND app_name = "Firefox Desktop" +), +mobile_dau_data AS ( + SELECT DISTINCT + "mobile" AS device, + submission_date, + country, + client_id, + normalized_channel + FROM + `mozdata.telemetry.mobile_active_users` + WHERE + submission_date = @submission_date + AND is_dau + # not including Fenix MozillaOnline, BrowserStack, Klar + AND app_name IN ("Focus iOS", "Firefox iOS", "Fenix", "Focus Android") +), +### FINAL CLIENT-LEVEL TABLES +desktop_by_client_id AS ( + SELECT DISTINCT + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + client_id, + CASE + WHEN search_count > 0 + THEN 1 + ELSE 0 + END AS sap_category, + CASE + WHEN ad_click > 0 + THEN 1 + ELSE 0 + END AS ad_click_category + FROM + desktop_dau_data + LEFT JOIN + desktop_search_data + USING (submission_date, country, client_id) +), +mobile_by_client_id AS ( + SELECT DISTINCT + submission_date, + device, + normalized_channel, + country, + "NULL" AS distribution_id, + normalized_default_search_engine, + normalized_engine, + client_id, + CASE + WHEN search_count > 0 + THEN 1 + ELSE 0 + END AS sap_category, + CASE + WHEN ad_click > 0 + THEN 1 + ELSE 0 + END AS ad_click_category + FROM + mobile_dau_data + LEFT JOIN + mobile_baseline_full + USING (submission_date, client_id) +) +### COUNT DAU BY SEARCH BEHAVIOR +SELECT + "Google" AS partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category, + COUNT( + DISTINCT IF( + normalized_default_search_engine = "Google" + AND ( + (submission_date < "2023-12-01" AND country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN')) + OR (submission_date >= "2023-12-01" AND country NOT IN ('RU', 'UA', 'BY', 'CN')) + ), + client_id, + NULL + ) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF( + sap_category > 0 + AND normalized_engine = 'Google' + AND ( + (submission_date < "2023-12-01" AND country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN')) + OR (submission_date >= "2023-12-01" AND country NOT IN ('RU', 'UA', 'BY', 'CN')) + ), + client_id, + NULL + ) + ) AS dau_engaged_w_sap, +FROM + desktop_by_client_id +GROUP BY + partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category +UNION ALL +SELECT + "Bing" AS partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category, + COUNT( + DISTINCT IF(normalized_default_search_engine = "Bing", client_id, NULL) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF(sap_category > 0 AND normalized_engine = 'Bing', client_id, NULL) + ) AS dau_engaged_w_sap, +FROM + desktop_by_client_id +WHERE + (distribution_id IS NULL OR distribution_id NOT LIKE '%acer%') + AND client_id NOT IN (SELECT client_id FROM `moz-fx-data-shared-prod.search.acer_cohort`) +GROUP BY + partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category +UNION ALL +SELECT + "DuckDuckGo" AS partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category, + COUNT( + DISTINCT IF(normalized_default_search_engine = "DuckDuckGo", client_id, NULL) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF(sap_category > 0 AND normalized_engine = "DuckDuckGo", client_id, NULL) + ) AS dau_engaged_w_sap +FROM + desktop_by_client_id +GROUP BY + partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category +UNION ALL +SELECT + "Google" AS partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category, + # custom engine bug merged in v121 + # null engine bug merged in v126 + # remove default engine data prior to June 2024 + COUNT( + DISTINCT IF( + submission_date >= "2024-06-01" + AND normalized_default_search_engine = "Google" + AND ( + (submission_date < "2023-12-01" AND country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN')) + OR (submission_date >= "2023-12-01" AND country NOT IN ('RU', 'UA', 'BY', 'CN')) + ), + client_id, + NULL + ) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF( + sap_category > 0 + AND normalized_engine = 'Google' + AND ( + (submission_date < "2023-12-01" AND country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN')) + OR (submission_date >= "2023-12-01" AND country NOT IN ('RU', 'UA', 'BY', 'CN')) + ), + client_id, + NULL + ) + ) AS dau_engaged_w_sap +FROM + mobile_by_client_id +GROUP BY + partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category +UNION ALL +SELECT + "Bing" AS partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category, + # custom engine bug merged in v121 + # null engine bug merged in v126 + # remove default engine data prior to June 2024 + COUNT( + DISTINCT IF( + submission_date >= "2024-06-01" + AND normalized_default_search_engine = "Bing", + client_id, + NULL + ) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF(sap_category > 0 AND normalized_engine = 'Bing', client_id, NULL) + ) AS dau_engaged_w_sap +FROM + mobile_by_client_id +GROUP BY + partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category +UNION ALL +SELECT + "DuckDuckGo" AS partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category, + # custom engine bug merged in v121 + # null engine bug merged in v126 + # remove default engine data prior to June 2024 + COUNT( + DISTINCT IF( + submission_date >= "2024-06-01" + AND normalized_default_search_engine = "DuckDuckGo", + client_id, + NULL + ) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF(sap_category > 0 AND normalized_engine = "DuckDuckGo", client_id, NULL) + ) AS dau_engaged_w_sap +FROM + mobile_by_client_id +GROUP BY + partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/schema.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/schema.yaml 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/schema.yaml 2024-08-13 19:05:33.000000000 +0000 @@ -0,0 +1,40 @@ +fields: + - mode: NULLABLE + name: submission_date + type: DATE + - mode: NULLABLE + name: partner + type: STRING + - mode: NULLABLE + name: device + type: STRING + - mode: NULLABLE + name: country + type: STRING + - mode: NULLABLE + name: normalized_channel + type: STRING + - mode: NULLABLE + name: normalized_engine + type: STRING + - mode: NULLABLE + name: default_search_engine + type: STRING + - mode: NULLABLE + name: normalized_default_search_engine + type: STRING + - mode: NULLABLE + name: sap_day + type: INTEGER + - mode: NULLABLE + name: ad_click_day + type: INTEGER + - mode: NULLABLE + name: dau_eligible_markets + type: INTEGER + - mode: NULLABLE + name: dau_w_engine_as_default + type: INTEGER + - mode: NULLABLE + name: dau_engaged_w_sap + type: INTEGER ```

Link to full diff

dataops-ci-bot commented 1 month ago

Integration report for "Merge branch 'main' into mobile_search_aggregates_dau"

sql.diff

Click to expand! ```diff diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/dags/bqetl_search_dashboard.py /tmp/workspace/generated-sql/dags/bqetl_search_dashboard.py --- /tmp/workspace/main-generated-sql/dags/bqetl_search_dashboard.py 2024-08-13 20:11:46.000000000 +0000 +++ /tmp/workspace/generated-sql/dags/bqetl_search_dashboard.py 2024-08-13 20:13:34.000000000 +0000 @@ -323,6 +323,17 @@ depends_on_past=False, ) + search_derived__search_dau_aggregates__v1 = bigquery_etl_query( + task_id="search_derived__search_dau_aggregates__v1", + destination_table="search_dau_aggregates_v1", + dataset_id="search_derived", + project_id="moz-fx-data-shared-prod", + owner="mozilla/revenue_forecasting_data_reviewers", + email=["akomar@mozilla.com", "telemetry-alerts@mozilla.com"], + date_partition_parameter="submission_date", + depends_on_past=False, + ) + search_derived__search_revenue_levers_daily__v1 = bigquery_etl_query( task_id="search_derived__search_revenue_levers_daily__v1", destination_table="search_revenue_levers_daily_v1", @@ -346,6 +357,74 @@ wait_for_search_derived__mobile_search_clients_daily__v1 ) + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_fenix_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_fenix_nightly_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_fennec_aurora_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_firefox_beta_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_firefox_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_focus_beta_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_focus_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_focus_nightly_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_fennec_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_firefox_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_firefoxbeta_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_focus_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_klar_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_klar_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_telemetry_derived__clients_last_seen__v2 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_copy_deduplicate_all + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_search_derived__search_clients_daily__v8 + ) + search_derived__search_revenue_levers_daily__v1.set_upstream( wait_for_checks__fail_org_mozilla_fenix_derived__baseline_clients_last_seen__v1 ) Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search: search_dau_aggregates Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived: search_dau_aggregates_v1 diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/metadata.yaml 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/metadata.yaml 2024-08-13 20:09:19.000000000 +0000 @@ -0,0 +1,13 @@ +friendly_name: Search Dau Aggregates +description: |- + Please provide a description for the query +owners: [] +labels: {} +bigquery: null +workgroup_access: +- role: roles/bigquery.dataViewer + members: + - workgroup:mozilla-confidential +references: + view.sql: + - moz-fx-data-shared-prod.search_derived.search_dau_aggregates_v1 diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/view.sql 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/view.sql 2024-08-13 20:07:18.000000000 +0000 @@ -0,0 +1,7 @@ +CREATE OR REPLACE VIEW + `moz-fx-data-shared-prod.search.search_dau_aggregates` +AS +SELECT + * +FROM + `moz-fx-data-shared-prod.search_derived.search_dau_aggregates_v1` diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/metadata.yaml 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/metadata.yaml 2024-08-13 20:09:20.000000000 +0000 @@ -0,0 +1,28 @@ +friendly_name: Search Revenue DAU aggregates +description: |- + Daily metrics including eligible DOU, + DAU_engaged_w_sap, DAU_engaged_w_default_engine + The table is labeled as "change_controlled", which implies + that changes require the approval of at least one owner. +owners: +- mozilla/revenue_forecasting_data_reviewers +labels: + incremental: true + schedule: daily + change_controlled: true + dag: bqetl_search_dashboard +scheduling: + dag_name: bqetl_search_dashboard +bigquery: + time_partitioning: + type: day + field: submission_date + require_partition_filter: true + expiration_days: null + range_partitioning: null + clustering: null +workgroup_access: +- role: roles/bigquery.dataViewer + members: + - workgroup:mozilla-confidential +references: {} diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/query.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/query.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/query.sql 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/query.sql 2024-08-13 20:07:18.000000000 +0000 @@ -0,0 +1,574 @@ +##### PULL SEARCH BEHAVIOR & ENGINES BY CLIENT +WITH desktop_search_data AS ( + SELECT + submission_date, + country, + client_id, + distribution_id, + CASE + WHEN default_search_engine LIKE '%google%' + THEN "Google" + WHEN default_search_engine LIKE '%bing%' + THEN "Bing" + WHEN default_search_engine LIKE '%ddg%' + OR default_search_engine LIKE '%duckduckgo%' + THEN "DuckDuckGo" + ELSE NULL + END AS normalized_default_search_engine, + normalized_engine, + SUM(sap) AS search_count, + SUM(ad_click) AS ad_click + FROM + `moz-fx-data-shared-prod.search.search_clients_engines_sources_daily` + WHERE + submission_date = @submission_date + GROUP BY + submission_date, + country, + client_id, + distribution_id, + normalized_default_search_engine, + normalized_engine +), +## have to pull mobile search data from baseline ping so dates match DAU +mobile_baseline_engine AS ( + SELECT DISTINCT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine_code AS default_search_engine + FROM + `moz-fx-data-shared-prod.fenix.baseline` + WHERE + DATE(submission_timestamp) = @submission_date + UNION ALL + SELECT DISTINCT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine AS default_search_engine + FROM + `moz-fx-data-shared-prod.firefox_ios.baseline` + WHERE + DATE(submission_timestamp) = @submission_date + UNION ALL + SELECT DISTINCT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.browser_default_search_engine AS default_search_engine + FROM + `moz-fx-data-shared-prod.focus_android.baseline` + WHERE + DATE(submission_timestamp) = @submission_date + UNION ALL + SELECT DISTINCT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine AS default_search_engine + FROM + `moz-fx-data-shared-prod.focus_ios.baseline` + WHERE + DATE(submission_timestamp) = @submission_date +), +mobile_baseline_search AS ( + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine_code AS default_search_engine, + key_value.key AS engine, + SUM(key_value.value) AS search_count + FROM + `moz-fx-data-shared-prod.fenix.baseline`, + UNNEST(metrics.labeled_counter.metrics_search_count) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + GROUP BY + 1, + 2, + 3, + 4 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine AS default_search_engine, + key_value.key AS engine, + SUM(key_value.value) AS search_count + FROM + `moz-fx-data-shared-prod.firefox_ios.baseline`, + UNNEST(metrics.labeled_counter.search_counts) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + GROUP BY + 1, + 2, + 3, + 4 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.browser_default_search_engine AS default_search_engine, + key_value.key AS engine, + SUM(key_value.value) AS search_count + FROM + `moz-fx-data-shared-prod.focus_android.baseline`, + UNNEST(metrics.labeled_counter.browser_search_search_count) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + GROUP BY + 1, + 2, + 3, + 4 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine AS default_search_engine, + key_value.key AS engine, + SUM(key_value.value) AS search_count + FROM + `moz-fx-data-shared-prod.focus_ios.baseline`, + UNNEST(metrics.labeled_counter.browser_search_search_count) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + GROUP BY + 1, + 2, + 3, + 4 +), +mobile_baseline_search_ad_clicks AS ( + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine_code AS default_search_engine, + key_value.key AS engine, + SUM(key_value.value) AS ad_click + FROM + `moz-fx-data-shared-prod.fenix.baseline`, + UNNEST(metrics.labeled_counter.browser_search_ad_clicks) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + GROUP BY + 1, + 2, + 3, + 4 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine AS default_search_engine, + key_value.key AS engine, + SUM(key_value.value) AS ad_click + FROM + `moz-fx-data-shared-prod.firefox_ios.baseline`, + UNNEST(metrics.labeled_counter.browser_search_ad_clicks) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + GROUP BY + 1, + 2, + 3, + 4 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.browser_default_search_engine AS default_search_engine, + key_value.key AS engine, + SUM(key_value.value) AS ad_click + FROM + `moz-fx-data-shared-prod.focus_android.baseline`, + UNNEST(metrics.labeled_counter.browser_search_ad_clicks) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + GROUP BY + 1, + 2, + 3, + 4 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine AS default_search_engine, + key_value.key AS engine, + SUM(key_value.value) AS ad_click + FROM + `moz-fx-data-shared-prod.focus_ios.baseline`, + UNNEST(metrics.labeled_counter.browser_search_ad_clicks) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + GROUP BY + 1, + 2, + 3, + 4 +), +mobile_baseline_full AS ( + SELECT + submission_date, + client_id, + CASE + WHEN default_search_engine LIKE '%google%' + THEN "Google" + WHEN default_search_engine LIKE '%bing%' + THEN "Bing" + WHEN default_search_engine LIKE '%ddg%' + OR default_search_engine LIKE '%duckduckgo%' + THEN "DuckDuckGo" + ELSE NULL + END AS normalized_default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(engine) AS normalized_engine, + SUM(search_count) AS search_count, + SUM(ad_click) AS ad_click + FROM + mobile_baseline_engine + LEFT JOIN + mobile_baseline_search + USING (submission_date, client_id, default_search_engine) + LEFT JOIN + mobile_baseline_search_ad_clicks + USING (submission_date, client_id, default_search_engine, engine) + GROUP BY + submission_date, + client_id, + normalized_default_search_engine, + normalized_engine +), +### PULL CLIENTS WHO QUALIFY FOR KPI ACTIVITY STANDARDS +desktop_dau_data AS ( + SELECT DISTINCT + "desktop" AS device, + submission_date, + country, + client_id, + normalized_channel + FROM + `mozdata.telemetry.desktop_active_users` + WHERE + submission_date = @submission_date + AND is_dau + # not including Mozilla Online + AND app_name = "Firefox Desktop" +), +mobile_dau_data AS ( + SELECT DISTINCT + "mobile" AS device, + submission_date, + country, + client_id, + normalized_channel + FROM + `mozdata.telemetry.mobile_active_users` + WHERE + submission_date = @submission_date + AND is_dau + # not including Fenix MozillaOnline, BrowserStack, Klar + AND app_name IN ("Focus iOS", "Firefox iOS", "Fenix", "Focus Android") +), +### FINAL CLIENT-LEVEL TABLES +desktop_by_client_id AS ( + SELECT DISTINCT + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + client_id, + CASE + WHEN search_count > 0 + THEN 1 + ELSE 0 + END AS sap_category, + CASE + WHEN ad_click > 0 + THEN 1 + ELSE 0 + END AS ad_click_category + FROM + desktop_dau_data + LEFT JOIN + desktop_search_data + USING (submission_date, country, client_id) +), +mobile_by_client_id AS ( + SELECT DISTINCT + submission_date, + device, + normalized_channel, + country, + "NULL" AS distribution_id, + normalized_default_search_engine, + normalized_engine, + client_id, + CASE + WHEN search_count > 0 + THEN 1 + ELSE 0 + END AS sap_category, + CASE + WHEN ad_click > 0 + THEN 1 + ELSE 0 + END AS ad_click_category + FROM + mobile_dau_data + LEFT JOIN + mobile_baseline_full + USING (submission_date, client_id) +) +### COUNT DAU BY SEARCH BEHAVIOR +SELECT + "Google" AS partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category, + COUNT( + DISTINCT IF( + normalized_default_search_engine = "Google" + AND ( + (submission_date < "2023-12-01" AND country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN')) + OR (submission_date >= "2023-12-01" AND country NOT IN ('RU', 'UA', 'BY', 'CN')) + ), + client_id, + NULL + ) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF( + sap_category > 0 + AND normalized_engine = 'Google' + AND ( + (submission_date < "2023-12-01" AND country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN')) + OR (submission_date >= "2023-12-01" AND country NOT IN ('RU', 'UA', 'BY', 'CN')) + ), + client_id, + NULL + ) + ) AS dau_engaged_w_sap, +FROM + desktop_by_client_id +GROUP BY + partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category +UNION ALL +SELECT + "Bing" AS partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category, + COUNT( + DISTINCT IF(normalized_default_search_engine = "Bing", client_id, NULL) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF(sap_category > 0 AND normalized_engine = 'Bing', client_id, NULL) + ) AS dau_engaged_w_sap, +FROM + desktop_by_client_id +WHERE + (distribution_id IS NULL OR distribution_id NOT LIKE '%acer%') + AND client_id NOT IN (SELECT client_id FROM `moz-fx-data-shared-prod.search.acer_cohort`) +GROUP BY + partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category +UNION ALL +SELECT + "DuckDuckGo" AS partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category, + COUNT( + DISTINCT IF(normalized_default_search_engine = "DuckDuckGo", client_id, NULL) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF(sap_category > 0 AND normalized_engine = "DuckDuckGo", client_id, NULL) + ) AS dau_engaged_w_sap +FROM + desktop_by_client_id +GROUP BY + partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category +UNION ALL +SELECT + "Google" AS partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category, + # custom engine bug merged in v121 + # null engine bug merged in v126 + # remove default engine data prior to June 2024 + COUNT( + DISTINCT IF( + submission_date >= "2024-06-01" + AND normalized_default_search_engine = "Google" + AND ( + (submission_date < "2023-12-01" AND country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN')) + OR (submission_date >= "2023-12-01" AND country NOT IN ('RU', 'UA', 'BY', 'CN')) + ), + client_id, + NULL + ) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF( + sap_category > 0 + AND normalized_engine = 'Google' + AND ( + (submission_date < "2023-12-01" AND country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN')) + OR (submission_date >= "2023-12-01" AND country NOT IN ('RU', 'UA', 'BY', 'CN')) + ), + client_id, + NULL + ) + ) AS dau_engaged_w_sap +FROM + mobile_by_client_id +GROUP BY + partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category +UNION ALL +SELECT + "Bing" AS partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category, + # custom engine bug merged in v121 + # null engine bug merged in v126 + # remove default engine data prior to June 2024 + COUNT( + DISTINCT IF( + submission_date >= "2024-06-01" + AND normalized_default_search_engine = "Bing", + client_id, + NULL + ) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF(sap_category > 0 AND normalized_engine = 'Bing', client_id, NULL) + ) AS dau_engaged_w_sap +FROM + mobile_by_client_id +GROUP BY + partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category +UNION ALL +SELECT + "DuckDuckGo" AS partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category, + # custom engine bug merged in v121 + # null engine bug merged in v126 + # remove default engine data prior to June 2024 + COUNT( + DISTINCT IF( + submission_date >= "2024-06-01" + AND normalized_default_search_engine = "DuckDuckGo", + client_id, + NULL + ) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF(sap_category > 0 AND normalized_engine = "DuckDuckGo", client_id, NULL) + ) AS dau_engaged_w_sap +FROM + mobile_by_client_id +GROUP BY + partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/schema.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/schema.yaml 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/schema.yaml 2024-08-13 20:07:18.000000000 +0000 @@ -0,0 +1,37 @@ +fields: + - mode: NULLABLE + name: submission_date + type: DATE + - mode: NULLABLE + name: partner + type: STRING + - mode: NULLABLE + name: device + type: STRING + - mode: NULLABLE + name: country + type: STRING + - mode: NULLABLE + name: normalized_channel + type: STRING + - mode: NULLABLE + name: normalized_engine + type: STRING + - mode: NULLABLE + name: normalized_default_search_engine + type: STRING + - mode: NULLABLE + name: sap_category + type: INTEGER + - mode: NULLABLE + name: ad_click_category + type: INTEGER + - mode: NULLABLE + name: dau_eligible_markets + type: INTEGER + - mode: NULLABLE + name: dau_w_engine_as_default + type: INTEGER + - mode: NULLABLE + name: dau_engaged_w_sap + type: INTEGER ```

Link to full diff

dataops-ci-bot commented 1 month ago

Integration report for "Merge branch 'main' into mobile_search_aggregates_dau"

sql.diff

Click to expand! ```diff diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/dags/bqetl_search_dashboard.py /tmp/workspace/generated-sql/dags/bqetl_search_dashboard.py --- /tmp/workspace/main-generated-sql/dags/bqetl_search_dashboard.py 2024-08-13 20:47:17.000000000 +0000 +++ /tmp/workspace/generated-sql/dags/bqetl_search_dashboard.py 2024-08-13 20:48:38.000000000 +0000 @@ -323,6 +323,17 @@ depends_on_past=False, ) + search_derived__search_dau_aggregates__v1 = bigquery_etl_query( + task_id="search_derived__search_dau_aggregates__v1", + destination_table="search_dau_aggregates_v1", + dataset_id="search_derived", + project_id="moz-fx-data-shared-prod", + owner="mozilla/revenue_forecasting_data_reviewers", + email=["akomar@mozilla.com", "telemetry-alerts@mozilla.com"], + date_partition_parameter="submission_date", + depends_on_past=False, + ) + search_derived__search_revenue_levers_daily__v1 = bigquery_etl_query( task_id="search_derived__search_revenue_levers_daily__v1", destination_table="search_revenue_levers_daily_v1", @@ -346,6 +357,74 @@ wait_for_search_derived__mobile_search_clients_daily__v1 ) + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_fenix_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_fenix_nightly_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_fennec_aurora_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_firefox_beta_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_firefox_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_focus_beta_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_focus_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_focus_nightly_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_fennec_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_firefox_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_firefoxbeta_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_focus_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_ios_klar_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_org_mozilla_klar_derived__baseline_clients_last_seen__v1 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_checks__fail_telemetry_derived__clients_last_seen__v2 + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_copy_deduplicate_all + ) + + search_derived__search_dau_aggregates__v1.set_upstream( + wait_for_search_derived__search_clients_daily__v8 + ) + search_derived__search_revenue_levers_daily__v1.set_upstream( wait_for_checks__fail_org_mozilla_fenix_derived__baseline_clients_last_seen__v1 ) Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search: search_dau_aggregates Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived: search_dau_aggregates_v1 diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/metadata.yaml 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/metadata.yaml 2024-08-13 20:44:21.000000000 +0000 @@ -0,0 +1,13 @@ +friendly_name: Search Dau Aggregates +description: |- + Please provide a description for the query +owners: [] +labels: {} +bigquery: null +workgroup_access: +- role: roles/bigquery.dataViewer + members: + - workgroup:mozilla-confidential +references: + view.sql: + - moz-fx-data-shared-prod.search_derived.search_dau_aggregates_v1 diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/view.sql 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search/search_dau_aggregates/view.sql 2024-08-13 20:42:19.000000000 +0000 @@ -0,0 +1,7 @@ +CREATE OR REPLACE VIEW + `moz-fx-data-shared-prod.search.search_dau_aggregates` +AS +SELECT + * +FROM + `moz-fx-data-shared-prod.search_derived.search_dau_aggregates_v1` diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/metadata.yaml 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/metadata.yaml 2024-08-13 20:44:24.000000000 +0000 @@ -0,0 +1,28 @@ +friendly_name: Search Revenue DAU aggregates +description: |- + Daily metrics including eligible DOU, + DAU_engaged_w_sap, DAU_engaged_w_default_engine + The table is labeled as "change_controlled", which implies + that changes require the approval of at least one owner. +owners: +- mozilla/revenue_forecasting_data_reviewers +labels: + incremental: true + schedule: daily + change_controlled: true + dag: bqetl_search_dashboard +scheduling: + dag_name: bqetl_search_dashboard +bigquery: + time_partitioning: + type: day + field: submission_date + require_partition_filter: true + expiration_days: null + range_partitioning: null + clustering: null +workgroup_access: +- role: roles/bigquery.dataViewer + members: + - workgroup:mozilla-confidential +references: {} diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/query.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/query.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/query.sql 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/query.sql 2024-08-13 20:42:19.000000000 +0000 @@ -0,0 +1,574 @@ +##### PULL SEARCH BEHAVIOR & ENGINES BY CLIENT +WITH desktop_search_data AS ( + SELECT + submission_date, + country, + client_id, + distribution_id, + CASE + WHEN default_search_engine LIKE '%google%' + THEN "Google" + WHEN default_search_engine LIKE '%bing%' + THEN "Bing" + WHEN default_search_engine LIKE '%ddg%' + OR default_search_engine LIKE '%duckduckgo%' + THEN "DuckDuckGo" + ELSE NULL + END AS normalized_default_search_engine, + normalized_engine, + SUM(sap) AS search_count, + SUM(ad_click) AS ad_click + FROM + `moz-fx-data-shared-prod.search.search_clients_engines_sources_daily` + WHERE + submission_date = @submission_date + GROUP BY + submission_date, + country, + client_id, + distribution_id, + normalized_default_search_engine, + normalized_engine +), +## have to pull mobile search data from baseline ping so dates match DAU +mobile_baseline_engine AS ( + SELECT DISTINCT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine_code AS default_search_engine + FROM + `moz-fx-data-shared-prod.fenix.baseline` + WHERE + DATE(submission_timestamp) = @submission_date + UNION ALL + SELECT DISTINCT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine AS default_search_engine + FROM + `moz-fx-data-shared-prod.firefox_ios.baseline` + WHERE + DATE(submission_timestamp) = @submission_date + UNION ALL + SELECT DISTINCT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.browser_default_search_engine AS default_search_engine + FROM + `moz-fx-data-shared-prod.focus_android.baseline` + WHERE + DATE(submission_timestamp) = @submission_date + UNION ALL + SELECT DISTINCT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine AS default_search_engine + FROM + `moz-fx-data-shared-prod.focus_ios.baseline` + WHERE + DATE(submission_timestamp) = @submission_date +), +mobile_baseline_search AS ( + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine_code AS default_search_engine, + key_value.key AS engine, + SUM(key_value.value) AS search_count + FROM + `moz-fx-data-shared-prod.fenix.baseline`, + UNNEST(metrics.labeled_counter.metrics_search_count) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + GROUP BY + 1, + 2, + 3, + 4 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine AS default_search_engine, + key_value.key AS engine, + SUM(key_value.value) AS search_count + FROM + `moz-fx-data-shared-prod.firefox_ios.baseline`, + UNNEST(metrics.labeled_counter.search_counts) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + GROUP BY + 1, + 2, + 3, + 4 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.browser_default_search_engine AS default_search_engine, + key_value.key AS engine, + SUM(key_value.value) AS search_count + FROM + `moz-fx-data-shared-prod.focus_android.baseline`, + UNNEST(metrics.labeled_counter.browser_search_search_count) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + GROUP BY + 1, + 2, + 3, + 4 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine AS default_search_engine, + key_value.key AS engine, + SUM(key_value.value) AS search_count + FROM + `moz-fx-data-shared-prod.focus_ios.baseline`, + UNNEST(metrics.labeled_counter.browser_search_search_count) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + GROUP BY + 1, + 2, + 3, + 4 +), +mobile_baseline_search_ad_clicks AS ( + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine_code AS default_search_engine, + key_value.key AS engine, + SUM(key_value.value) AS ad_click + FROM + `moz-fx-data-shared-prod.fenix.baseline`, + UNNEST(metrics.labeled_counter.browser_search_ad_clicks) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + GROUP BY + 1, + 2, + 3, + 4 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine AS default_search_engine, + key_value.key AS engine, + SUM(key_value.value) AS ad_click + FROM + `moz-fx-data-shared-prod.firefox_ios.baseline`, + UNNEST(metrics.labeled_counter.browser_search_ad_clicks) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + GROUP BY + 1, + 2, + 3, + 4 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.browser_default_search_engine AS default_search_engine, + key_value.key AS engine, + SUM(key_value.value) AS ad_click + FROM + `moz-fx-data-shared-prod.focus_android.baseline`, + UNNEST(metrics.labeled_counter.browser_search_ad_clicks) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + GROUP BY + 1, + 2, + 3, + 4 + UNION ALL + SELECT + DATE(submission_timestamp) AS submission_date, + client_info.client_id, + metrics.string.search_default_engine AS default_search_engine, + key_value.key AS engine, + SUM(key_value.value) AS ad_click + FROM + `moz-fx-data-shared-prod.focus_ios.baseline`, + UNNEST(metrics.labeled_counter.browser_search_ad_clicks) AS key_value + WHERE + DATE(submission_timestamp) = @submission_date + AND key_value.value <= 10000 + GROUP BY + 1, + 2, + 3, + 4 +), +mobile_baseline_full AS ( + SELECT + submission_date, + client_id, + CASE + WHEN default_search_engine LIKE '%google%' + THEN "Google" + WHEN default_search_engine LIKE '%bing%' + THEN "Bing" + WHEN default_search_engine LIKE '%ddg%' + OR default_search_engine LIKE '%duckduckgo%' + THEN "DuckDuckGo" + ELSE NULL + END AS normalized_default_search_engine, + `moz-fx-data-shared-prod.udf.normalize_search_engine`(engine) AS normalized_engine, + SUM(search_count) AS search_count, + SUM(ad_click) AS ad_click + FROM + mobile_baseline_engine + LEFT JOIN + mobile_baseline_search + USING (submission_date, client_id, default_search_engine) + LEFT JOIN + mobile_baseline_search_ad_clicks + USING (submission_date, client_id, default_search_engine, engine) + GROUP BY + submission_date, + client_id, + normalized_default_search_engine, + normalized_engine +), +### PULL CLIENTS WHO QUALIFY FOR KPI ACTIVITY STANDARDS +desktop_dau_data AS ( + SELECT DISTINCT + "desktop" AS device, + submission_date, + country, + client_id, + normalized_channel + FROM + `mozdata.telemetry.desktop_active_users` + WHERE + submission_date = @submission_date + AND is_dau + # not including Mozilla Online + AND app_name = "Firefox Desktop" +), +mobile_dau_data AS ( + SELECT DISTINCT + "mobile" AS device, + submission_date, + country, + client_id, + normalized_channel + FROM + `mozdata.telemetry.mobile_active_users` + WHERE + submission_date = @submission_date + AND is_dau + # not including Fenix MozillaOnline, BrowserStack, Klar + AND app_name IN ("Focus iOS", "Firefox iOS", "Fenix", "Focus Android") +), +### FINAL CLIENT-LEVEL TABLES +desktop_by_client_id AS ( + SELECT DISTINCT + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + client_id, + CASE + WHEN search_count > 0 + THEN 1 + ELSE 0 + END AS sap_category, + CASE + WHEN ad_click > 0 + THEN 1 + ELSE 0 + END AS ad_click_category + FROM + desktop_dau_data + LEFT JOIN + desktop_search_data + USING (submission_date, country, client_id) +), +mobile_by_client_id AS ( + SELECT DISTINCT + submission_date, + device, + normalized_channel, + country, + "NULL" AS distribution_id, + normalized_default_search_engine, + normalized_engine, + client_id, + CASE + WHEN search_count > 0 + THEN 1 + ELSE 0 + END AS sap_category, + CASE + WHEN ad_click > 0 + THEN 1 + ELSE 0 + END AS ad_click_category + FROM + mobile_dau_data + LEFT JOIN + mobile_baseline_full + USING (submission_date, client_id) +) +### COUNT DAU BY SEARCH BEHAVIOR +SELECT + "Google" AS partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category, + COUNT( + DISTINCT IF( + normalized_default_search_engine = "Google" + AND ( + (submission_date < "2023-12-01" AND country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN')) + OR (submission_date >= "2023-12-01" AND country NOT IN ('RU', 'UA', 'BY', 'CN')) + ), + client_id, + NULL + ) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF( + sap_category > 0 + AND normalized_engine = 'Google' + AND ( + (submission_date < "2023-12-01" AND country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN')) + OR (submission_date >= "2023-12-01" AND country NOT IN ('RU', 'UA', 'BY', 'CN')) + ), + client_id, + NULL + ) + ) AS dau_engaged_w_sap, +FROM + desktop_by_client_id +GROUP BY + partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category +UNION ALL +SELECT + "Bing" AS partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category, + COUNT( + DISTINCT IF(normalized_default_search_engine = "Bing", client_id, NULL) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF(sap_category > 0 AND normalized_engine = 'Bing', client_id, NULL) + ) AS dau_engaged_w_sap, +FROM + desktop_by_client_id +WHERE + (distribution_id IS NULL OR distribution_id NOT LIKE '%acer%') + AND client_id NOT IN (SELECT client_id FROM `moz-fx-data-shared-prod.search.acer_cohort`) +GROUP BY + partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category +UNION ALL +SELECT + "DuckDuckGo" AS partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category, + COUNT( + DISTINCT IF(normalized_default_search_engine = "DuckDuckGo", client_id, NULL) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF(sap_category > 0 AND normalized_engine = "DuckDuckGo", client_id, NULL) + ) AS dau_engaged_w_sap +FROM + desktop_by_client_id +GROUP BY + partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category +UNION ALL +SELECT + "Google" AS partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category, + # custom engine bug merged in v121 + # null engine bug merged in v126 + # remove default engine data prior to June 2024 + COUNT( + DISTINCT IF( + submission_date >= "2024-06-01" + AND normalized_default_search_engine = "Google" + AND ( + (submission_date < "2023-12-01" AND country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN')) + OR (submission_date >= "2023-12-01" AND country NOT IN ('RU', 'UA', 'BY', 'CN')) + ), + client_id, + NULL + ) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF( + sap_category > 0 + AND normalized_engine = 'Google' + AND ( + (submission_date < "2023-12-01" AND country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN')) + OR (submission_date >= "2023-12-01" AND country NOT IN ('RU', 'UA', 'BY', 'CN')) + ), + client_id, + NULL + ) + ) AS dau_engaged_w_sap +FROM + mobile_by_client_id +GROUP BY + partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category +UNION ALL +SELECT + "Bing" AS partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category, + # custom engine bug merged in v121 + # null engine bug merged in v126 + # remove default engine data prior to June 2024 + COUNT( + DISTINCT IF( + submission_date >= "2024-06-01" + AND normalized_default_search_engine = "Bing", + client_id, + NULL + ) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF(sap_category > 0 AND normalized_engine = 'Bing', client_id, NULL) + ) AS dau_engaged_w_sap +FROM + mobile_by_client_id +GROUP BY + partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category +UNION ALL +SELECT + "DuckDuckGo" AS partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category, + # custom engine bug merged in v121 + # null engine bug merged in v126 + # remove default engine data prior to June 2024 + COUNT( + DISTINCT IF( + submission_date >= "2024-06-01" + AND normalized_default_search_engine = "DuckDuckGo", + client_id, + NULL + ) + ) AS dau_w_engine_as_default, + COUNT( + DISTINCT IF(sap_category > 0 AND normalized_engine = "DuckDuckGo", client_id, NULL) + ) AS dau_engaged_w_sap +FROM + mobile_by_client_id +GROUP BY + partner, + submission_date, + device, + normalized_channel, + country, + distribution_id, + normalized_default_search_engine, + normalized_engine, + sap_category, + ad_click_category diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/schema.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/schema.yaml 1970-01-01 00:00:00.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/search_derived/search_dau_aggregates_v1/schema.yaml 2024-08-13 20:42:19.000000000 +0000 @@ -0,0 +1,37 @@ +fields: + - mode: NULLABLE + name: partner + type: STRING + - mode: NULLABLE + name: submission_date + type: DATE + - mode: NULLABLE + name: device + type: STRING + - mode: NULLABLE + name: country + type: STRING + - mode: NULLABLE + name: normalized_channel + type: STRING + - mode: NULLABLE + name: distribution_id + type: STRING + - mode: NULLABLE + name: normalized_default_search_engine + type: STRING + - mode: NULLABLE + name: normalized_engine + type: STRING + - mode: NULLABLE + name: sap_category + type: INTEGER + - mode: NULLABLE + name: ad_click_category + type: INTEGER + - mode: NULLABLE + name: dau_w_engine_as_default + type: INTEGER + - mode: NULLABLE + name: dau_engaged_w_sap + type: INTEGER ```

Link to full diff