Node Function
flypipe.node_function.node_function
Decorator factory that returns the given function wrapped inside a NodeFunction class
Parameters:
Name | Type | Description | Default |
---|---|---|---|
requested_columns
|
(bool, optional)
|
List of requested columns that successors nodes are demanding from the node function, if True will retrieve |
required |
node_dependencies
|
(List[Node or NodeFunction], optional)
|
List of external nodes that the node function is dependent on. Any node retrieved by the node function (called internal node) can only be dependent on any internal node or any node inside |
required |
output
|
(Schema, optional)
|
Defines the output schema of the node. Defaults to |
required |
Returns:
Type | Description |
---|---|
List[Node]
|
a list of nodes created internally |
Examples
# Syntax
@node_function(
requested_columns=True,
node_dependencies=[
Spark("table")
]
)
def my_node_function(requested_columns):
@node(
type="pandas",
dependencies=[
Spark("table").select(requested_columns).alias("df")
]
)
def internal_node_1(df):
return df
@node(
type="pandas",
dependencies=[
internal_node_1.alias("df")
]
)
def internal_node_2(df):
return df
return internal_node_1, internal_node_2 # <-- ALL INTERNAL NODES CREATED MUST BE RETURNED