Skip to content

Commit

Permalink
[Feature Store] Fix set_targets(["parquet"]) (mlrun#2287)
Browse files Browse the repository at this point in the history
  • Loading branch information
Gal Topper authored Aug 23, 2022
1 parent 8993835 commit e96ef45
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 1 deletion.
4 changes: 3 additions & 1 deletion mlrun/feature_store/feature_set.py
Original file line number Diff line number Diff line change
Expand Up @@ -402,7 +402,9 @@ def set_targets(
f"target kind is not supported, use one of: {','.join(TargetTypes.all())}"
)
if not hasattr(target, "kind"):
target = DataTargetBase(target, name=str(target))
target = DataTargetBase(
target, name=str(target), partitioned=(target == "parquet")
)
if target.path is not None and (
target.path.startswith("wasb") or target.path.startswith("wasbs")
):
Expand Down
29 changes: 29 additions & 0 deletions tests/feature-store/test_ingest.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,3 +63,32 @@ def test_columns_with_illegal_characters_error():

with pytest.raises(mlrun.errors.MLRunInvalidArgumentError):
fs.ingest(fset, df)


def test_set_targets_with_string():
fset = fs.FeatureSet(
"myset",
entities=[fs.Entity("ticker")],
)

fset.set_targets(["parquet", "nosql"], with_defaults=False)

targets = fset.spec.targets

assert len(targets) == 2

parquet_target = None
nosql_target = None
for target in fset.spec.targets:
if target.name == "parquet":
parquet_target = target
elif target.name == "nosql":
nosql_target = target

assert parquet_target.name == "parquet"
assert parquet_target.kind == "parquet"
assert parquet_target.partitioned

assert nosql_target.name == "nosql"
assert nosql_target.kind == "nosql"
assert not nosql_target.partitioned

0 comments on commit e96ef45

Please sign in to comment.