common_components/monitoring/module/dbt_end.sql (21 lines of code) (raw):

-- Copyright 2022 The Reg Reporting Blueprint Authors -- Licensed under the Apache License, Version 2.0 (the "License"); -- you may not use this file except in compliance with the License. -- You may obtain a copy of the License at -- https://www.apache.org/licenses/LICENSE-2.0 -- Unless required by applicable law or agreed to in writing, software -- distributed under the License is distributed on an "AS IS" BASIS, -- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -- See the License for the specific language governing permissions and -- limitations under the License. -- DBT logging END stage processing -- -- Create a materialized view of extracted JSON fields for the END stage of processing SELECT update_time AS end_time, dbt_invocation_id, -- Specific node for the result from BigQuery JSON_EXTRACT_SCALAR(results, "$.id") AS id, -- BigQuery specific information STRUCT( JSON_EXTRACT_SCALAR(results, "$.adapter_response._message") AS message, CAST(JSON_EXTRACT_SCALAR(results, "$.adapter_response.bytes_processed") AS INT64) AS bytes_processed, JSON_EXTRACT_SCALAR(results, "$.adapter_response.code") AS code, JSON_EXTRACT_SCALAR(results, "$.adapter_response.job_id") AS job_id, JSON_EXTRACT_SCALAR(results, "$.adapter_response.location") AS location, JSON_EXTRACT_SCALAR(results, "$.adapter_response.project_id") AS project_id, CAST(JSON_EXTRACT_SCALAR(results, "$.adapter_response.rows_affected") AS INT64) AS rows_affected, CAST(JSON_EXTRACT_SCALAR(results, "$.adapter_response.slot_ms") AS FLOAT64) AS slot_ms ) AS response_bigquery, -- DBT timings information JSON_EXTRACT_ARRAY(results, "$.timing") json_timings FROM `${monitoring_dataset}.dbt_log` l CROSS JOIN UNNEST(JSON_EXTRACT_ARRAY(l.info)) AS results WHERE stage='END' AND JSON_EXTRACT_SCALAR(results, "$.id") NOT LIKE '%test%'