Mohamed El Guendouz
10/24/2025, 3:32 PMRavi Kumar Pilla
10/24/2025, 3:42 PMMohamed El Guendouz
10/24/2025, 3:45 PMNone or just a flag to confirm that everything worked correctly.Ravi Kumar Pilla
10/24/2025, 3:50 PMkedro run too ?Ravi Kumar Pilla
10/24/2025, 3:53 PMMohamed El Guendouz
10/24/2025, 3:54 PMdelta library (outside of Kedro’s Dataset abstraction). I load the existing Delta Table, run the merge logic programmatically, and then commit the changes. Since the current Dataset only supports reading, Kedro treats it purely as an input.
That’s why the node technically returns either None or a simple flag — the actual update happens internally and is not returned as a Kedro-managed dataset.
So there is no issue when running kedro run, it works fine. The concern is mainly with Kedro-Viz, because the lineage shows the Delta Table only as an input, while in reality it is also the updated output.
Here’s a simplified example of what the node logic looks like:
from delta.tables import DeltaTable
def merge_into_delta(existing_table, new_data_df) -> None:
delta_table = DeltaTable.forPath(spark, existing_table_path)
(
delta_table.alias("target")
.merge(
new_data_df.alias("source"),
"target.id = source.id"
)
.whenMatchedUpdateAll()
.whenNotMatchedInsertAll()
.execute()
)
# No dataset returned, just return None or a flag
return NoneRavi Kumar Pilla
10/24/2025, 3:59 PMoutputs , kedro-viz will have no idea that this node outputs something. Let me see if there is a workaround. For now, I think KedroViz is working as expected considering your node does an update inplace and your node returns None.Mohamed El Guendouz
10/24/2025, 4:01 PMDatasetError 😞Mohamed El Guendouz
10/24/2025, 4:04 PMRavi Kumar Pilla
10/24/2025, 4:07 PMMohamed El Guendouz
10/24/2025, 4:09 PMRavi Kumar Pilla
10/24/2025, 4:10 PMRavi Kumar Pilla
10/24/2025, 4:11 PMMohamed El Guendouz
10/24/2025, 4:14 PMRavi Kumar Pilla
10/24/2025, 4:15 PMRavi Kumar Pilla
10/24/2025, 4:16 PMMohamed El Guendouz
10/24/2025, 4:21 PMMohamed El Guendouz
10/24/2025, 4:24 PMRavi Kumar Pilla
10/24/2025, 4:30 PM