Skip to content

Commit 7a533e4

Browse files
committed
Create staging GTFS download config view: stg_gtfs_schedule__download_configs
1 parent 01c2575 commit 7a533e4

File tree

3 files changed

+57
-0
lines changed

3 files changed

+57
-0
lines changed

warehouse/models/staging/gtfs/_src_gtfs_schedule_external_tables.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ sources:
1414
database: "{{ env_var('GOOGLE_CLOUD_PROJECT', var('GOOGLE_CLOUD_PROJECT')) }}"
1515
schema: external_gtfs_schedule
1616
tables:
17+
- name: download_configs
1718
- name: download_outcomes
1819
- name: unzip_outcomes
1920
- name: agency

warehouse/models/staging/gtfs/_stg_gtfs.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,28 @@
11
version: 2
22

33
models:
4+
- name: stg_gtfs_schedule__download_configs
5+
description: Displays all existing download configs with related schedule validation url
6+
columns:
7+
- name: name
8+
- name: url
9+
- name: base64_url
10+
- name: feed_type
11+
- name: auth_headers
12+
- name: auth_query_params
13+
- name: first_extracted_date
14+
description: First date this configuration was extracted
15+
- name: last_extracted_date
16+
description: Last date this configuration was extracted
17+
- name: schedule_url
18+
- name: schedule_base64_url
19+
- name: schedule_name
20+
- name: schedule_auth_headers
21+
- name: schedule_auth_query_params
22+
- name: schedule_first_extracted_date
23+
description: First date this configuration schedule was extracted
24+
- name: schedule_last_extracted_date
25+
description: Last date this configuration schedule was extracted
426
- name: stg_gtfs_schedule__download_outcomes
527
description: Outcomes from download attempts of GTFS schedule data.
628
tests:
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
WITH stg_gtfs_schedule__download_configs AS (
2+
SELECT configs.name,
3+
configs.url,
4+
{{ to_url_safe_base64('configs.url') }} AS base64_url,
5+
configs.feed_type,
6+
TO_JSON_STRING(configs.auth_headers) AS auth_headers,
7+
TO_JSON_STRING(configs.auth_query_params) AS auth_query_params,
8+
MIN(configs.dt) AS first_extracted_date,
9+
MAX(configs.dt) AS last_extracted_date,
10+
configs.schedule_url_for_validation AS schedule_url,
11+
{{ to_url_safe_base64('schedules.url') }} AS schedule_base64_url,
12+
schedules.name AS schedule_name,
13+
TO_JSON_STRING(schedules.auth_headers) AS schedule_auth_headers,
14+
TO_JSON_STRING(schedules.auth_query_params) AS schedule_auth_query_params,
15+
MIN(schedules.dt) AS schedule_first_extracted_date,
16+
MAX(schedules.dt) AS schedule_last_extracted_date
17+
FROM {{ source('external_gtfs_schedule', 'download_configs') }} AS configs
18+
LEFT JOIN {{ source('external_gtfs_schedule', 'download_configs') }} AS schedules
19+
ON configs.schedule_url_for_validation = schedules.url
20+
AND schedules.feed_type = 'schedule'
21+
GROUP BY
22+
configs.name,
23+
configs.url,
24+
configs.feed_type,
25+
auth_headers,
26+
auth_query_params,
27+
configs.schedule_url_for_validation,
28+
schedules.url,
29+
schedules.name,
30+
schedule_auth_query_params,
31+
schedule_auth_headers
32+
)
33+
34+
SELECT * FROM stg_gtfs_schedule__download_configs

0 commit comments

Comments
 (0)