get_value_list

When to use the get_value_list operator

We can use get_value_list when you want to execute a SQL query on a database table and get the result. This might be useful when you want to create dynamic tasks on the response of this operator.

Warning

Using this operator without limit in the SQL query can push lots of data in XCOM and also can create lots of parallel tasks if using in dynamic task map expand method.

    @task
    def custom_task(rating_val):
        try:
            return float(rating_val[0])
        except ValueError:
            # If value is not valid then ignore it
            pass

    @task
    def avg_rating(rating_list):
        rating_list = [val for val in rating_list if val]
        return sum(rating_list) / len(rating_list)

    rating = custom_task.expand(rating_val=get_value_list(sql=QUERY_STATEMENT, conn_id=ASTRO_GCP_CONN_ID))

    print(avg_rating(rating))