Skip to content

Conversation

kik-kik
Copy link
Contributor

@kik-kik kik-kik commented May 23, 2025

Reverts #7483

@kik-kik kik-kik requested a review from kwindau May 23, 2025 13:50
@dataops-ci-bot
Copy link

Integration report for "Revert "fix(DENG-8434): Remove join condition until tables are backfilled so …""

sql.diff

Click to expand!
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/dags/bqetl_glean_usage.py /tmp/workspace/generated-sql/dags/bqetl_glean_usage.py
--- /tmp/workspace/main-generated-sql/dags/bqetl_glean_usage.py	2025-05-23 13:59:35.000000000 +0000
+++ /tmp/workspace/generated-sql/dags/bqetl_glean_usage.py	2025-05-23 14:21:50.000000000 +0000
@@ -366,6 +366,18 @@
         task_group=task_group_experimenter_cirrus,
     )
 
+    bigeye__experimenter_cirrus_derived__metrics_clients_daily__v1 = bigquery_bigeye_check(
+        task_id="bigeye__experimenter_cirrus_derived__metrics_clients_daily__v1",
+        table_id="moz-fx-data-shared-prod.experimenter_cirrus_derived.metrics_clients_daily_v1",
+        warehouse_id="1939",
+        owner="[email protected]",
+        email=["[email protected]", "[email protected]"],
+        depends_on_past=False,
+        execution_timeout=datetime.timedelta(hours=1),
+        retries=1,
+        task_group=task_group_experimenter_cirrus,
+    )
+
     bigeye__fenix_derived__metrics_clients_daily__v1 = bigquery_bigeye_check(
         task_id="bigeye__fenix_derived__metrics_clients_daily__v1",
         table_id="moz-fx-data-shared-prod.fenix_derived.metrics_clients_daily_v1",
@@ -1500,6 +1512,18 @@
         task_group=task_group_experimenter_cirrus,
     )
 
+    experimenter_cirrus_derived__metrics_clients_daily__v1 = bigquery_etl_query(
+        task_id="experimenter_cirrus_derived__metrics_clients_daily__v1",
+        destination_table="metrics_clients_daily_v1",
+        dataset_id="experimenter_cirrus_derived",
+        project_id="moz-fx-data-shared-prod",
+        owner="[email protected]",
+        email=["[email protected]", "[email protected]"],
+        date_partition_parameter="submission_date",
+        depends_on_past=False,
+        task_group=task_group_experimenter_cirrus,
+    )
+
     fenix_derived__clients_last_seen_joined__v1 = bigquery_etl_query(
         task_id="fenix_derived__clients_last_seen_joined__v1",
         destination_table="clients_last_seen_joined_v1",
@@ -4848,6 +4872,10 @@
         experimenter_cirrus_derived__baseline_clients_last_seen__v1
     )
 
+    bigeye__experimenter_cirrus_derived__metrics_clients_daily__v1.set_upstream(
+        experimenter_cirrus_derived__metrics_clients_daily__v1
+    )
+
     bigeye__fenix_derived__metrics_clients_daily__v1.set_upstream(
         fenix_derived__metrics_clients_daily__v1
     )
@@ -5226,6 +5254,10 @@
         wait_for_copy_deduplicate_all
     )
 
+    experimenter_cirrus_derived__metrics_clients_daily__v1.set_upstream(
+        wait_for_copy_deduplicate_all
+    )
+
     fenix_derived__clients_last_seen_joined__v1.set_upstream(
         bigeye__fenix_derived__metrics_clients_last_seen__v1
     )
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/events_stream: schema.yaml
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/events_stream: view.sql
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus: events_unnested
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus: metrics_clients_daily
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus_derived: metrics_clients_daily_v1
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	2025-05-23 13:51:45.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates/schema.yaml	2025-05-23 14:05:58.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	2025-05-23 13:51:45.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates_suggest/schema.yaml	2025-05-23 14:05:52.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/experimenter_cirrus/events_stream/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/events_stream/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/events_stream/metadata.yaml	2025-05-23 13:54:50.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/events_stream/metadata.yaml	2025-05-23 14:15:50.000000000 +0000
@@ -15,5 +15,7 @@
 - role: roles/bigquery.dataViewer
   members:
   - workgroup:mozilla-confidential
-references: {}
+references:
+  view.sql:
+  - moz-fx-data-shared-prod.experimenter_cirrus_derived.events_stream_v1
 require_column_descriptions: false
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/events_stream/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/events_stream/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/events_stream/schema.yaml	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/events_stream/schema.yaml	2025-05-23 14:06:16.000000000 +0000
@@ -0,0 +1,234 @@
+fields:
+- name: additional_properties
+  type: STRING
+  mode: NULLABLE
+- name: client_info
+  type: RECORD
+  mode: NULLABLE
+  fields:
+  - name: app_build
+    type: STRING
+    mode: NULLABLE
+  - name: app_channel
+    type: STRING
+    mode: NULLABLE
+  - name: app_display_version
+    type: STRING
+    mode: NULLABLE
+  - name: architecture
+    type: STRING
+    mode: NULLABLE
+  - name: device_manufacturer
+    type: STRING
+    mode: NULLABLE
+  - name: device_model
+    type: STRING
+    mode: NULLABLE
+  - name: first_run_date
+    type: STRING
+    mode: NULLABLE
+  - name: locale
+    type: STRING
+    mode: NULLABLE
+  - name: os
+    type: STRING
+    mode: NULLABLE
+  - name: os_version
+    type: STRING
+    mode: NULLABLE
+  - name: telemetry_sdk_build
+    type: STRING
+    mode: NULLABLE
+  - name: build_date
+    type: STRING
+    mode: NULLABLE
+  - name: session_id
+    type: STRING
+    mode: NULLABLE
+  - name: session_count
+    type: INTEGER
+    mode: NULLABLE
+- name: document_id
+  type: STRING
+  mode: NULLABLE
+- name: metadata
+  type: RECORD
+  mode: NULLABLE
+  fields:
+  - name: geo
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: city
+      type: STRING
+      mode: NULLABLE
+    - name: country
+      type: STRING
+      mode: NULLABLE
+    - name: db_version
+      type: STRING
+      mode: NULLABLE
+    - name: subdivision1
+      type: STRING
+      mode: NULLABLE
+    - name: subdivision2
+      type: STRING
+      mode: NULLABLE
+  - name: header
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: date
+      type: STRING
+      mode: NULLABLE
+    - name: dnt
+      type: STRING
+      mode: NULLABLE
+    - name: x_debug_id
+      type: STRING
+      mode: NULLABLE
+    - name: x_foxsec_ip_reputation
+      type: STRING
+      mode: NULLABLE
+    - name: x_lb_tags
+      type: STRING
+      mode: NULLABLE
+    - name: x_pingsender_version
+      type: STRING
+      mode: NULLABLE
+    - name: x_source_tags
+      type: STRING
+      mode: NULLABLE
+    - name: x_telemetry_agent
+      type: STRING
+      mode: NULLABLE
+    - name: parsed_date
+      type: TIMESTAMP
+      mode: NULLABLE
+    - name: parsed_x_source_tags
+      type: STRING
+      mode: REPEATED
+    - name: parsed_x_lb_tags
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: tls_version
+        type: STRING
+        mode: NULLABLE
+      - name: tls_cipher_hex
+        type: STRING
+        mode: NULLABLE
+  - name: isp
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: db_version
+      type: STRING
+      mode: NULLABLE
+    - name: name
+      type: STRING
+      mode: NULLABLE
+    - name: organization
+      type: STRING
+      mode: NULLABLE
+  - name: user_agent
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: browser
+      type: STRING
+      mode: NULLABLE
+    - name: os
+      type: STRING
+      mode: NULLABLE
+    - name: version
+      type: STRING
+      mode: NULLABLE
+- name: metrics
+  type: JSON
+  mode: NULLABLE
+- name: normalized_app_name
+  type: STRING
+  mode: NULLABLE
+- name: normalized_channel
+  type: STRING
+  mode: NULLABLE
+- name: normalized_country_code
+  type: STRING
+  mode: NULLABLE
+- name: normalized_os
+  type: STRING
+  mode: NULLABLE
+- name: normalized_os_version
+  type: STRING
+  mode: NULLABLE
+- name: ping_info
+  type: RECORD
+  mode: NULLABLE
+  fields:
+  - name: seq
+    type: INTEGER
+    mode: NULLABLE
+  - name: start_time
+    type: STRING
+    mode: NULLABLE
+  - name: parsed_start_time
+    type: TIMESTAMP
+    mode: NULLABLE
+  - name: end_time
+    type: STRING
+    mode: NULLABLE
+  - name: parsed_end_time
+    type: TIMESTAMP
+    mode: NULLABLE
+  - name: ping_type
+    type: STRING
+    mode: NULLABLE
+- name: sample_id
+  type: INTEGER
+  mode: NULLABLE
+- name: submission_timestamp
+  type: TIMESTAMP
+  mode: NULLABLE
+- name: app_version_major
+  type: NUMERIC
+  mode: NULLABLE
+- name: app_version_minor
+  type: NUMERIC
+  mode: NULLABLE
+- name: app_version_patch
+  type: NUMERIC
+  mode: NULLABLE
+- name: is_bot_generated
+  type: BOOLEAN
+  mode: NULLABLE
+- name: client_id
+  type: STRING
+  mode: NULLABLE
+- name: reason
+  type: STRING
+  mode: NULLABLE
+- name: experiments
+  type: JSON
+  mode: NULLABLE
+- name: profile_group_id
+  type: STRING
+  mode: NULLABLE
+- name: legacy_telemetry_client_id
+  type: STRING
+  mode: NULLABLE
+- name: event_timestamp
+  type: TIMESTAMP
+  mode: NULLABLE
+- name: event_category
+  type: STRING
+  mode: NULLABLE
+- name: event_name
+  type: STRING
+  mode: NULLABLE
+- name: event
+  type: STRING
+  mode: NULLABLE
+- name: event_extra
+  type: JSON
+  mode: NULLABLE
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/events_stream/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/events_stream/view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/events_stream/view.sql	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/events_stream/view.sql	2025-05-23 13:55:50.000000000 +0000
@@ -0,0 +1,8 @@
+-- Generated via bigquery_etl.glean_usage
+CREATE OR REPLACE VIEW
+  `moz-fx-data-shared-prod.experimenter_cirrus.events_stream`
+AS
+SELECT
+  *
+FROM
+  `moz-fx-data-shared-prod.experimenter_cirrus_derived.events_stream_v1`
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/events_unnested/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/events_unnested/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/events_unnested/metadata.yaml	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/events_unnested/metadata.yaml	2025-05-23 14:15:50.000000000 +0000
@@ -0,0 +1,14 @@
+friendly_name: Events Unnested
+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.experimenter_cirrus.events
+require_column_descriptions: false
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/events_unnested/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/events_unnested/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/events_unnested/schema.yaml	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/events_unnested/schema.yaml	2025-05-23 14:06:19.000000000 +0000
@@ -0,0 +1,312 @@
+fields:
+- name: normalized_app_id
+  type: STRING
+  mode: NULLABLE
+- name: additional_properties
+  type: STRING
+  mode: NULLABLE
+  description: A JSON string containing any payload properties not present in the
+    schema
+- name: client_info
+  type: RECORD
+  mode: NULLABLE
+  fields:
+  - name: android_sdk_version
+    type: STRING
+    mode: NULLABLE
+    description: The optional Android specific SDK version of the software running
+      on this hardware device.
+  - name: app_build
+    type: STRING
+    mode: NULLABLE
+    description: The build identifier generated by the CI system (e.g. "1234/A").
+      For language bindings that provide automatic detection for this value, (e.g.
+      Android/Kotlin), in the unlikely event that the build identifier can not be
+      retrieved from the OS, it is set to "inaccessible". For other language bindings,
+      if the value was not provided through configuration, this metric gets set to
+      `Unknown`.
+  - name: app_channel
+    type: STRING
+    mode: NULLABLE
+    description: The channel the application is being distributed on.
+  - name: app_display_version
+    type: STRING
+    mode: NULLABLE
+    description: The user visible version string (e.g. "1.0.3").  In the unlikely
+      event that the display version can not be retrieved, it is set to "inaccessible".
+  - name: architecture
+    type: STRING
+    mode: NULLABLE
+    description: The architecture of the device, (e.g. "arm", "x86").
+  - name: client_id
+    type: STRING
+    mode: NULLABLE
+    description: A UUID uniquely identifying the client.
+  - name: device_manufacturer
+    type: STRING
+    mode: NULLABLE
+    description: The manufacturer of the device the application is running on. Not
+      set if the device manufacturer can't be determined (e.g. on Desktop).
+  - name: device_model
+    type: STRING
+    mode: NULLABLE
+    description: The model of the device the application is running on. On Android,
+      this is Build.MODEL, the user-visible marketing name, like "Pixel 2 XL". Not
+      set if the device model can't be determined (e.g. on Desktop).
+  - name: first_run_date
+    type: STRING
+    mode: NULLABLE
+    description: The date of the first run of the application.
+  - name: locale
+    type: STRING
+    mode: NULLABLE
+    description: The locale of the application during initialization (e.g. "es-ES").
+      If the locale can't be determined on the system, the value is ["und"](https://unicode.org/reports/tr35/#Unknown_or_Invalid_Identifiers),
+      to indicate "undetermined".
+  - name: os
+    type: STRING
+    mode: NULLABLE
+    description: 'The name of the operating system. Possible values: Android, iOS,
+      Linux, Darwin, Windows, FreeBSD, NetBSD, OpenBSD, Solaris, unknown'
+  - name: os_version
+    type: STRING
+    mode: NULLABLE
+    description: The user-visible version of the operating system (e.g. "1.2.3").
+      If the version detection fails, this metric gets set to `Unknown`.
+  - name: telemetry_sdk_build
+    type: STRING
+    mode: NULLABLE
+    description: The version of the Glean SDK
+  - name: build_date
+    type: STRING
+    mode: NULLABLE
+    description: The date & time the application was built
+- name: document_id
+  type: STRING
+  mode: NULLABLE
+  description: The document ID specified in the URI when the client sent this message
+- name: metadata
+  type: RECORD
+  mode: NULLABLE
+  fields:
+  - name: geo
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: city
+      type: STRING
+      mode: NULLABLE
+    - name: country
+      type: STRING
+      mode: NULLABLE
+      description: An ISO 3166-1 alpha-2 country code
+    - name: db_version
+      type: STRING
+      mode: NULLABLE
+      description: The specific geo database version used for this lookup
+    - name: subdivision1
+      type: STRING
+      mode: NULLABLE
+      description: First major country subdivision, typically a state, province, or
+        county
+    - name: subdivision2
+      type: STRING
+      mode: NULLABLE
+      description: Second major country subdivision; not applicable for most countries
+    description: Results of a geographic lookup based on the client's IP address
+  - name: header
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: date
+      type: STRING
+      mode: NULLABLE
+      description: Date HTTP header
+    - name: dnt
+      type: STRING
+      mode: NULLABLE
+      description: DNT (Do Not Track) HTTP header
+    - name: x_debug_id
+      type: STRING
+      mode: NULLABLE
+      description: X-Debug-Id HTTP header
+    - name: x_pingsender_version
+      type: STRING
+      mode: NULLABLE
+      description: X-PingSender-Version HTTP header
+    - name: x_source_tags
+      type: STRING
+      mode: NULLABLE
+      description: X-Source-Tags HTTP header
+    - name: x_telemetry_agent
+      type: STRING
+      mode: NULLABLE
+      description: X-Telemetry-Agent HTTP header
+    - name: x_foxsec_ip_reputation
+      type: STRING
+      mode: NULLABLE
+      description: X-Foxsec-IP-Reputation header
+    - name: x_lb_tags
+      type: STRING
+      mode: NULLABLE
+      description: X-LB-Tags HTTP header
+    - name: parsed_date
+      type: TIMESTAMP
+      mode: NULLABLE
+    - name: parsed_x_source_tags
+      type: STRING
+      mode: REPEATED
+    - name: parsed_x_lb_tags
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: tls_version
+        type: STRING
+        mode: NULLABLE
+      - name: tls_cipher_hex
+        type: STRING
+        mode: NULLABLE
+    description: Headers included in the client's HTTP request
+  - name: isp
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: db_version
+      type: STRING
+      mode: NULLABLE
+      description: The specific geo ISP database version used for this lookup
+    - name: name
+      type: STRING
+      mode: NULLABLE
+      description: The name of the ISP associated with the client's IP address
+    - name: organization
+      type: STRING
+      mode: NULLABLE
+      description: The name of a specific business entity associated with the client's
+        IP address when available; otherwise the ISP name
+    description: Results of ISP lookup based on the client's IP address
+  - name: user_agent
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: browser
+      type: STRING
+      mode: NULLABLE
+    - name: os
+      type: STRING
+      mode: NULLABLE
+    - name: version
+      type: STRING
+      mode: NULLABLE
+    description: Parsed components of the client's user agent string
+- name: normalized_app_name
+  type: STRING
+  mode: NULLABLE
+  description: Set to "Other" if this message contained an unrecognized app name
+- name: normalized_channel
+  type: STRING
+  mode: NULLABLE
+  description: Set to "Other" if this message contained an unrecognized channel name
+- name: normalized_country_code
+  type: STRING
+  mode: NULLABLE
+  description: An ISO 3166-1 alpha-2 country code
+- name: normalized_os
+  type: STRING
+  mode: NULLABLE
+  description: Set to "Other" if this message contained an unrecognized OS name
+- name: normalized_os_version
+  type: STRING
+  mode: NULLABLE
+- name: ping_info
+  type: RECORD
+  mode: NULLABLE
+  fields:
+  - name: end_time
+    type: STRING
+    mode: NULLABLE
+  - name: experiments
+    type: RECORD
+    mode: REPEATED
+    fields:
+    - name: key
+      type: STRING
+      mode: NULLABLE
+    - name: value
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: branch
+        type: STRING
+        mode: NULLABLE
+      - name: extra
+        type: RECORD
+        mode: NULLABLE
+        fields:
+        - name: enrollment_id
+          type: STRING
+          mode: NULLABLE
+        - name: type
+          type: STRING
+          mode: NULLABLE
+  - name: ping_type
+    type: STRING
+    mode: NULLABLE
+  - name: seq
+    type: INTEGER
+    mode: NULLABLE
+  - name: start_time
+    type: STRING
+    mode: NULLABLE
+  - name: reason
+    type: STRING
+    mode: NULLABLE
+  - name: parsed_start_time
+    type: TIMESTAMP
+    mode: NULLABLE
+  - name: parsed_end_time
+    type: TIMESTAMP
+    mode: NULLABLE
+- name: sample_id
+  type: INTEGER
+  mode: NULLABLE
+  description: Hashed version of client_id (if present) useful for partitioning; ranges
+    from 0 to 99
+- name: submission_timestamp
+  type: TIMESTAMP
+  mode: NULLABLE
+  description: Time when the ingestion edge server accepted this message
+- name: app_version_major
+  type: NUMERIC
+  mode: NULLABLE
+- name: app_version_minor
+  type: NUMERIC
+  mode: NULLABLE
+- name: app_version_patch
+  type: NUMERIC
+  mode: NULLABLE
+- name: is_bot_generated
+  type: BOOLEAN
+  mode: NULLABLE
+- name: event_id
+  type: STRING
+  mode: NULLABLE
+- name: event_timestamp
+  type: INTEGER
+  mode: NULLABLE
+- name: event_category
+  type: STRING
+  mode: NULLABLE
+- name: event_name
+  type: STRING
+  mode: NULLABLE
+- name: event_extra
+  type: RECORD
+  mode: REPEATED
+  fields:
+  - name: key
+    type: STRING
+    mode: NULLABLE
+  - name: value
+    type: STRING
+    mode: NULLABLE
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/events_unnested/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/events_unnested/view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/events_unnested/view.sql	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/events_unnested/view.sql	2025-05-23 13:57:13.000000000 +0000
@@ -0,0 +1,63 @@
+-- Generated via ./bqetl generate glean_usage
+CREATE OR REPLACE VIEW
+  `moz-fx-data-shared-prod.experimenter_cirrus.events_unnested`
+AS
+SELECT
+  "experimenter_cirrus" AS normalized_app_id,
+  e.* EXCEPT (events, metrics) REPLACE(
+    -- Order of some fields differs between tables; we're verbose here for compatibility
+    STRUCT(
+      client_info.android_sdk_version AS android_sdk_version,
+      client_info.app_build AS app_build,
+      client_info.app_channel AS app_channel,
+      client_info.app_display_version AS app_display_version,
+      client_info.architecture AS architecture,
+      client_info.client_id AS client_id,
+      client_info.device_manufacturer AS device_manufacturer,
+      client_info.device_model AS device_model,
+      client_info.first_run_date AS first_run_date,
+      client_info.locale AS locale,
+      client_info.os AS os,
+      client_info.os_version AS os_version,
+      client_info.telemetry_sdk_build AS telemetry_sdk_build,
+      client_info.build_date AS build_date
+    ) AS client_info,
+    (
+      SELECT AS STRUCT
+        metadata.* REPLACE (
+          STRUCT(
+            metadata.header.`date` AS `date`,
+            metadata.header.dnt AS dnt,
+            metadata.header.x_debug_id AS x_debug_id,
+            metadata.header.x_pingsender_version AS x_pingsender_version,
+            metadata.header.x_source_tags AS x_source_tags,
+            metadata.header.x_telemetry_agent AS x_telemetry_agent,
+            metadata.header.x_foxsec_ip_reputation AS x_foxsec_ip_reputation,
+            metadata.header.x_lb_tags AS x_lb_tags,
+            metadata.header.parsed_date AS parsed_date,
+            metadata.header.parsed_x_source_tags AS parsed_x_source_tags,
+            metadata.header.parsed_x_lb_tags AS parsed_x_lb_tags
+          ) AS header
+        )
+    ) AS metadata,
+    STRUCT(
+      ping_info.end_time,
+      ping_info.experiments,
+      ping_info.ping_type,
+      ping_info.seq,
+      ping_info.start_time,
+      ping_info.reason,
+      ping_info.parsed_start_time,
+      ping_info.parsed_end_time
+    ) AS ping_info
+  ),
+  CONCAT(document_id, '-', event_offset) AS event_id,
+  event.timestamp AS event_timestamp,
+  event.category AS event_category,
+  event.name AS event_name,
+  event.extra AS event_extra
+FROM
+  `moz-fx-data-shared-prod.experimenter_cirrus.events` AS e
+CROSS JOIN
+  UNNEST(e.events) AS event
+  WITH OFFSET AS event_offset
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/metrics_clients_daily/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/metrics_clients_daily/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/metrics_clients_daily/metadata.yaml	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/metrics_clients_daily/metadata.yaml	2025-05-23 14:15:50.000000000 +0000
@@ -0,0 +1,14 @@
+friendly_name: Metrics Clients Daily
+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.experimenter_cirrus_derived.metrics_clients_daily_v1
+require_column_descriptions: false
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/metrics_clients_daily/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/metrics_clients_daily/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/metrics_clients_daily/schema.yaml	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/metrics_clients_daily/schema.yaml	2025-05-23 14:06:20.000000000 +0000
@@ -0,0 +1,19 @@
+fields:
+- name: submission_date
+  type: DATE
+  mode: NULLABLE
+- name: client_id
+  type: STRING
+  mode: NULLABLE
+- name: sample_id
+  type: INTEGER
+  mode: NULLABLE
+- name: normalized_channel
+  type: STRING
+  mode: NULLABLE
+- name: n_metrics_ping
+  type: INTEGER
+  mode: NULLABLE
+- name: days_sent_metrics_ping_bits
+  type: INTEGER
+  mode: NULLABLE
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/metrics_clients_daily/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/metrics_clients_daily/view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/metrics_clients_daily/view.sql	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus/metrics_clients_daily/view.sql	2025-05-23 13:57:14.000000000 +0000
@@ -0,0 +1,7 @@
+CREATE OR REPLACE VIEW
+  `moz-fx-data-shared-prod.experimenter_cirrus.metrics_clients_daily`
+AS
+SELECT
+  *
+FROM
+  `moz-fx-data-shared-prod.experimenter_cirrus_derived.metrics_clients_daily_v1`
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus_derived/metrics_clients_daily_v1/bigconfig.yml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus_derived/metrics_clients_daily_v1/bigconfig.yml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus_derived/metrics_clients_daily_v1/bigconfig.yml	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus_derived/metrics_clients_daily_v1/bigconfig.yml	2025-05-23 14:17:12.000000000 +0000
@@ -0,0 +1,24 @@
+type: BIGCONFIG_FILE
+tag_deployments:
+- collection:
+    name: Operational Checks
+    notification_channels:
+    - slack: '#de-bigeye-triage'
+  deployments:
+  - column_selectors:
+    - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod..experimenter_cirrus_derived.metrics_clients_daily_v1.submission_date
+    - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod..experimenter_cirrus_derived.metrics_clients_daily_v1.client_id
+    - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod..experimenter_cirrus_derived.metrics_clients_daily_v1.sample_id
+    - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod..experimenter_cirrus_derived.metrics_clients_daily_v1.n_metrics_ping
+    - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod..experimenter_cirrus_derived.metrics_clients_daily_v1.days_sent_metrics_ping_bits
+    metrics:
+    - saved_metric_id: is_not_null
+  - column_selectors:
+    - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod..experimenter_cirrus_derived.metrics_clients_daily_v1.normalized_channel
+    metrics:
+    - saved_metric_id: is_99_percent_valid_normalized_channel
+  - column_selectors:
+    - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod..experimenter_cirrus_derived.metrics_clients_daily_v1.*
+    metrics:
+    - saved_metric_id: freshness
+    - saved_metric_id: volume
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus_derived/metrics_clients_daily_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus_derived/metrics_clients_daily_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus_derived/metrics_clients_daily_v1/metadata.yaml	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus_derived/metrics_clients_daily_v1/metadata.yaml	2025-05-23 14:15:54.000000000 +0000
@@ -0,0 +1,38 @@
+friendly_name: Metrics Clients Daily
+description: |-
+  Daily per-client aggregates on top of metrics pings
+owners:
+- [email protected]
+labels:
+  incremental: true
+  schedule: daily
+  table_type: client_level
+  dag: bqetl_glean_usage
+  owner1: ascholtz
+scheduling:
+  dag_name: bqetl_glean_usage
+  task_group: experimenter_cirrus
+bigquery:
+  time_partitioning:
+    type: day
+    field: submission_date
+    require_partition_filter: true
+    expiration_days: 775.0
+  range_partitioning: null
+  clustering:
+    fields:
+    - normalized_channel
+    - sample_id
+workgroup_access:
+- role: roles/bigquery.dataViewer
+  members:
+  - workgroup:mozilla-confidential
+references:
+  query.sql:
+  - experimenter_cirrus.metrics
+monitoring:
+  enabled: true
+  collection: null
+  partition_column: null
+  partition_column_set: true
+require_column_descriptions: false
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus_derived/metrics_clients_daily_v1/query.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus_derived/metrics_clients_daily_v1/query.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus_derived/metrics_clients_daily_v1/query.sql	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus_derived/metrics_clients_daily_v1/query.sql	2025-05-23 14:16:59.000000000 +0000
@@ -0,0 +1,16 @@
+SELECT
+  DATE(submission_timestamp) AS submission_date,
+  client_info.client_id AS client_id,
+  sample_id,
+  "release" AS normalized_channel,
+  COUNT(*) AS n_metrics_ping,
+  1 AS days_sent_metrics_ping_bits,
+FROM
+  `moz-fx-data-shared-prod.experimenter_cirrus.metrics` AS m
+WHERE
+  DATE(submission_timestamp) = @submission_date
+GROUP BY
+  submission_date,
+  client_id,
+  sample_id,
+  normalized_channel
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/broken_site_report/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/broken_site_report/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/broken_site_report/metadata.yaml	2025-05-23 13:54:42.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/broken_site_report/metadata.yaml	2025-05-23 14:15:39.000000000 +0000
@@ -1,6 +1,10 @@
-friendly_name: Broken Site Report
+friendly_name: App-specific view for Glean ping "broken-site-report"
 description: |-
-  Please provide a description for the query
+  This a view that UNIONs the stable ping tables
+  across all channels of the Glean application "Firefox for Android"
+  (org_mozilla_firefox.broken_site_report, org_mozilla_firefox_beta.broken_site_report, org_mozilla_fenix.broken_site_report, org_mozilla_fenix_nightly.broken_site_report, org_mozilla_fennec_aurora.broken_site_report).
+
+  It is used by Looker.
 owners: []
 labels: {}
 bigquery: null
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/crash/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/crash/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/crash/metadata.yaml	2025-05-23 13:54:42.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/crash/metadata.yaml	2025-05-23 14:15:39.000000000 +0000
@@ -1,6 +1,10 @@
-friendly_name: Crash
+friendly_name: App-specific view for Glean ping "crash"
 description: |-
-  Please provide a description for the query
+  This a view that UNIONs the stable ping tables
+  across all channels of the Glean application "Firefox for Android"
+  (org_mozilla_firefox.crash, org_mozilla_firefox_beta.crash, org_mozilla_fenix.crash, org_mozilla_fenix_nightly.crash, org_mozilla_fennec_aurora.crash).
+
+  It is used by Looker.
 owners: []
 labels: {}
 bigquery: null
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	2025-05-23 13:51:45.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/funnel_retention_clients/schema.yaml	2025-05-23 14:05:47.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	2025-05-23 13:51:45.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/funnel_retention_week_4/schema.yaml	2025-05-23 14:05:48.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/fenix/new_profile_clients/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/new_profile_clients/view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/new_profile_clients/view.sql	2025-05-23 13:52:28.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/new_profile_clients/view.sql	2025-05-23 14:05:30.000000000 +0000
@@ -5,7 +5,7 @@
 SELECT
   client_id,
   active_users.submission_date AS first_seen_date,
-  active_users.normalized_channel,
+  normalized_channel,
   app_name,
   app_display_version AS app_version,
   country,
@@ -40,7 +40,7 @@
   `moz-fx-data-shared-prod.fenix.active_users` AS active_users
 LEFT JOIN
   `moz-fx-data-shared-prod.fenix.attribution_clients` AS attribution
-  USING (client_id) --temporarily removing normalized_channel until backfill finishes
+  USING (client_id, normalized_channel)
 WHERE
   active_users.submission_date < CURRENT_DATE
   AND is_new_profile
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/use_counters/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/use_counters/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/use_counters/schema.yaml	2025-05-23 13:52:28.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/use_counters/schema.yaml	2025-05-23 14:09:53.000000000 +0000
@@ -1,11 +1,11 @@
 fields:
 - name: normalized_app_id
-  type: STRING
   mode: NULLABLE
+  type: STRING
   description: App ID of the channel data was received from
 - name: normalized_channel
-  type: STRING
   mode: NULLABLE
+  type: STRING
   description: Normalized channel name
 - name: additional_properties
   type: STRING
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_crashreporter/crash/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_crashreporter/crash/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_crashreporter/crash/metadata.yaml	2025-05-23 13:54:43.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_crashreporter/crash/metadata.yaml	2025-05-23 14:15:40.000000000 +0000
@@ -1,6 +1,14 @@
-friendly_name: Crash
+friendly_name: Historical Pings for `firefox-crashreporter/crash`
 description: |-
-  Please provide a description for the query
+  A historical view of pings sent for the
+  `firefox-crashreporter/crash`
+  document type.
+
+  This view is guaranteed to contain only complete days
+  (per `submission_timestamp`)
+  and to contain only one row per distinct `document_id` within a given date.
+
+  Clustering fields: `normalized_channel`, `sample_id`
 owners: []
 labels:
   authorized: true
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/broken_site_report/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/broken_site_report/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/broken_site_report/metadata.yaml	2025-05-23 13:54:51.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/broken_site_report/metadata.yaml	2025-05-23 14:15:30.000000000 +0000
@@ -1,6 +1,14 @@
-friendly_name: Broken Site Report
+friendly_name: Historical Pings for `firefox-desktop/broken-site-report`
 description: |-
-  Please provide a description for the query
+  A historical view of pings sent for the
+  `firefox-desktop/broken-site-report`
+  document type.
+
+  This view is guaranteed to contain only complete days
+  (per `submission_timestamp`)
+  and to contain only one row per distinct `document_id` within a given date.
+
+  Clustering fields: `normalized_channel`, `sample_id`
 owners: []
 labels:
   authorized: true
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/crash/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/crash/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/crash/metadata.yaml	2025-05-23 13:54:51.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/crash/metadata.yaml	2025-05-23 14:15:30.000000000 +0000
@@ -1,6 +1,14 @@
-friendly_name: Crash
+friendly_name: Historical Pings for `firefox-desktop/crash`
 description: |-
-  Please provide a description for the query
+  A historical view of pings sent for the
+  `firefox-desktop/crash`
+  document type.
+
+  This view is guaranteed to contain only complete days
+  (per `submission_timestamp`)
+  and to contain only one row per distinct `document_id` within a given date.
+
+  Clustering fields: `normalized_channel`, `sample_id`
 owners: []
 labels:
   authorized: true
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/ltv_states/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/ltv_states/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/ltv_states/schema.yaml	2025-05-23 13:51:45.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/ltv_states/schema.yaml	2025-05-23 14:05:43.000000000 +0000
@@ -1,64 +1,66 @@
 fields:
-- description: Unique ID for the client installation.
-  mode: NULLABLE
-  name: client_id
+- name: client_id
   type: STRING
-- description: Sample ID - A number ranging from 0 - 99 based on client ID; used to pull a small sample of data related to a subset of clients over time
   mode: NULLABLE
-  name: sample_id
-  type: INT64
-- description: Submission Date
+  description: Unique ID for the client installation.
+- name: sample_id
+  type: INTEGER
   mode: NULLABLE
-  name: submission_date
+  description: Sample ID - A number ranging from 0 - 99 based on client ID; used to
+    pull a small sample of data related to a subset of clients over time
+- name: submission_date
   type: DATE
-- description: First Seen Date - The date this client was first seen
   mode: NULLABLE
-  name: first_seen_date
+  description: Submission Date
+- name: first_seen_date
   type: DATE
-- description: Days Since First Seen - The number of days since the client was first seen
   mode: NULLABLE
-  name: days_since_first_seen
-  type: INT64
-- description: Days Since Active
+  description: First Seen Date - The date this client was first seen
+- name: days_since_first_seen
+  type: INTEGER
   mode: NULLABLE
-  name: days_since_active
-  type: INT64
-- description: First Reported Country - The country this client ID was first reported from
+  description: Days Since First Seen - The number of days since the client was first
+    seen
+- name: days_since_active
+  type: INTEGER
   mode: NULLABLE
-  name: first_reported_country
+  description: Days Since Active
+- name: first_reported_country
   type: STRING
-- description: Attribution
   mode: NULLABLE
-  name: attribution
+  description: First Reported Country - The country this client ID was first reported
+    from
+- name: attribution
   type: RECORD
+  mode: NULLABLE
   fields:
-  - mode: NULLABLE
-    name: source
+  - name: source
     type: STRING
+    mode: NULLABLE
     description: Attribution Source
-  - mode: NULLABLE
-    name: medium
+  - name: medium
     type: STRING
+    mode: NULLABLE
     description: Attribution Medium
-  - mode: NULLABLE
-    name: campaign
+  - name: campaign
     type: STRING
+    mode: NULLABLE
     description: Attribution Campaign
-  - mode: NULLABLE
-    name: content
+  - name: content
     type: STRING
+    mode: NULLABLE
     description: Attribution Content
-  - mode: NULLABLE
-    name: experiment
+  - name: experiment
     type: STRING
+    mode: NULLABLE
     description: Attribution Experiment
-  - mode: NULLABLE
-    name: variation
+  - name: variation
     type: STRING
+    mode: NULLABLE
     description: Attribution Variation
-  - mode: NULLABLE
-    name: dltoken
+  - name: dltoken
     type: STRING
+    mode: NULLABLE
     description: Attribution Download Token
   - name: dlsource
     type: STRING
@@ -68,40 +70,43 @@
     type: STRING
     mode: NULLABLE
     description: Attribution UA
-- description: Active
-  mode: NULLABLE
-  name: active
-  type: INT64
-- description: Ad Clicks - The number of ad clicks from this client on the submission date
+  description: Attribution
+- name: active
+  type: INTEGER
   mode: NULLABLE
-  name: ad_clicks
-  type: INT64
-- description: Total Historic Ad Clicks - The number of ad clicks from this client on or before the submission date
+  description: Active
+- name: ad_clicks
+  type: INTEGER
   mode: NULLABLE
-  name: total_historic_ad_clicks
-  type: INT64
-- description: Days Seen Bytes
+  description: Ad Clicks - The number of ad clicks from this client on the submission
+    date
+- name: total_historic_ad_clicks
+  type: INTEGER
   mode: NULLABLE
-  name: days_seen_bytes
+  description: Total Historic Ad Clicks - The number of ad clicks from this client
+    on or before the submission date
+- name: days_seen_bytes
   type: BYTES
-- description: Pattern
   mode: NULLABLE
-  name: pattern
+  description: Days Seen Bytes
+- name: pattern
   type: INTEGER
-- description: Death Time
   mode: NULLABLE
-  name: death_time
+  description: Pattern
+- name: death_time
   type: INTEGER
-- description: Max Days
   mode: NULLABLE
-  name: max_days
+  description: Death Time
+- name: max_days
   type: INTEGER
-- description: Markov States
   mode: NULLABLE
-  name: markov_states
+  description: Max Days
+- name: markov_states
   type: RECORD
-  fields:
-  - description: Desktop States V1
     mode: NULLABLE
-    name: desktop_states_v1
+  fields:
+  - name: desktop_states_v1
     type: STRING
+    mode: NULLABLE
+    description: Desktop States V1
+  description: Markov States
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/newtab/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/newtab/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/newtab/metadata.yaml	2025-05-23 13:54:51.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/newtab/metadata.yaml	2025-05-23 14:15:30.000000000 +0000
@@ -1,6 +1,14 @@
-friendly_name: Newtab
+friendly_name: Historical Pings for `firefox-desktop/newtab`
 description: |-
-  Please provide a description for the query
+  A historical view of pings sent for the
+  `firefox-desktop/newtab`
+  document type.
+
+  This view is guaranteed to contain only complete days
+  (per `submission_timestamp`)
+  and to contain only one row per distinct `document_id` within a given date.
+
+  Clustering fields: `normalized_channel`, `sample_id`
 owners: []
 labels: {}
 bigquery: null
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/newtab_live/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/newtab_live/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/newtab_live/schema.yaml	2025-05-23 13:51:45.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/newtab_live/schema.yaml	2025-05-23 14:05:44.000000000 +0000
@@ -1,48 +1,47 @@
 fields:
-- description: Submission Timestamp
-  mode: NULLABLE
-  name: submission_timestamp
+- name: submission_timestamp
   type: TIMESTAMP
-- description: Normalized Country Code, Examples - US, AR, BR, etc.
   mode: NULLABLE
-  name: normalized_country_code
+  description: Submission Timestamp
+- name: normalized_country_code
   type: STRING
-- description: Normalized Channel, Examples - release, nightly, aurora, esr, beta
   mode: NULLABLE
-  name: normalized_channel
+  description: Normalized Country Code, Examples - US, AR, BR, etc.
+- name: normalized_channel
   type: STRING
-- description: Document ID
   mode: NULLABLE
-  name: document_id
+  description: Normalized Channel, Examples - release, nightly, aurora, esr, beta
+- name: document_id
   type: STRING
-- description: Pocket Enabled
   mode: NULLABLE
-  name: pocket_enabled
+  description: Document ID
+- name: pocket_enabled
   type: BOOLEAN
-- description: Pocket Sponsored Stories Enabled
   mode: NULLABLE
-  name: pocket_sponsored_stories_enabled
+  description: Pocket Enabled
+- name: pocket_sponsored_stories_enabled
   type: BOOLEAN
-- description: Newtab Locale
   mode: NULLABLE
-  name: newtab_locale
+  description: Pocket Sponsored Stories Enabled
+- name: newtab_locale
   type: STRING
-- description: App Build
   mode: NULLABLE
-  name: app_build
+  description: Newtab Locale
+- name: app_build
   type: STRING
-- description: App Display Version
   mode: NULLABLE
-  name: app_display_version
+  description: App Build
+- name: app_display_version
   type: STRING
-- description: Client ID
   mode: NULLABLE
-  name: client_id
+  description: App Display Version
+- name: client_id
   type: STRING
+  mode: NULLABLE
+  description: Client ID
 - name: events
   type: RECORD
   mode: REPEATED
-  description: Events
   fields:
   - name: category
     type: STRING
@@ -51,7 +50,6 @@
   - name: extra
     type: RECORD
     mode: REPEATED
-    description: Extras
     fields:
     - name: key
       type: STRING
@@ -61,6 +59,7 @@
       type: STRING
       mode: NULLABLE
       description: Value
+    description: Extras
   - name: name
     type: STRING
     mode: NULLABLE
@@ -69,3 +68,4 @@
     type: INTEGER
     mode: NULLABLE
     description: Event Timestamp
+  description: Events
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_fire_tv/baseline_clients_daily/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_fire_tv/baseline_clients_daily/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_fire_tv/baseline_clients_daily/schema.yaml	2025-05-23 13:52:29.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_fire_tv/baseline_clients_daily/schema.yaml	2025-05-23 14:06:46.000000000 +0000
@@ -108,23 +108,18 @@
   - name: campaign
     type: STRING
     mode: NULLABLE
-    description: The attribution campaign (e.g. 'mozilla-org').
   - name: content
     type: STRING
     mode: NULLABLE
-    description: The attribution content (e.g. 'firefoxview').
   - name: medium
     type: STRING
     mode: NULLABLE
-    description: The attribution medium (e.g. 'organic' for a search engine).
   - name: source
     type: STRING
     mode: NULLABLE
-    description: The attribution source (e.g. 'google-play').
   - name: term
     type: STRING
     mode: NULLABLE
-    description: The attribution term (e.g. 'browser with developer tools for android').
 - name: distribution
   type: RECORD
   mode: NULLABLE
@@ -132,4 +127,3 @@
   - name: name
     type: STRING
     mode: NULLABLE
-    description: The distribution name (e.g. 'MozillaOnline').
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_fire_tv/baseline_clients_first_seen/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_fire_tv/baseline_clients_first_seen/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_fire_tv/baseline_clients_first_seen/schema.yaml	2025-05-23 13:52:29.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_fire_tv/baseline_clients_first_seen/schema.yaml	2025-05-23 14:06:47.000000000 +0000
@@ -108,23 +108,18 @@
   - name: campaign
     type: STRING
     mode: NULLABLE
-    description: The attribution campaign (e.g. 'mozilla-org').
   - name: content
     type: STRING
     mode: NULLABLE
-    description: The attribution content (e.g. 'firefoxview').
   - name: medium
     type: STRING
     mode: NULLABLE
-    description: The attribution medium (e.g. 'organic' for a search engine).
   - name: source
     type: STRING
     mode: NULLABLE
-    description: The attribution source (e.g. 'google-play').
   - name: term
     type: STRING
     mode: NULLABLE
-    description: The attribution term (e.g. 'browser with developer tools for android').
 - name: distribution
   type: RECORD
   mode: NULLABLE
@@ -132,4 +127,3 @@
   - name: name
     type: STRING
     mode: NULLABLE
-    description: The distribution name (e.g. 'MozillaOnline').
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_fire_tv/baseline_clients_last_seen/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_fire_tv/baseline_clients_last_seen/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_fire_tv/baseline_clients_last_seen/schema.yaml	2025-05-23 13:52:29.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_fire_tv/baseline_clients_last_seen/schema.yaml	2025-05-23 14:06:48.000000000 +0000
@@ -132,23 +132,18 @@
   - name: campaign
     type: STRING
     mode: NULLABLE
-    description: The attribution campaign (e.g. 'mozilla-org').
   - name: content
     type: STRING
     mode: NULLABLE
-    description: The attribution content (e.g. 'firefoxview').
   - name: medium
     type: STRING
     mode: NULLABLE
-    description: The attribution medium (e.g. 'organic' for a search engine).
   - name: source
     type: STRING
     mode: NULLABLE
-    description: The attribution source (e.g. 'google-play').
   - name: term
     type: STRING
     mode: NULLABLE
-    description: The attribution term (e.g. 'browser with developer tools for android').
 - name: distribution
   type: RECORD
   mode: NULLABLE
@@ -156,4 +151,3 @@
   - name: name
     type: STRING
     mode: NULLABLE
-    description: The distribution name (e.g. 'MozillaOnline').
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_ios/new_profile_clients/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_ios/new_profile_clients/view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_ios/new_profile_clients/view.sql	2025-05-23 13:52:28.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_ios/new_profile_clients/view.sql	2025-05-23 14:05:30.000000000 +0000
@@ -5,7 +5,7 @@
 SELECT
   client_id,
   active_users.submission_date AS first_seen_date,
-  active_users.normalized_channel,
+  normalized_channel,
   app_name,
   app_display_version AS app_version,
   country,
@@ -30,7 +30,7 @@
   `moz-fx-data-shared-prod.firefox_ios.active_users` AS active_users
 LEFT JOIN
   `moz-fx-data-shared-prod.firefox_ios.attribution_clients` AS attribution
-  USING (client_id) --temporarily removing normalized_channel until backfill finishes
+  USING (client_id, normalized_channel)
 WHERE
   active_users.submission_date < CURRENT_DATE
   AND is_new_profile
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/focus_android/new_profile_clients/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/focus_android/new_profile_clients/view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/focus_android/new_profile_clients/view.sql	2025-05-23 13:52:29.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/focus_android/new_profile_clients/view.sql	2025-05-23 14:05:30.000000000 +0000
@@ -5,7 +5,7 @@
 SELECT
   client_id,
   active_users.submission_date AS first_seen_date,
-  active_users.normalized_channel,
+  normalized_channel,
   app_name,
   app_display_version AS app_version,
   country,
@@ -24,7 +24,7 @@
   `moz-fx-data-shared-prod.focus_android.active_users` AS active_users
 LEFT JOIN
   `moz-fx-data-shared-prod.focus_android.attribution_clients` AS attribution
-  USING (client_id) --temporarily removing normalized_channel until backfill finishes
+  USING (client_id, normalized_channel)
 WHERE
   active_users.submission_date < CURRENT_DATE
   AND is_new_profile
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/focus_ios/baseline_clients_first_seen/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/focus_ios/baseline_clients_first_seen/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/focus_ios/baseline_clients_first_seen/schema.yaml	2025-05-23 13:52:28.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/focus_ios/baseline_clients_first_seen/schema.yaml	2025-05-23 14:06:54.000000000 +0000
@@ -108,18 +108,23 @@
   - name: campaign
     type: STRING
     mode: NULLABLE
+    description: The attribution campaign (e.g. 'mozilla-org').
   - name: content
     type: STRING
     mode: NULLABLE
+    description: The attribution content (e.g. 'firefoxview').
   - name: medium
     type: STRING
     mode: NULLABLE
+    description: The attribution medium (e.g. 'organic' for a search engine).
   - name: source
     type: STRING
     mode: NULLABLE
+    description: The attribution source (e.g. 'google-play').
   - name: term
     type: STRING
     mode: NULLABLE
+    description: The attribution term (e.g. 'browser with developer tools for android').
 - name: distribution
   type: RECORD
   mode: NULLABLE
@@ -127,3 +132,4 @@
   - name: name
     type: STRING
     mode: NULLABLE
+    description: The distribution name (e.g. 'MozillaOnline').
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/focus_ios/new_profile_clients/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/focus_ios/new_profile_clients/view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/focus_ios/new_profile_clients/view.sql	2025-05-23 13:52:28.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/focus_ios/new_profile_clients/view.sql	2025-05-23 14:05:30.000000000 +0000
@@ -5,7 +5,7 @@
 SELECT
   client_id,
   active_users.submission_date AS first_seen_date,
-  active_users.normalized_channel,
+  normalized_channel,
   app_name,
   app_display_version AS app_version,
   country,
@@ -24,7 +24,7 @@
   `moz-fx-data-shared-prod.focus_ios.active_users` AS active_users
 LEFT JOIN
   `moz-fx-data-shared-prod.focus_ios.attribution_clients` AS attribution
-  USING (client_id) --temporarily removing normalized_channel until backfill finishes
+  USING (client_id, normalized_channel)
 WHERE
   active_users.submission_date < CURRENT_DATE
   AND is_new_profile
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/google_search_console/limited_historical_search_impressions_by_page/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/google_search_console/limited_historical_search_impressions_by_page/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/google_search_console/limited_historical_search_impressions_by_page/schema.yaml	2025-05-23 13:51:45.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/google_search_console/limited_historical_search_impressions_by_page/schema.yaml	2025-05-23 14:05:40.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
@@ -28,19 +29,23 @@
 - 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).
+  description: Localized site code such as `en-US` or `de` found in the first segment
+    of the page URL path (if any).
 - name: localized_site
   type: STRING
   mode: NULLABLE
-  description: Description of the localized site language and/or country based on `localized_site_code` (if any).
+  description: Description of the localized site language and/or country based on
+    `localized_site_code` (if any).
 - 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).
+  description: Localized site language code in ISO-639-alpha-2 format found in the
+    first segment of the page URL path (if any).
 - name: localized_site_language
   type: STRING
   mode: NULLABLE
-  description: Localized site language based on `localized_site_language_code` (if any).
+  description: Localized site language based on `localized_site_language_code` (if
+    any).
 - name: query
   type: STRING
   mode: NULLABLE
@@ -48,20 +53,15 @@
 - name: query_type
   type: STRING
   mode: NULLABLE
-  description: |-
-    Type of search query:
-      * 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  * 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: 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.
-  

⚠️ Only part of the diff is displayed.

Link to full diff

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants