I tried to use two different ingests from two different engines e.g. storey and pandas to the same ParquetTarget, but I do not know how. I tested, but without success.
It is not a problem to create one ingest (with one engine) to the two different targets (parallel ingestion) via feature_set.set_targets, it works see sample (but I need something different solution):
project = mlrun.get_or_create_project(name, context='./', user_project=False)
feature_set = fstore.FeatureSet(feature_name, entities=[fstore.Entity("km", description='km description')], engine="storey")
feature_set.set_targets(targets=[mlrun.datastore.ParquetTarget(), mlrun.datastore.NoSqlTarget()], with_defaults=False)
...
fstore.ingest(feature_set, frm)
BTW: The main motivation is, to save space in v3io file systems for two different processes (if the ParquetTarget is the same).
I see the solution, based on these principles:
See sample: