towards batch download

This commit is contained in:
2025-07-28 19:37:52 +02:00
parent 78de29e930
commit 25cccdb501
8 changed files with 147 additions and 34 deletions

View File

@@ -4,10 +4,14 @@ from typing import Any
import requests_cache
from config import APP
from partitions import location_partitions_def
from partitions import (
latitude_partitions_def,
location_partitions_def,
longitude_partitions_def,
)
from requests import Request
from retry_requests import retry
from utils import parse_coord
from utils import parse_coordinate_str
import dagster as dg
@@ -22,7 +26,7 @@ asset = partial(dg.asset, key_prefix=APP)
def raw_weather(context: dg.AssetExecutionContext) -> Any:
"""Asset to fetch raw weather data for each location."""
partition_key = context.partition_key
lat, lon = parse_coord(partition_key)
lat, lon = parse_coordinate_str(partition_key)
context.log.info(
f"Fetching weather data for location ({partition_key}): {lat}, {lon}"
)
@@ -96,3 +100,20 @@ def raw_weather(context: dg.AssetExecutionContext) -> Any:
"path_suffix": [date_str, time_str],
},
)
@asset(
io_manager_key="json_io_manager",
partitions_def=latitude_partitions_def,
name="raw_batch",
)
def raw_weather_batch(context: dg.AssetExecutionContext) -> None:
for partitions_def in [
location_partitions_def,
latitude_partitions_def,
longitude_partitions_def,
]:
existing_keys = set(
context.instance.get_dynamic_partitions(partitions_def.name)
)
ic(partitions_def.name, len(existing_keys), existing_keys)