НачатьНачать бесплатно

Сопоставление входных данных с помощью zip

В вашей команде есть пайплайн, который загружает файлы в определённые места в облачном хранилище. Коллега использует zip() вместе с expand_kwargs(), чтобы сопоставить каждый файл с соответствующим местом назначения:

@task
def get_files():
    return ["users.csv", "orders.csv", "products.csv"]

@task
def get_destinations():
    return ["s3://bronze/users/", "s3://bronze/orders/", "s3://bronze/products/"]

@task
def upload(file_to_upload):
    # Simulate uploading a file to cloud storage
    print(f"Uploading {file_to_upload[0]} to {file_to_upload[1]}")

files = get_files()
destinations = get_destinations()
upload.expand(file_to_upload=files.zip(destinations))

Сколько экземпляров задачи upload создаст Airflow?

Это упражнение является частью курса

Построение пайплайнов данных с Airflow

Посмотреть курс

Практическое интерактивное упражнение

Превратите теорию в практику с помощью одного из наших интерактивных упражнений

Начать упражнение