dagster 是否支持没有输出的实体之间的依赖关系?
Does dagster support dependencies between solids with no outputs?
我正在构建一个原型管道,它可以做两件事:
- (solid) 从现有目录中清除文件
- (solid) 运行批处理以将数据转储到该目录。
步骤 #1 都是副作用,没有输出传递给 #2。是否可以在管道中表达这两个实体之间的依赖关系?
我认为来自 https://docs.dagster.io/examples/nothing 的以下代码片段应该适用于您的用例:
from dagster import Nothing
@solid
def create_table_1(_) -> Nothing:
get_database_connection().execute("create table_1 as select * from some_source_table")
@solid(input_defs=[InputDefinition("start", Nothing)])
def create_table_2(_):
get_database_connection().execute("create table_2 as select * from table_1")
@pipeline
def my_pipeline():
create_table_2(create_table_1())
我正在构建一个原型管道,它可以做两件事:
- (solid) 从现有目录中清除文件
- (solid) 运行批处理以将数据转储到该目录。
步骤 #1 都是副作用,没有输出传递给 #2。是否可以在管道中表达这两个实体之间的依赖关系?
我认为来自 https://docs.dagster.io/examples/nothing 的以下代码片段应该适用于您的用例:
from dagster import Nothing
@solid
def create_table_1(_) -> Nothing:
get_database_connection().execute("create table_1 as select * from some_source_table")
@solid(input_defs=[InputDefinition("start", Nothing)])
def create_table_2(_):
get_database_connection().execute("create table_2 as select * from table_1")
@pipeline
def my_pipeline():
create_table_2(create_table_1())