Skip to content

Commit dd2c5c2

Browse files
committed
Adds spark support for convert_timezone
1 parent 5f24102 commit dd2c5c2

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed
+14-6
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,24 @@
11
{%- macro convert_timezone(column, target_tz=None, source_tz=None) -%}
2+
{%- set source_tz = "UTC" if not source_tz else source_tz -%}
23
{%- set target_tz = var("dbt_date:time_zone") if not target_tz else target_tz -%}
34
{{ adapter.dispatch('convert_timezone', packages = dbt_date._get_utils_namespaces()) (column, target_tz, source_tz) }}
45
{%- endmacro -%}
56

67
{% macro default__convert_timezone(column, target_tz, source_tz) -%}
7-
{%- if not source_tz -%}
8-
cast(convert_timezone('{{ target_tz }}', {{ column }}) as {{ dbt_utils.type_timestamp() }})
9-
{%- else -%}
10-
cast(convert_timezone('{{ source_tz }}', '{{ target_tz }}', {{ column }}) as {{ dbt_utils.type_timestamp() }})
11-
{%- endif -%}
8+
{%- if not source_tz -%}
9+
cast(convert_timezone('{{ target_tz }}', {{ column }}) as {{ dbt_utils.type_timestamp() }})
10+
{%- else -%}
11+
cast(convert_timezone('{{ source_tz }}', '{{ target_tz }}', {{ column }}) as {{ dbt_utils.type_timestamp() }})
12+
{%- endif -%}
1213
{%- endmacro -%}
1314

1415
{%- macro bigquery__convert_timezone(column, target_tz, source_tz=None) -%}
15-
timestamp(datetime({{ column }}, '{{ target_tz}}'))
16+
timestamp(datetime({{ column }}, '{{ target_tz}}'))
17+
{%- endmacro -%}
18+
19+
{%- macro spark__convert_timezone(column, target_tz, source_tz) -%}
20+
from_utc_timestamp(
21+
to_utc_timestamp({{ column }}, '{{ source_tz }}'),
22+
'{{ target_tz }}'
23+
)
1624
{%- endmacro -%}

0 commit comments

Comments
 (0)