Remi Gabillet
09/03/2021, 2:30 PMError loading repository location glue.py:dagster.core.errors.DagsterInvariantViolationError: Attempted to iterate over an InvokedSolidOutputHandle. This object represents the output "result" from the solid "load_partitions". Consider yielding multiple Outputs if you seek to pass different parts of this output to different solids.
Remi Gabillet
09/03/2021, 2:30 PMDarren Ng
09/03/2021, 2:33 PMchris
09/03/2021, 2:33 PMRemi Gabillet
09/03/2021, 2:38 PMRemi Gabillet
09/03/2021, 2:39 PMRemi Gabillet
09/03/2021, 2:40 PMselect_tables
returns a dict. With this exact code, I get the following when running `dagit`:
/Users/remi/.pyenv/versions/3.8.9/lib/python3.8/site-packages/dagster/core/workspace/context.py:510: UserWarning: Error loading repository location glue.py:AttributeError: 'InvokedSolidOutputHandle' object has no attribute 'items'
Remi Gabillet
09/03/2021, 2:41 PMmem_io_manager
is converting the dict output into something else. I'm very new to Dagster (5 minutes of experience lol)chris
09/03/2021, 2:43 PMchris
09/03/2021, 2:43 PMRemi Gabillet
09/03/2021, 2:46 PMselect_tables
is a solid. It pulls a list of tables from a data source.Remi Gabillet
09/03/2021, 2:46 PMchris
09/03/2021, 2:51 PM@solid(config_schema={"database_name" str})
def select_tables(context):
db_name = context.solid_config["database_name"]
....
And then in dagit, you can navigate to the playground, and provide this config there when executing. If using execute_pipeline
, you can provide via the run_config
argument. For more information on these aspects:
Execution docs
Run config docs (although I just found an error in these docs, the config_example_solid
should have a config_schema defined lol. Gonna fix that.)Remi Gabillet
09/03/2021, 3:02 PMRemi Gabillet
09/03/2021, 3:23 PMprha
09/03/2021, 3:48 PMchris
09/03/2021, 4:30 PMcomposite_solid
abstraction, which allows you to map config to internal solids: https://docs.dagster.io/concepts/solids-pipelines/composite-solids#configuration-mappingRemi Gabillet
09/04/2021, 8:45 AM