https://dagster.io/ logo
#ask-community
Title
# ask-community
n

Neil

04/14/2023, 7:20 PM
Hey all, how can I set graph_asset to have a non-argument dependency? I don't see a
non_argument_deps
option and I see IO manager doing things when it shouldn't do anything. Code in thread
dagster bot responded by community 1
Copy code
@op
def raw_op() -> None:
    get_dagster_logger().info('raw_op')

@op(ins={"start": In(Nothing)})
def parsed_op() -> None:
    get_dagster_logger().info('parsed_op')

@graph_asset
def raw_asset() -> None:
    get_dagster_logger().info('raw_asset')
    return raw_op()

@graph_asset
def parsed_asset(raw_asset) -> None:
    get_dagster_logger().info('parsed_asset')
    return parsed_op(start=raw_asset)
When materializing the above assets, both outputs are 'handled using IO manager' when I really don't need that
Use case, btw, is that I have two Databricks ops that produce two tables. One depends on the other, and since they're both sources in dbt, I need an asset for each of these
Oh, okay, it might be my misunderstanding. I saw the 'IO Manager Handled Output' event and assumed it was doing something, but it looks like I was mistaken
I suppose that log event always shows up even if it does nothing, huh?
a

Andras Somi

04/14/2023, 8:35 PM
FWIW I ended up doing the same, "swallowed" the input in the first op as a Nothing input. For Nothing input types the io manager won't run tge load_input() method.
n

Neil

04/14/2023, 8:39 PM
Whew, good to know that it works like I hoped. Gotta say, I get so confused when it comes to making assets and ops work together. Thanks!
👍 1
3 Views