mlrun 1.9.0rc3__py3-none-any.whl → 1.10.0rc1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mlrun might be problematic. Click here for more details.
- mlrun/api/schemas/__init__.py +0 -1
- mlrun/common/__init__.py +0 -1
- mlrun/common/db/__init__.py +0 -1
- mlrun/common/db/sql_session.py +0 -1
- mlrun/common/formatters/__init__.py +0 -1
- mlrun/common/formatters/artifact.py +0 -1
- mlrun/common/formatters/base.py +0 -1
- mlrun/common/formatters/feature_set.py +0 -1
- mlrun/common/formatters/function.py +0 -1
- mlrun/common/formatters/model_endpoint.py +0 -1
- mlrun/common/formatters/pipeline.py +0 -1
- mlrun/common/formatters/project.py +0 -1
- mlrun/common/formatters/run.py +0 -2
- mlrun/common/runtimes/constants.py +1 -1
- mlrun/common/schemas/__init__.py +1 -0
- mlrun/common/schemas/alert.py +1 -1
- mlrun/common/schemas/api_gateway.py +1 -1
- mlrun/common/schemas/artifact.py +1 -1
- mlrun/common/schemas/auth.py +1 -1
- mlrun/common/schemas/background_task.py +1 -1
- mlrun/common/schemas/client_spec.py +1 -1
- mlrun/common/schemas/clusterization_spec.py +1 -1
- mlrun/common/schemas/constants.py +1 -1
- mlrun/common/schemas/datastore_profile.py +0 -1
- mlrun/common/schemas/events.py +1 -1
- mlrun/common/schemas/feature_store.py +1 -1
- mlrun/common/schemas/frontend_spec.py +1 -1
- mlrun/common/schemas/function.py +1 -1
- mlrun/common/schemas/http.py +1 -1
- mlrun/common/schemas/hub.py +1 -1
- mlrun/common/schemas/k8s.py +1 -1
- mlrun/common/schemas/memory_reports.py +0 -1
- mlrun/common/schemas/model_monitoring/model_endpoints.py +32 -8
- mlrun/common/schemas/notification.py +4 -0
- mlrun/common/schemas/object.py +1 -1
- mlrun/common/schemas/partition.py +1 -1
- mlrun/common/schemas/pipeline.py +1 -1
- mlrun/common/schemas/project.py +1 -1
- mlrun/common/schemas/regex.py +1 -1
- mlrun/common/schemas/runtime_resource.py +1 -1
- mlrun/common/schemas/schedule.py +1 -1
- mlrun/common/schemas/secret.py +1 -1
- mlrun/common/schemas/tag.py +0 -1
- mlrun/common/schemas/workflow.py +1 -1
- mlrun/common/secrets.py +0 -1
- mlrun/config.py +9 -17
- mlrun/data_types/infer.py +1 -1
- mlrun/data_types/spark.py +1 -1
- mlrun/datastore/datastore.py +1 -1
- mlrun/datastore/snowflake_utils.py +0 -1
- mlrun/datastore/spark_utils.py +0 -1
- mlrun/datastore/utils.py +1 -1
- mlrun/db/base.py +2 -0
- mlrun/db/httpdb.py +29 -19
- mlrun/db/nopdb.py +2 -1
- mlrun/errors.py +1 -1
- mlrun/execution.py +21 -9
- mlrun/feature_store/feature_set.py +0 -12
- mlrun/feature_store/retrieval/base.py +1 -1
- mlrun/feature_store/retrieval/dask_merger.py +1 -1
- mlrun/feature_store/retrieval/job.py +1 -1
- mlrun/feature_store/retrieval/spark_merger.py +0 -2
- mlrun/feature_store/steps.py +1 -1
- mlrun/features.py +1 -1
- mlrun/frameworks/_common/artifacts_library.py +1 -1
- mlrun/frameworks/_common/mlrun_interface.py +1 -1
- mlrun/frameworks/_common/model_handler.py +3 -3
- mlrun/frameworks/_common/producer.py +0 -1
- mlrun/frameworks/_common/utils.py +1 -1
- mlrun/frameworks/_dl_common/loggers/logger.py +0 -1
- mlrun/frameworks/_dl_common/loggers/mlrun_logger.py +1 -1
- mlrun/frameworks/_dl_common/loggers/tensorboard_logger.py +1 -1
- mlrun/frameworks/_dl_common/model_handler.py +1 -1
- mlrun/frameworks/_dl_common/utils.py +1 -1
- mlrun/frameworks/_ml_common/artifacts_library.py +1 -1
- mlrun/frameworks/_ml_common/loggers/logger.py +0 -1
- mlrun/frameworks/_ml_common/loggers/mlrun_logger.py +1 -1
- mlrun/frameworks/_ml_common/model_handler.py +1 -1
- mlrun/frameworks/_ml_common/pkl_model_server.py +1 -1
- mlrun/frameworks/_ml_common/plan.py +1 -1
- mlrun/frameworks/_ml_common/plans/calibration_curve_plan.py +0 -1
- mlrun/frameworks/_ml_common/plans/confusion_matrix_plan.py +0 -1
- mlrun/frameworks/_ml_common/plans/dataset_plan.py +1 -1
- mlrun/frameworks/_ml_common/plans/feature_importance_plan.py +1 -1
- mlrun/frameworks/_ml_common/plans/roc_curve_plan.py +1 -1
- mlrun/frameworks/_ml_common/producer.py +1 -1
- mlrun/frameworks/_ml_common/utils.py +1 -1
- mlrun/frameworks/lgbm/callbacks/callback.py +1 -1
- mlrun/frameworks/lgbm/callbacks/logging_callback.py +0 -1
- mlrun/frameworks/lgbm/callbacks/mlrun_logging_callback.py +0 -1
- mlrun/frameworks/lgbm/mlrun_interfaces/booster_mlrun_interface.py +1 -1
- mlrun/frameworks/lgbm/mlrun_interfaces/mlrun_interface.py +1 -1
- mlrun/frameworks/lgbm/mlrun_interfaces/model_mlrun_interface.py +1 -1
- mlrun/frameworks/lgbm/model_handler.py +1 -1
- mlrun/frameworks/lgbm/model_server.py +1 -1
- mlrun/frameworks/lgbm/utils.py +1 -1
- mlrun/frameworks/onnx/dataset.py +1 -1
- mlrun/frameworks/onnx/mlrun_interface.py +1 -1
- mlrun/frameworks/onnx/model_handler.py +1 -1
- mlrun/frameworks/onnx/model_server.py +1 -1
- mlrun/frameworks/pytorch/callbacks/callback.py +1 -1
- mlrun/frameworks/pytorch/callbacks/logging_callback.py +1 -1
- mlrun/frameworks/pytorch/callbacks/mlrun_logging_callback.py +1 -1
- mlrun/frameworks/pytorch/callbacks/tensorboard_logging_callback.py +1 -1
- mlrun/frameworks/pytorch/callbacks_handler.py +1 -1
- mlrun/frameworks/pytorch/mlrun_interface.py +1 -1
- mlrun/frameworks/pytorch/model_handler.py +1 -1
- mlrun/frameworks/pytorch/model_server.py +1 -1
- mlrun/frameworks/pytorch/utils.py +1 -1
- mlrun/frameworks/sklearn/__init__.py +0 -14
- mlrun/frameworks/sklearn/estimator.py +1 -1
- mlrun/frameworks/sklearn/metric.py +1 -1
- mlrun/frameworks/sklearn/metrics_library.py +1 -1
- mlrun/frameworks/sklearn/mlrun_interface.py +1 -1
- mlrun/frameworks/sklearn/model_handler.py +1 -1
- mlrun/frameworks/sklearn/utils.py +1 -1
- mlrun/frameworks/tf_keras/callbacks/logging_callback.py +1 -1
- mlrun/frameworks/tf_keras/callbacks/mlrun_logging_callback.py +1 -1
- mlrun/frameworks/tf_keras/callbacks/tensorboard_logging_callback.py +1 -1
- mlrun/frameworks/tf_keras/mlrun_interface.py +1 -1
- mlrun/frameworks/tf_keras/model_handler.py +1 -1
- mlrun/frameworks/tf_keras/model_server.py +1 -1
- mlrun/frameworks/tf_keras/utils.py +1 -1
- mlrun/frameworks/xgboost/mlrun_interface.py +1 -1
- mlrun/frameworks/xgboost/model_handler.py +1 -1
- mlrun/frameworks/xgboost/utils.py +1 -1
- mlrun/k8s_utils.py +340 -0
- mlrun/launcher/base.py +3 -3
- mlrun/launcher/local.py +2 -2
- mlrun/launcher/remote.py +2 -2
- mlrun/model.py +14 -0
- mlrun/model_monitoring/applications/__init__.py +0 -1
- mlrun/model_monitoring/applications/_application_steps.py +3 -1
- mlrun/model_monitoring/controller.py +3 -1
- mlrun/model_monitoring/db/tsdb/base.py +3 -1
- mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connection.py +213 -0
- mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connector.py +27 -49
- mlrun/model_monitoring/db/tsdb/v3io/v3io_connector.py +35 -30
- mlrun/package/context_handler.py +1 -1
- mlrun/package/errors.py +1 -1
- mlrun/package/packager.py +1 -1
- mlrun/package/packagers/default_packager.py +1 -1
- mlrun/package/packagers/numpy_packagers.py +1 -1
- mlrun/package/packagers/pandas_packagers.py +1 -1
- mlrun/package/packagers/python_standard_library_packagers.py +1 -1
- mlrun/package/packagers_manager.py +1 -1
- mlrun/package/utils/_archiver.py +1 -1
- mlrun/package/utils/_formatter.py +1 -1
- mlrun/package/utils/_pickler.py +1 -1
- mlrun/package/utils/_supported_format.py +1 -1
- mlrun/package/utils/log_hint_utils.py +1 -1
- mlrun/package/utils/type_hint_utils.py +1 -1
- mlrun/projects/operations.py +36 -21
- mlrun/projects/project.py +82 -74
- mlrun/run.py +1 -1
- mlrun/runtimes/base.py +16 -6
- mlrun/runtimes/daskjob.py +2 -1
- mlrun/runtimes/databricks_job/databricks_cancel_task.py +0 -1
- mlrun/runtimes/databricks_job/databricks_runtime.py +2 -1
- mlrun/runtimes/databricks_job/databricks_wrapper.py +0 -1
- mlrun/runtimes/mounts.py +2 -0
- mlrun/runtimes/nuclio/function.py +6 -1
- mlrun/runtimes/nuclio/serving.py +1 -1
- mlrun/runtimes/pod.py +4 -349
- mlrun/runtimes/sparkjob/spark3job.py +0 -12
- mlrun/serving/merger.py +0 -1
- mlrun/serving/remote.py +1 -1
- mlrun/serving/serving_wrapper.py +1 -1
- mlrun/serving/utils.py +1 -1
- mlrun/utils/async_http.py +0 -1
- mlrun/utils/clones.py +1 -1
- mlrun/utils/db.py +1 -1
- mlrun/utils/helpers.py +3 -1
- mlrun/utils/http.py +0 -1
- mlrun/utils/notifications/notification/webhook.py +18 -2
- mlrun/utils/regex.py +0 -1
- mlrun/utils/singleton.py +1 -1
- mlrun/utils/vault.py +1 -1
- mlrun/utils/version/__init__.py +1 -1
- mlrun/utils/version/version.json +2 -2
- mlrun/utils/version/version.py +1 -1
- {mlrun-1.9.0rc3.dist-info → mlrun-1.10.0rc1.dist-info}/METADATA +6 -10
- mlrun-1.10.0rc1.dist-info/RECORD +351 -0
- {mlrun-1.9.0rc3.dist-info → mlrun-1.10.0rc1.dist-info}/WHEEL +1 -1
- mlrun-1.9.0rc3.dist-info/RECORD +0 -350
- {mlrun-1.9.0rc3.dist-info → mlrun-1.10.0rc1.dist-info}/entry_points.txt +0 -0
- {mlrun-1.9.0rc3.dist-info → mlrun-1.10.0rc1.dist-info}/licenses/LICENSE +0 -0
- {mlrun-1.9.0rc3.dist-info → mlrun-1.10.0rc1.dist-info}/top_level.txt +0 -0
mlrun/api/schemas/__init__.py
CHANGED
mlrun/common/__init__.py
CHANGED
mlrun/common/db/__init__.py
CHANGED
mlrun/common/db/sql_session.py
CHANGED
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
-
#
|
|
15
14
|
|
|
16
15
|
from .artifact import ArtifactFormat # noqa
|
|
17
16
|
from .function import FunctionFormat # noqa
|
mlrun/common/formatters/base.py
CHANGED
mlrun/common/formatters/run.py
CHANGED
|
@@ -11,8 +11,6 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
-
#
|
|
15
|
-
|
|
16
14
|
|
|
17
15
|
import mlrun.common.types
|
|
18
16
|
from mlrun.common.formatters.base import ObjectFormat
|
mlrun/common/schemas/__init__.py
CHANGED
mlrun/common/schemas/alert.py
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
-
|
|
14
|
+
|
|
15
15
|
from collections import defaultdict
|
|
16
16
|
from collections.abc import Iterator
|
|
17
17
|
from datetime import datetime
|
mlrun/common/schemas/artifact.py
CHANGED
mlrun/common/schemas/auth.py
CHANGED
mlrun/common/schemas/events.py
CHANGED
mlrun/common/schemas/function.py
CHANGED
mlrun/common/schemas/http.py
CHANGED
mlrun/common/schemas/hub.py
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
-
|
|
14
|
+
|
|
15
15
|
from datetime import datetime, timezone
|
|
16
16
|
from typing import Optional
|
|
17
17
|
|
mlrun/common/schemas/k8s.py
CHANGED
|
@@ -88,13 +88,18 @@ class ModelEndpointParser(abc.ABC, BaseModel):
|
|
|
88
88
|
|
|
89
89
|
@classmethod
|
|
90
90
|
def from_flat_dict(
|
|
91
|
-
cls,
|
|
91
|
+
cls,
|
|
92
|
+
endpoint_dict: dict,
|
|
93
|
+
json_parse_values: Optional[list] = None,
|
|
94
|
+
validate: bool = True,
|
|
92
95
|
) -> "ModelEndpointParser":
|
|
93
96
|
"""Create a `ModelEndpointParser` object from an endpoint dictionary
|
|
94
97
|
|
|
95
98
|
:param endpoint_dict: Model endpoint dictionary.
|
|
96
99
|
:param json_parse_values: List of dictionary keys with a JSON string value that will be parsed into a
|
|
97
100
|
dictionary using json.loads().
|
|
101
|
+
:param validate: Whether to validate the flattened dictionary.
|
|
102
|
+
Skip validation to optimize performance when it is safe to do so.
|
|
98
103
|
"""
|
|
99
104
|
if json_parse_values is None:
|
|
100
105
|
json_parse_values = cls.json_parse_values()
|
|
@@ -103,6 +108,7 @@ class ModelEndpointParser(abc.ABC, BaseModel):
|
|
|
103
108
|
model_class=cls,
|
|
104
109
|
flattened_dictionary=endpoint_dict,
|
|
105
110
|
json_parse_values=json_parse_values,
|
|
111
|
+
validate=validate,
|
|
106
112
|
)
|
|
107
113
|
|
|
108
114
|
|
|
@@ -213,17 +219,27 @@ class ModelEndpoint(BaseModel):
|
|
|
213
219
|
return flatten_dict
|
|
214
220
|
|
|
215
221
|
@classmethod
|
|
216
|
-
def from_flat_dict(
|
|
222
|
+
def from_flat_dict(
|
|
223
|
+
cls, endpoint_dict: dict, validate: bool = True
|
|
224
|
+
) -> "ModelEndpoint":
|
|
217
225
|
"""Create a `ModelEndpoint` object from an endpoint flattened dictionary. Because the provided dictionary
|
|
218
226
|
is flattened, we pass it as is to the subclasses without splitting the keys into spec, metadata, and status.
|
|
219
227
|
|
|
220
228
|
:param endpoint_dict: Model endpoint dictionary.
|
|
229
|
+
:param validate: Whether to validate the flattened dictionary.
|
|
230
|
+
Skip validation to optimize performance when it is safe to do so.
|
|
221
231
|
"""
|
|
222
232
|
|
|
223
233
|
return cls(
|
|
224
|
-
metadata=ModelEndpointMetadata.from_flat_dict(
|
|
225
|
-
|
|
226
|
-
|
|
234
|
+
metadata=ModelEndpointMetadata.from_flat_dict(
|
|
235
|
+
endpoint_dict=endpoint_dict, validate=validate
|
|
236
|
+
),
|
|
237
|
+
spec=ModelEndpointSpec.from_flat_dict(
|
|
238
|
+
endpoint_dict=endpoint_dict, validate=validate
|
|
239
|
+
),
|
|
240
|
+
status=ModelEndpointStatus.from_flat_dict(
|
|
241
|
+
endpoint_dict=endpoint_dict, validate=validate
|
|
242
|
+
),
|
|
227
243
|
)
|
|
228
244
|
|
|
229
245
|
def get(self, field, default=None):
|
|
@@ -311,7 +327,10 @@ class ModelEndpointMonitoringMetricNoData(_ModelEndpointMonitoringMetricValuesBa
|
|
|
311
327
|
|
|
312
328
|
|
|
313
329
|
def _mapping_attributes(
|
|
314
|
-
model_class: type[Model],
|
|
330
|
+
model_class: type[Model],
|
|
331
|
+
flattened_dictionary: dict,
|
|
332
|
+
json_parse_values: list,
|
|
333
|
+
validate: bool = True,
|
|
315
334
|
) -> Model:
|
|
316
335
|
"""Generate a `BaseModel` object with the provided dictionary attributes.
|
|
317
336
|
|
|
@@ -319,8 +338,10 @@ def _mapping_attributes(
|
|
|
319
338
|
:param flattened_dictionary: Flattened dictionary that contains the model endpoint attributes.
|
|
320
339
|
:param json_parse_values: List of dictionary keys with a JSON string value that will be parsed into a
|
|
321
340
|
dictionary using json.loads().
|
|
341
|
+
:param validate: Whether to validate the flattened dictionary.
|
|
342
|
+
Skip validation to optimize performance when it is safe to do so.
|
|
322
343
|
"""
|
|
323
|
-
# Get the fields of the provided base model object. These fields will be used to filter to
|
|
344
|
+
# Get the fields of the provided base model object. These fields will be used to filter to relevant keys
|
|
324
345
|
# from the flattened dictionary.
|
|
325
346
|
wanted_keys = model_class.__fields__.keys()
|
|
326
347
|
|
|
@@ -338,7 +359,10 @@ def _mapping_attributes(
|
|
|
338
359
|
else:
|
|
339
360
|
dict_to_parse[field_key] = None
|
|
340
361
|
|
|
341
|
-
|
|
362
|
+
if validate:
|
|
363
|
+
return model_class.parse_obj(dict_to_parse)
|
|
364
|
+
|
|
365
|
+
return model_class.construct(**dict_to_parse)
|
|
342
366
|
|
|
343
367
|
|
|
344
368
|
def _json_loads_if_not_none(field: Any) -> Any:
|
|
@@ -73,6 +73,10 @@ class NotificationKind(mlrun.common.types.StrEnum):
|
|
|
73
73
|
The default is set to True.\n
|
|
74
74
|
"""
|
|
75
75
|
|
|
76
|
+
@classmethod
|
|
77
|
+
def alert_notification_kinds(cls) -> list[str]:
|
|
78
|
+
return [cls.git, cls.slack, cls.webhook]
|
|
79
|
+
|
|
76
80
|
|
|
77
81
|
class NotificationSeverity(mlrun.common.types.StrEnum):
|
|
78
82
|
INFO = "info"
|
mlrun/common/schemas/object.py
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
-
|
|
14
|
+
|
|
15
15
|
from datetime import datetime
|
|
16
16
|
from typing import Optional
|
|
17
17
|
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
-
|
|
14
|
+
|
|
15
15
|
from datetime import datetime, timedelta
|
|
16
16
|
|
|
17
17
|
from mlrun.common.types import StrEnum
|
mlrun/common/schemas/pipeline.py
CHANGED
mlrun/common/schemas/project.py
CHANGED
mlrun/common/schemas/regex.py
CHANGED
mlrun/common/schemas/schedule.py
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
-
|
|
14
|
+
|
|
15
15
|
from datetime import datetime
|
|
16
16
|
from typing import Any, Literal, Optional, Union
|
|
17
17
|
|
mlrun/common/schemas/secret.py
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
-
|
|
14
|
+
|
|
15
15
|
from typing import Optional
|
|
16
16
|
|
|
17
17
|
from pydantic.v1 import BaseModel, Field
|
mlrun/common/schemas/tag.py
CHANGED
mlrun/common/schemas/workflow.py
CHANGED
mlrun/common/secrets.py
CHANGED
mlrun/config.py
CHANGED
|
@@ -490,6 +490,7 @@ default_config = {
|
|
|
490
490
|
# Number of days back to include when calculating the project pipeline summary.
|
|
491
491
|
"list_pipelines_time_period_in_days": 7,
|
|
492
492
|
},
|
|
493
|
+
"resource_deletion_batch_size": 10000,
|
|
493
494
|
},
|
|
494
495
|
# The API needs to know what is its k8s svc url so it could enrich it in the jobs it creates
|
|
495
496
|
"api_url": "",
|
|
@@ -512,7 +513,7 @@ default_config = {
|
|
|
512
513
|
# git+https://github.com/mlrun/mlrun@development. by default uses the version
|
|
513
514
|
"mlrun_version_specifier": "",
|
|
514
515
|
"kaniko_image": "gcr.io/kaniko-project/executor:v1.23.2", # kaniko builder image
|
|
515
|
-
"kaniko_init_container_image": "alpine:3.
|
|
516
|
+
"kaniko_init_container_image": "alpine:3.20",
|
|
516
517
|
# image for kaniko init container when docker registry is ECR
|
|
517
518
|
"kaniko_aws_cli_image": "amazon/aws-cli:2.17.16",
|
|
518
519
|
# kaniko sometimes fails to get filesystem from image, this is a workaround to retry the process
|
|
@@ -591,17 +592,17 @@ default_config = {
|
|
|
591
592
|
},
|
|
592
593
|
"writer_stream_args": {
|
|
593
594
|
"v3io": {
|
|
594
|
-
"shard_count":
|
|
595
|
+
"shard_count": 4,
|
|
595
596
|
"retention_period_hours": 24,
|
|
596
|
-
"num_workers":
|
|
597
|
+
"num_workers": 4,
|
|
597
598
|
"min_replicas": 1,
|
|
598
599
|
"max_replicas": 1,
|
|
599
600
|
},
|
|
600
601
|
"kafka": {
|
|
601
|
-
"partition_count":
|
|
602
|
+
"partition_count": 4,
|
|
602
603
|
# TODO: add retention period configuration
|
|
603
604
|
"replication_factor": 1,
|
|
604
|
-
"num_workers":
|
|
605
|
+
"num_workers": 4,
|
|
605
606
|
"min_replicas": 1,
|
|
606
607
|
"max_replicas": 1,
|
|
607
608
|
},
|
|
@@ -634,12 +635,6 @@ default_config = {
|
|
|
634
635
|
"offline_storage_path": "model-endpoints/{kind}",
|
|
635
636
|
"parquet_batching_max_events": 10_000,
|
|
636
637
|
"parquet_batching_timeout_secs": timedelta(minutes=1).total_seconds(),
|
|
637
|
-
"tdengine": {
|
|
638
|
-
"run_directly": True,
|
|
639
|
-
# timeout and retry are ignored when run_directly is set to True
|
|
640
|
-
"timeout": 10,
|
|
641
|
-
"retries": 1,
|
|
642
|
-
},
|
|
643
638
|
},
|
|
644
639
|
"secret_stores": {
|
|
645
640
|
# Use only in testing scenarios (such as integration tests) to avoid using k8s for secrets (will use in-memory
|
|
@@ -1045,12 +1040,9 @@ class Config:
|
|
|
1045
1040
|
)
|
|
1046
1041
|
|
|
1047
1042
|
def is_preemption_nodes_configured(self):
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
):
|
|
1052
|
-
return False
|
|
1053
|
-
return True
|
|
1043
|
+
return (
|
|
1044
|
+
self.get_preemptible_tolerations() or self.get_preemptible_node_selector()
|
|
1045
|
+
)
|
|
1054
1046
|
|
|
1055
1047
|
@staticmethod
|
|
1056
1048
|
def get_valid_function_priority_class_names():
|
mlrun/data_types/infer.py
CHANGED
mlrun/data_types/spark.py
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
-
|
|
14
|
+
|
|
15
15
|
from datetime import datetime
|
|
16
16
|
from os import environ
|
|
17
17
|
from typing import Optional
|
mlrun/datastore/datastore.py
CHANGED
|
@@ -111,7 +111,7 @@ def schema_to_store(schema):
|
|
|
111
111
|
|
|
112
112
|
def uri_to_ipython(link):
|
|
113
113
|
schema, endpoint, parsed_url = parse_url(link)
|
|
114
|
-
if schema in [DB_SCHEMA, "memory"]:
|
|
114
|
+
if schema in [DB_SCHEMA, "memory", "ds"]:
|
|
115
115
|
return ""
|
|
116
116
|
return schema_to_store(schema).uri_to_ipython(endpoint, parsed_url.path)
|
|
117
117
|
|
mlrun/datastore/spark_utils.py
CHANGED
mlrun/datastore/utils.py
CHANGED