acryl-datahub 0.15.0rc25__py3-none-any.whl → 0.15.0.1__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 acryl-datahub might be problematic. Click here for more details.
- {acryl_datahub-0.15.0rc25.dist-info → acryl_datahub-0.15.0.1.dist-info}/METADATA +2236 -2240
- {acryl_datahub-0.15.0rc25.dist-info → acryl_datahub-0.15.0.1.dist-info}/RECORD +116 -106
- {acryl_datahub-0.15.0rc25.dist-info → acryl_datahub-0.15.0.1.dist-info}/WHEEL +1 -1
- {acryl_datahub-0.15.0rc25.dist-info → acryl_datahub-0.15.0.1.dist-info}/entry_points.txt +1 -1
- datahub/__init__.py +1 -1
- datahub/api/circuit_breaker/assertion_circuit_breaker.py +5 -4
- datahub/api/entities/structuredproperties/structuredproperties.py +20 -8
- datahub/configuration/common.py +2 -5
- datahub/configuration/source_common.py +13 -0
- datahub/emitter/mce_builder.py +20 -4
- datahub/emitter/mcp_builder.py +2 -7
- datahub/emitter/mcp_patch_builder.py +37 -13
- datahub/emitter/rest_emitter.py +25 -3
- datahub/ingestion/api/auto_work_units/auto_ensure_aspect_size.py +98 -0
- datahub/ingestion/api/closeable.py +3 -3
- datahub/ingestion/api/ingestion_job_checkpointing_provider_base.py +4 -7
- datahub/ingestion/api/report.py +4 -1
- datahub/ingestion/api/sink.py +4 -3
- datahub/ingestion/api/source.py +4 -0
- datahub/ingestion/api/source_helpers.py +2 -6
- datahub/ingestion/glossary/classifier.py +2 -3
- datahub/ingestion/graph/client.py +6 -3
- datahub/ingestion/reporting/datahub_ingestion_run_summary_provider.py +44 -1
- datahub/ingestion/source/aws/aws_common.py +231 -27
- datahub/ingestion/source/aws/glue.py +12 -2
- datahub/ingestion/source/bigquery_v2/bigquery.py +10 -18
- datahub/ingestion/source/bigquery_v2/bigquery_config.py +3 -9
- datahub/ingestion/source/bigquery_v2/bigquery_schema.py +5 -20
- datahub/ingestion/source/bigquery_v2/bigquery_schema_gen.py +11 -17
- datahub/ingestion/source/bigquery_v2/lineage.py +9 -22
- datahub/ingestion/source/datahub/config.py +22 -1
- datahub/ingestion/source/datahub/datahub_database_reader.py +3 -17
- datahub/ingestion/source/datahub/datahub_kafka_reader.py +2 -1
- datahub/ingestion/source/datahub/datahub_source.py +1 -1
- datahub/ingestion/source/dbt/dbt_cloud.py +10 -3
- datahub/ingestion/source/gc/datahub_gc.py +21 -5
- datahub/ingestion/source/gc/dataprocess_cleanup.py +23 -10
- datahub/ingestion/source/gc/execution_request_cleanup.py +61 -16
- datahub/ingestion/source/gc/soft_deleted_entity_cleanup.py +178 -83
- datahub/ingestion/source/iceberg/iceberg.py +27 -1
- datahub/ingestion/source/iceberg/iceberg_common.py +4 -0
- datahub/ingestion/source/kafka_connect/__init__.py +0 -0
- datahub/ingestion/source/kafka_connect/common.py +202 -0
- datahub/ingestion/source/kafka_connect/kafka_connect.py +367 -0
- datahub/ingestion/source/kafka_connect/sink_connectors.py +341 -0
- datahub/ingestion/source/kafka_connect/source_connectors.py +570 -0
- datahub/ingestion/source/looker/looker_common.py +63 -2
- datahub/ingestion/source/looker/looker_dataclasses.py +7 -9
- datahub/ingestion/source/looker/looker_lib_wrapper.py +13 -1
- datahub/ingestion/source/looker/looker_source.py +31 -4
- datahub/ingestion/source/looker/looker_usage.py +23 -17
- datahub/ingestion/source/mlflow.py +30 -5
- datahub/ingestion/source/mode.py +40 -27
- datahub/ingestion/source/powerbi/config.py +1 -14
- datahub/ingestion/source/powerbi/dataplatform_instance_resolver.py +1 -1
- datahub/ingestion/source/powerbi/m_query/pattern_handler.py +1 -1
- datahub/ingestion/source/powerbi/powerbi-lexical-grammar.rule +16 -2
- datahub/ingestion/source/powerbi/rest_api_wrapper/data_resolver.py +16 -15
- datahub/ingestion/source/s3/source.py +1 -1
- datahub/ingestion/source/snowflake/snowflake_config.py +13 -34
- datahub/ingestion/source/snowflake/snowflake_lineage_v2.py +14 -64
- datahub/ingestion/source/snowflake/snowflake_queries.py +44 -14
- datahub/ingestion/source/snowflake/snowflake_query.py +5 -10
- datahub/ingestion/source/snowflake/snowflake_schema_gen.py +53 -7
- datahub/ingestion/source/snowflake/snowflake_shares.py +1 -1
- datahub/ingestion/source/snowflake/snowflake_usage_v2.py +2 -5
- datahub/ingestion/source/snowflake/snowflake_utils.py +22 -18
- datahub/ingestion/source/snowflake/snowflake_v2.py +38 -34
- datahub/ingestion/source/sql/hive.py +621 -8
- datahub/ingestion/source/sql/hive_metastore.py +7 -0
- datahub/ingestion/source/sql/mssql/job_models.py +30 -1
- datahub/ingestion/source/sql/mssql/source.py +15 -1
- datahub/ingestion/source/sql/sql_common.py +41 -102
- datahub/ingestion/source/sql/sql_generic_profiler.py +5 -6
- datahub/ingestion/source/sql/sql_report.py +2 -0
- datahub/ingestion/source/state/checkpoint.py +2 -1
- datahub/ingestion/source/tableau/tableau.py +122 -45
- datahub/ingestion/source/tableau/tableau_common.py +18 -0
- datahub/ingestion/source/tableau/tableau_constant.py +3 -1
- datahub/ingestion/source/tableau/tableau_server_wrapper.py +6 -2
- datahub/ingestion/source/tableau/tableau_validation.py +1 -1
- datahub/ingestion/source/unity/proxy.py +8 -27
- datahub/ingestion/source/usage/usage_common.py +15 -1
- datahub/ingestion/source_report/ingestion_stage.py +3 -0
- datahub/metadata/_schema_classes.py +256 -3
- datahub/metadata/_urns/urn_defs.py +168 -168
- datahub/metadata/com/linkedin/pegasus2avro/common/__init__.py +4 -0
- datahub/metadata/com/linkedin/pegasus2avro/ml/metadata/__init__.py +2 -0
- datahub/metadata/schema.avsc +252 -33
- datahub/metadata/schemas/DataJobKey.avsc +2 -1
- datahub/metadata/schemas/DataProcessInstanceKey.avsc +5 -1
- datahub/metadata/schemas/DataProcessInstanceOutput.avsc +2 -1
- datahub/metadata/schemas/DataTransformLogic.avsc +63 -0
- datahub/metadata/schemas/MLModelGroupProperties.avsc +82 -0
- datahub/metadata/schemas/MLModelProperties.avsc +62 -2
- datahub/metadata/schemas/MLTrainingRunProperties.avsc +171 -0
- datahub/metadata/schemas/MetadataChangeEvent.avsc +94 -2
- datahub/specific/aspect_helpers/__init__.py +0 -0
- datahub/specific/aspect_helpers/custom_properties.py +79 -0
- datahub/specific/aspect_helpers/ownership.py +67 -0
- datahub/specific/aspect_helpers/structured_properties.py +72 -0
- datahub/specific/aspect_helpers/tags.py +42 -0
- datahub/specific/aspect_helpers/terms.py +43 -0
- datahub/specific/chart.py +28 -184
- datahub/specific/dashboard.py +31 -196
- datahub/specific/datajob.py +34 -189
- datahub/specific/dataproduct.py +24 -86
- datahub/specific/dataset.py +48 -133
- datahub/specific/form.py +12 -32
- datahub/specific/structured_property.py +9 -9
- datahub/sql_parsing/sql_parsing_aggregator.py +10 -9
- datahub/sql_parsing/sqlglot_lineage.py +15 -5
- datahub/sql_parsing/tool_meta_extractor.py +119 -5
- datahub/utilities/time.py +8 -3
- datahub/utilities/urns/_urn_base.py +5 -7
- datahub/ingestion/source/kafka/kafka_connect.py +0 -1468
- datahub/specific/custom_properties.py +0 -37
- datahub/specific/ownership.py +0 -48
- datahub/specific/structured_properties.py +0 -53
- {acryl_datahub-0.15.0rc25.dist-info → acryl_datahub-0.15.0.1.dist-info}/top_level.txt +0 -0
|
@@ -4053,6 +4053,60 @@ class DataPlatformInstanceClass(_Aspect):
|
|
|
4053
4053
|
self._inner_dict['instance'] = value
|
|
4054
4054
|
|
|
4055
4055
|
|
|
4056
|
+
class DataTransformClass(DictWrapper):
|
|
4057
|
+
"""Information about a transformation. It may be a query,"""
|
|
4058
|
+
|
|
4059
|
+
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.common.DataTransform")
|
|
4060
|
+
def __init__(self,
|
|
4061
|
+
queryStatement: Union[None, "QueryStatementClass"]=None,
|
|
4062
|
+
):
|
|
4063
|
+
super().__init__()
|
|
4064
|
+
|
|
4065
|
+
self.queryStatement = queryStatement
|
|
4066
|
+
|
|
4067
|
+
def _restore_defaults(self) -> None:
|
|
4068
|
+
self.queryStatement = self.RECORD_SCHEMA.fields_dict["queryStatement"].default
|
|
4069
|
+
|
|
4070
|
+
|
|
4071
|
+
@property
|
|
4072
|
+
def queryStatement(self) -> Union[None, "QueryStatementClass"]:
|
|
4073
|
+
"""The data transform may be defined by a query statement"""
|
|
4074
|
+
return self._inner_dict.get('queryStatement') # type: ignore
|
|
4075
|
+
|
|
4076
|
+
@queryStatement.setter
|
|
4077
|
+
def queryStatement(self, value: Union[None, "QueryStatementClass"]) -> None:
|
|
4078
|
+
self._inner_dict['queryStatement'] = value
|
|
4079
|
+
|
|
4080
|
+
|
|
4081
|
+
class DataTransformLogicClass(_Aspect):
|
|
4082
|
+
"""Information about a Query against one or more data assets (e.g. Tables or Views)."""
|
|
4083
|
+
|
|
4084
|
+
|
|
4085
|
+
ASPECT_NAME = 'dataTransformLogic'
|
|
4086
|
+
ASPECT_INFO = {}
|
|
4087
|
+
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.common.DataTransformLogic")
|
|
4088
|
+
|
|
4089
|
+
def __init__(self,
|
|
4090
|
+
transforms: List["DataTransformClass"],
|
|
4091
|
+
):
|
|
4092
|
+
super().__init__()
|
|
4093
|
+
|
|
4094
|
+
self.transforms = transforms
|
|
4095
|
+
|
|
4096
|
+
def _restore_defaults(self) -> None:
|
|
4097
|
+
self.transforms = list()
|
|
4098
|
+
|
|
4099
|
+
|
|
4100
|
+
@property
|
|
4101
|
+
def transforms(self) -> List["DataTransformClass"]:
|
|
4102
|
+
"""List of transformations applied"""
|
|
4103
|
+
return self._inner_dict.get('transforms') # type: ignore
|
|
4104
|
+
|
|
4105
|
+
@transforms.setter
|
|
4106
|
+
def transforms(self, value: List["DataTransformClass"]) -> None:
|
|
4107
|
+
self._inner_dict['transforms'] = value
|
|
4108
|
+
|
|
4109
|
+
|
|
4056
4110
|
class DeprecationClass(_Aspect):
|
|
4057
4111
|
"""Deprecation status of an entity"""
|
|
4058
4112
|
|
|
@@ -14624,7 +14678,7 @@ class DataJobKeyClass(_Aspect):
|
|
|
14624
14678
|
|
|
14625
14679
|
|
|
14626
14680
|
ASPECT_NAME = 'dataJobKey'
|
|
14627
|
-
ASPECT_INFO = {'keyForEntity': 'dataJob', 'entityCategory': '_unset_', 'entityAspects': ['datahubIngestionRunSummary', 'datahubIngestionCheckpoint', 'domains', 'deprecation', 'versionInfo', 'dataJobInfo', 'dataJobInputOutput', 'editableDataJobProperties', 'ownership', 'status', 'globalTags', 'browsePaths', 'glossaryTerms', 'institutionalMemory', 'dataPlatformInstance', 'browsePathsV2', 'structuredProperties', 'forms', 'subTypes', 'incidentsSummary', 'testResults']}
|
|
14681
|
+
ASPECT_INFO = {'keyForEntity': 'dataJob', 'entityCategory': '_unset_', 'entityAspects': ['datahubIngestionRunSummary', 'datahubIngestionCheckpoint', 'domains', 'deprecation', 'versionInfo', 'dataJobInfo', 'dataJobInputOutput', 'editableDataJobProperties', 'ownership', 'status', 'globalTags', 'browsePaths', 'glossaryTerms', 'institutionalMemory', 'dataPlatformInstance', 'browsePathsV2', 'structuredProperties', 'forms', 'subTypes', 'incidentsSummary', 'testResults', 'dataTransformLogic']}
|
|
14628
14682
|
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.DataJobKey")
|
|
14629
14683
|
|
|
14630
14684
|
def __init__(self,
|
|
@@ -14737,7 +14791,7 @@ class DataProcessInstanceKeyClass(_Aspect):
|
|
|
14737
14791
|
|
|
14738
14792
|
|
|
14739
14793
|
ASPECT_NAME = 'dataProcessInstanceKey'
|
|
14740
|
-
ASPECT_INFO = {'keyForEntity': 'dataProcessInstance', 'entityCategory': '_unset_', 'entityAspects': ['dataProcessInstanceInput', 'dataProcessInstanceOutput', 'dataProcessInstanceProperties', 'dataProcessInstanceRelationships', 'dataProcessInstanceRunEvent', 'status', 'testResults'], 'entityDoc': 'DataProcessInstance represents an instance of a datajob/jobflow run'}
|
|
14794
|
+
ASPECT_INFO = {'keyForEntity': 'dataProcessInstance', 'entityCategory': '_unset_', 'entityAspects': ['dataProcessInstanceInput', 'dataProcessInstanceOutput', 'dataProcessInstanceProperties', 'dataProcessInstanceRelationships', 'dataProcessInstanceRunEvent', 'status', 'testResults', 'dataPlatformInstance', 'subTypes', 'container', 'mlTrainingRunProperties'], 'entityDoc': 'DataProcessInstance represents an instance of a datajob/jobflow run'}
|
|
14741
14795
|
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.DataProcessInstanceKey")
|
|
14742
14796
|
|
|
14743
14797
|
def __init__(self,
|
|
@@ -17715,8 +17769,12 @@ class MLModelGroupPropertiesClass(_Aspect):
|
|
|
17715
17769
|
|
|
17716
17770
|
def __init__(self,
|
|
17717
17771
|
customProperties: Optional[Dict[str, str]]=None,
|
|
17772
|
+
name: Union[None, str]=None,
|
|
17718
17773
|
description: Union[None, str]=None,
|
|
17719
17774
|
createdAt: Union[None, int]=None,
|
|
17775
|
+
created: Union[None, "TimeStampClass"]=None,
|
|
17776
|
+
lastModified: Union[None, "TimeStampClass"]=None,
|
|
17777
|
+
trainingJobs: Union[None, List[str]]=None,
|
|
17720
17778
|
version: Union[None, "VersionTagClass"]=None,
|
|
17721
17779
|
):
|
|
17722
17780
|
super().__init__()
|
|
@@ -17726,14 +17784,22 @@ class MLModelGroupPropertiesClass(_Aspect):
|
|
|
17726
17784
|
self.customProperties = dict()
|
|
17727
17785
|
else:
|
|
17728
17786
|
self.customProperties = customProperties
|
|
17787
|
+
self.name = name
|
|
17729
17788
|
self.description = description
|
|
17730
17789
|
self.createdAt = createdAt
|
|
17790
|
+
self.created = created
|
|
17791
|
+
self.lastModified = lastModified
|
|
17792
|
+
self.trainingJobs = trainingJobs
|
|
17731
17793
|
self.version = version
|
|
17732
17794
|
|
|
17733
17795
|
def _restore_defaults(self) -> None:
|
|
17734
17796
|
self.customProperties = dict()
|
|
17797
|
+
self.name = self.RECORD_SCHEMA.fields_dict["name"].default
|
|
17735
17798
|
self.description = self.RECORD_SCHEMA.fields_dict["description"].default
|
|
17736
17799
|
self.createdAt = self.RECORD_SCHEMA.fields_dict["createdAt"].default
|
|
17800
|
+
self.created = self.RECORD_SCHEMA.fields_dict["created"].default
|
|
17801
|
+
self.lastModified = self.RECORD_SCHEMA.fields_dict["lastModified"].default
|
|
17802
|
+
self.trainingJobs = self.RECORD_SCHEMA.fields_dict["trainingJobs"].default
|
|
17737
17803
|
self.version = self.RECORD_SCHEMA.fields_dict["version"].default
|
|
17738
17804
|
|
|
17739
17805
|
|
|
@@ -17747,6 +17813,16 @@ class MLModelGroupPropertiesClass(_Aspect):
|
|
|
17747
17813
|
self._inner_dict['customProperties'] = value
|
|
17748
17814
|
|
|
17749
17815
|
|
|
17816
|
+
@property
|
|
17817
|
+
def name(self) -> Union[None, str]:
|
|
17818
|
+
"""Display name of the MLModelGroup"""
|
|
17819
|
+
return self._inner_dict.get('name') # type: ignore
|
|
17820
|
+
|
|
17821
|
+
@name.setter
|
|
17822
|
+
def name(self, value: Union[None, str]) -> None:
|
|
17823
|
+
self._inner_dict['name'] = value
|
|
17824
|
+
|
|
17825
|
+
|
|
17750
17826
|
@property
|
|
17751
17827
|
def description(self) -> Union[None, str]:
|
|
17752
17828
|
"""Documentation of the MLModelGroup"""
|
|
@@ -17767,6 +17843,36 @@ class MLModelGroupPropertiesClass(_Aspect):
|
|
|
17767
17843
|
self._inner_dict['createdAt'] = value
|
|
17768
17844
|
|
|
17769
17845
|
|
|
17846
|
+
@property
|
|
17847
|
+
def created(self) -> Union[None, "TimeStampClass"]:
|
|
17848
|
+
"""Time and Actor who created the MLModelGroup"""
|
|
17849
|
+
return self._inner_dict.get('created') # type: ignore
|
|
17850
|
+
|
|
17851
|
+
@created.setter
|
|
17852
|
+
def created(self, value: Union[None, "TimeStampClass"]) -> None:
|
|
17853
|
+
self._inner_dict['created'] = value
|
|
17854
|
+
|
|
17855
|
+
|
|
17856
|
+
@property
|
|
17857
|
+
def lastModified(self) -> Union[None, "TimeStampClass"]:
|
|
17858
|
+
"""Date when the MLModelGroup was last modified"""
|
|
17859
|
+
return self._inner_dict.get('lastModified') # type: ignore
|
|
17860
|
+
|
|
17861
|
+
@lastModified.setter
|
|
17862
|
+
def lastModified(self, value: Union[None, "TimeStampClass"]) -> None:
|
|
17863
|
+
self._inner_dict['lastModified'] = value
|
|
17864
|
+
|
|
17865
|
+
|
|
17866
|
+
@property
|
|
17867
|
+
def trainingJobs(self) -> Union[None, List[str]]:
|
|
17868
|
+
"""List of jobs (if any) used to train the model group. Visible in Lineage."""
|
|
17869
|
+
return self._inner_dict.get('trainingJobs') # type: ignore
|
|
17870
|
+
|
|
17871
|
+
@trainingJobs.setter
|
|
17872
|
+
def trainingJobs(self, value: Union[None, List[str]]) -> None:
|
|
17873
|
+
self._inner_dict['trainingJobs'] = value
|
|
17874
|
+
|
|
17875
|
+
|
|
17770
17876
|
@property
|
|
17771
17877
|
def version(self) -> Union[None, "VersionTagClass"]:
|
|
17772
17878
|
"""Version of the MLModelGroup"""
|
|
@@ -17788,8 +17894,11 @@ class MLModelPropertiesClass(_Aspect):
|
|
|
17788
17894
|
def __init__(self,
|
|
17789
17895
|
customProperties: Optional[Dict[str, str]]=None,
|
|
17790
17896
|
externalUrl: Union[None, str]=None,
|
|
17897
|
+
name: Union[None, str]=None,
|
|
17791
17898
|
description: Union[None, str]=None,
|
|
17792
17899
|
date: Union[None, int]=None,
|
|
17900
|
+
created: Union[None, "TimeStampClass"]=None,
|
|
17901
|
+
lastModified: Union[None, "TimeStampClass"]=None,
|
|
17793
17902
|
version: Union[None, "VersionTagClass"]=None,
|
|
17794
17903
|
type: Union[None, str]=None,
|
|
17795
17904
|
hyperParameters: Union[None, Dict[str, Union[str, int, float, float, bool]]]=None,
|
|
@@ -17811,8 +17920,11 @@ class MLModelPropertiesClass(_Aspect):
|
|
|
17811
17920
|
else:
|
|
17812
17921
|
self.customProperties = customProperties
|
|
17813
17922
|
self.externalUrl = externalUrl
|
|
17923
|
+
self.name = name
|
|
17814
17924
|
self.description = description
|
|
17815
17925
|
self.date = date
|
|
17926
|
+
self.created = created
|
|
17927
|
+
self.lastModified = lastModified
|
|
17816
17928
|
self.version = version
|
|
17817
17929
|
self.type = type
|
|
17818
17930
|
self.hyperParameters = hyperParameters
|
|
@@ -17833,8 +17945,11 @@ class MLModelPropertiesClass(_Aspect):
|
|
|
17833
17945
|
def _restore_defaults(self) -> None:
|
|
17834
17946
|
self.customProperties = dict()
|
|
17835
17947
|
self.externalUrl = self.RECORD_SCHEMA.fields_dict["externalUrl"].default
|
|
17948
|
+
self.name = self.RECORD_SCHEMA.fields_dict["name"].default
|
|
17836
17949
|
self.description = self.RECORD_SCHEMA.fields_dict["description"].default
|
|
17837
17950
|
self.date = self.RECORD_SCHEMA.fields_dict["date"].default
|
|
17951
|
+
self.created = self.RECORD_SCHEMA.fields_dict["created"].default
|
|
17952
|
+
self.lastModified = self.RECORD_SCHEMA.fields_dict["lastModified"].default
|
|
17838
17953
|
self.version = self.RECORD_SCHEMA.fields_dict["version"].default
|
|
17839
17954
|
self.type = self.RECORD_SCHEMA.fields_dict["type"].default
|
|
17840
17955
|
self.hyperParameters = self.RECORD_SCHEMA.fields_dict["hyperParameters"].default
|
|
@@ -17869,6 +17984,16 @@ class MLModelPropertiesClass(_Aspect):
|
|
|
17869
17984
|
self._inner_dict['externalUrl'] = value
|
|
17870
17985
|
|
|
17871
17986
|
|
|
17987
|
+
@property
|
|
17988
|
+
def name(self) -> Union[None, str]:
|
|
17989
|
+
"""Display name of the MLModel"""
|
|
17990
|
+
return self._inner_dict.get('name') # type: ignore
|
|
17991
|
+
|
|
17992
|
+
@name.setter
|
|
17993
|
+
def name(self, value: Union[None, str]) -> None:
|
|
17994
|
+
self._inner_dict['name'] = value
|
|
17995
|
+
|
|
17996
|
+
|
|
17872
17997
|
@property
|
|
17873
17998
|
def description(self) -> Union[None, str]:
|
|
17874
17999
|
"""Documentation of the MLModel"""
|
|
@@ -17889,6 +18014,26 @@ class MLModelPropertiesClass(_Aspect):
|
|
|
17889
18014
|
self._inner_dict['date'] = value
|
|
17890
18015
|
|
|
17891
18016
|
|
|
18017
|
+
@property
|
|
18018
|
+
def created(self) -> Union[None, "TimeStampClass"]:
|
|
18019
|
+
"""Audit stamp containing who created this and when"""
|
|
18020
|
+
return self._inner_dict.get('created') # type: ignore
|
|
18021
|
+
|
|
18022
|
+
@created.setter
|
|
18023
|
+
def created(self, value: Union[None, "TimeStampClass"]) -> None:
|
|
18024
|
+
self._inner_dict['created'] = value
|
|
18025
|
+
|
|
18026
|
+
|
|
18027
|
+
@property
|
|
18028
|
+
def lastModified(self) -> Union[None, "TimeStampClass"]:
|
|
18029
|
+
"""Date when the MLModel was last modified"""
|
|
18030
|
+
return self._inner_dict.get('lastModified') # type: ignore
|
|
18031
|
+
|
|
18032
|
+
@lastModified.setter
|
|
18033
|
+
def lastModified(self, value: Union[None, "TimeStampClass"]) -> None:
|
|
18034
|
+
self._inner_dict['lastModified'] = value
|
|
18035
|
+
|
|
18036
|
+
|
|
17892
18037
|
@property
|
|
17893
18038
|
def version(self) -> Union[None, "VersionTagClass"]:
|
|
17894
18039
|
"""Version of the MLModel"""
|
|
@@ -17983,7 +18128,7 @@ class MLModelPropertiesClass(_Aspect):
|
|
|
17983
18128
|
|
|
17984
18129
|
@property
|
|
17985
18130
|
def trainingJobs(self) -> Union[None, List[str]]:
|
|
17986
|
-
"""List of jobs (if any) used to train the model"""
|
|
18131
|
+
"""List of jobs (if any) used to train the model. Visible in Lineage. Note that ML Models can also be specified as the output of a specific Data Process Instances (runs) via the DataProcessInstanceOutputs aspect."""
|
|
17987
18132
|
return self._inner_dict.get('trainingJobs') # type: ignore
|
|
17988
18133
|
|
|
17989
18134
|
@trainingJobs.setter
|
|
@@ -18096,6 +18241,104 @@ class MLPrimaryKeyPropertiesClass(_Aspect):
|
|
|
18096
18241
|
self._inner_dict['sources'] = value
|
|
18097
18242
|
|
|
18098
18243
|
|
|
18244
|
+
class MLTrainingRunPropertiesClass(_Aspect):
|
|
18245
|
+
"""The inputs and outputs of this training run"""
|
|
18246
|
+
|
|
18247
|
+
|
|
18248
|
+
ASPECT_NAME = 'mlTrainingRunProperties'
|
|
18249
|
+
ASPECT_INFO = {}
|
|
18250
|
+
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ml.metadata.MLTrainingRunProperties")
|
|
18251
|
+
|
|
18252
|
+
def __init__(self,
|
|
18253
|
+
customProperties: Optional[Dict[str, str]]=None,
|
|
18254
|
+
externalUrl: Union[None, str]=None,
|
|
18255
|
+
id: Union[None, str]=None,
|
|
18256
|
+
outputUrls: Union[None, List[str]]=None,
|
|
18257
|
+
hyperParams: Union[None, List["MLHyperParamClass"]]=None,
|
|
18258
|
+
trainingMetrics: Union[None, List["MLMetricClass"]]=None,
|
|
18259
|
+
):
|
|
18260
|
+
super().__init__()
|
|
18261
|
+
|
|
18262
|
+
if customProperties is None:
|
|
18263
|
+
# default: {}
|
|
18264
|
+
self.customProperties = dict()
|
|
18265
|
+
else:
|
|
18266
|
+
self.customProperties = customProperties
|
|
18267
|
+
self.externalUrl = externalUrl
|
|
18268
|
+
self.id = id
|
|
18269
|
+
self.outputUrls = outputUrls
|
|
18270
|
+
self.hyperParams = hyperParams
|
|
18271
|
+
self.trainingMetrics = trainingMetrics
|
|
18272
|
+
|
|
18273
|
+
def _restore_defaults(self) -> None:
|
|
18274
|
+
self.customProperties = dict()
|
|
18275
|
+
self.externalUrl = self.RECORD_SCHEMA.fields_dict["externalUrl"].default
|
|
18276
|
+
self.id = self.RECORD_SCHEMA.fields_dict["id"].default
|
|
18277
|
+
self.outputUrls = self.RECORD_SCHEMA.fields_dict["outputUrls"].default
|
|
18278
|
+
self.hyperParams = self.RECORD_SCHEMA.fields_dict["hyperParams"].default
|
|
18279
|
+
self.trainingMetrics = self.RECORD_SCHEMA.fields_dict["trainingMetrics"].default
|
|
18280
|
+
|
|
18281
|
+
|
|
18282
|
+
@property
|
|
18283
|
+
def customProperties(self) -> Dict[str, str]:
|
|
18284
|
+
"""Custom property bag."""
|
|
18285
|
+
return self._inner_dict.get('customProperties') # type: ignore
|
|
18286
|
+
|
|
18287
|
+
@customProperties.setter
|
|
18288
|
+
def customProperties(self, value: Dict[str, str]) -> None:
|
|
18289
|
+
self._inner_dict['customProperties'] = value
|
|
18290
|
+
|
|
18291
|
+
|
|
18292
|
+
@property
|
|
18293
|
+
def externalUrl(self) -> Union[None, str]:
|
|
18294
|
+
"""URL where the reference exist"""
|
|
18295
|
+
return self._inner_dict.get('externalUrl') # type: ignore
|
|
18296
|
+
|
|
18297
|
+
@externalUrl.setter
|
|
18298
|
+
def externalUrl(self, value: Union[None, str]) -> None:
|
|
18299
|
+
self._inner_dict['externalUrl'] = value
|
|
18300
|
+
|
|
18301
|
+
|
|
18302
|
+
@property
|
|
18303
|
+
def id(self) -> Union[None, str]:
|
|
18304
|
+
"""Run Id of the ML Training Run"""
|
|
18305
|
+
return self._inner_dict.get('id') # type: ignore
|
|
18306
|
+
|
|
18307
|
+
@id.setter
|
|
18308
|
+
def id(self, value: Union[None, str]) -> None:
|
|
18309
|
+
self._inner_dict['id'] = value
|
|
18310
|
+
|
|
18311
|
+
|
|
18312
|
+
@property
|
|
18313
|
+
def outputUrls(self) -> Union[None, List[str]]:
|
|
18314
|
+
"""List of URLs for the Outputs of the ML Training Run"""
|
|
18315
|
+
return self._inner_dict.get('outputUrls') # type: ignore
|
|
18316
|
+
|
|
18317
|
+
@outputUrls.setter
|
|
18318
|
+
def outputUrls(self, value: Union[None, List[str]]) -> None:
|
|
18319
|
+
self._inner_dict['outputUrls'] = value
|
|
18320
|
+
|
|
18321
|
+
|
|
18322
|
+
@property
|
|
18323
|
+
def hyperParams(self) -> Union[None, List["MLHyperParamClass"]]:
|
|
18324
|
+
"""Hyperparameters of the ML Training Run"""
|
|
18325
|
+
return self._inner_dict.get('hyperParams') # type: ignore
|
|
18326
|
+
|
|
18327
|
+
@hyperParams.setter
|
|
18328
|
+
def hyperParams(self, value: Union[None, List["MLHyperParamClass"]]) -> None:
|
|
18329
|
+
self._inner_dict['hyperParams'] = value
|
|
18330
|
+
|
|
18331
|
+
|
|
18332
|
+
@property
|
|
18333
|
+
def trainingMetrics(self) -> Union[None, List["MLMetricClass"]]:
|
|
18334
|
+
"""Metrics of the ML Training Run"""
|
|
18335
|
+
return self._inner_dict.get('trainingMetrics') # type: ignore
|
|
18336
|
+
|
|
18337
|
+
@trainingMetrics.setter
|
|
18338
|
+
def trainingMetrics(self, value: Union[None, List["MLMetricClass"]]) -> None:
|
|
18339
|
+
self._inner_dict['trainingMetrics'] = value
|
|
18340
|
+
|
|
18341
|
+
|
|
18099
18342
|
class MetricsClass(_Aspect):
|
|
18100
18343
|
"""Metrics to be featured for the MLModel."""
|
|
18101
18344
|
|
|
@@ -24526,6 +24769,8 @@ __SCHEMA_TYPES = {
|
|
|
24526
24769
|
'com.linkedin.pegasus2avro.common.CostCostDiscriminator': CostCostDiscriminatorClass,
|
|
24527
24770
|
'com.linkedin.pegasus2avro.common.CostType': CostTypeClass,
|
|
24528
24771
|
'com.linkedin.pegasus2avro.common.DataPlatformInstance': DataPlatformInstanceClass,
|
|
24772
|
+
'com.linkedin.pegasus2avro.common.DataTransform': DataTransformClass,
|
|
24773
|
+
'com.linkedin.pegasus2avro.common.DataTransformLogic': DataTransformLogicClass,
|
|
24529
24774
|
'com.linkedin.pegasus2avro.common.Deprecation': DeprecationClass,
|
|
24530
24775
|
'com.linkedin.pegasus2avro.common.Documentation': DocumentationClass,
|
|
24531
24776
|
'com.linkedin.pegasus2avro.common.DocumentationAssociation': DocumentationAssociationClass,
|
|
@@ -24791,6 +25036,7 @@ __SCHEMA_TYPES = {
|
|
|
24791
25036
|
'com.linkedin.pegasus2avro.ml.metadata.MLModelGroupProperties': MLModelGroupPropertiesClass,
|
|
24792
25037
|
'com.linkedin.pegasus2avro.ml.metadata.MLModelProperties': MLModelPropertiesClass,
|
|
24793
25038
|
'com.linkedin.pegasus2avro.ml.metadata.MLPrimaryKeyProperties': MLPrimaryKeyPropertiesClass,
|
|
25039
|
+
'com.linkedin.pegasus2avro.ml.metadata.MLTrainingRunProperties': MLTrainingRunPropertiesClass,
|
|
24794
25040
|
'com.linkedin.pegasus2avro.ml.metadata.Metrics': MetricsClass,
|
|
24795
25041
|
'com.linkedin.pegasus2avro.ml.metadata.QuantitativeAnalyses': QuantitativeAnalysesClass,
|
|
24796
25042
|
'com.linkedin.pegasus2avro.ml.metadata.SourceCode': SourceCodeClass,
|
|
@@ -24992,6 +25238,8 @@ __SCHEMA_TYPES = {
|
|
|
24992
25238
|
'CostCostDiscriminator': CostCostDiscriminatorClass,
|
|
24993
25239
|
'CostType': CostTypeClass,
|
|
24994
25240
|
'DataPlatformInstance': DataPlatformInstanceClass,
|
|
25241
|
+
'DataTransform': DataTransformClass,
|
|
25242
|
+
'DataTransformLogic': DataTransformLogicClass,
|
|
24995
25243
|
'Deprecation': DeprecationClass,
|
|
24996
25244
|
'Documentation': DocumentationClass,
|
|
24997
25245
|
'DocumentationAssociation': DocumentationAssociationClass,
|
|
@@ -25257,6 +25505,7 @@ __SCHEMA_TYPES = {
|
|
|
25257
25505
|
'MLModelGroupProperties': MLModelGroupPropertiesClass,
|
|
25258
25506
|
'MLModelProperties': MLModelPropertiesClass,
|
|
25259
25507
|
'MLPrimaryKeyProperties': MLPrimaryKeyPropertiesClass,
|
|
25508
|
+
'MLTrainingRunProperties': MLTrainingRunPropertiesClass,
|
|
25260
25509
|
'Metrics': MetricsClass,
|
|
25261
25510
|
'QuantitativeAnalyses': QuantitativeAnalysesClass,
|
|
25262
25511
|
'SourceCode': SourceCodeClass,
|
|
@@ -25397,6 +25646,7 @@ ASPECT_CLASSES: List[Type[_Aspect]] = [
|
|
|
25397
25646
|
CostClass,
|
|
25398
25647
|
BrowsePathsClass,
|
|
25399
25648
|
InstitutionalMemoryClass,
|
|
25649
|
+
DataTransformLogicClass,
|
|
25400
25650
|
SubTypesClass,
|
|
25401
25651
|
FormsClass,
|
|
25402
25652
|
DeprecationClass,
|
|
@@ -25473,6 +25723,7 @@ ASPECT_CLASSES: List[Type[_Aspect]] = [
|
|
|
25473
25723
|
MetricsClass,
|
|
25474
25724
|
EditableMLPrimaryKeyPropertiesClass,
|
|
25475
25725
|
SourceCodeClass,
|
|
25726
|
+
MLTrainingRunPropertiesClass,
|
|
25476
25727
|
EthicalConsiderationsClass,
|
|
25477
25728
|
MLPrimaryKeyPropertiesClass,
|
|
25478
25729
|
MLModelFactorPromptsClass,
|
|
@@ -25610,6 +25861,7 @@ class AspectBag(TypedDict, total=False):
|
|
|
25610
25861
|
cost: CostClass
|
|
25611
25862
|
browsePaths: BrowsePathsClass
|
|
25612
25863
|
institutionalMemory: InstitutionalMemoryClass
|
|
25864
|
+
dataTransformLogic: DataTransformLogicClass
|
|
25613
25865
|
subTypes: SubTypesClass
|
|
25614
25866
|
forms: FormsClass
|
|
25615
25867
|
deprecation: DeprecationClass
|
|
@@ -25686,6 +25938,7 @@ class AspectBag(TypedDict, total=False):
|
|
|
25686
25938
|
mlModelMetrics: MetricsClass
|
|
25687
25939
|
editableMlPrimaryKeyProperties: EditableMLPrimaryKeyPropertiesClass
|
|
25688
25940
|
sourceCode: SourceCodeClass
|
|
25941
|
+
mlTrainingRunProperties: MLTrainingRunPropertiesClass
|
|
25689
25942
|
mlModelEthicalConsiderations: EthicalConsiderationsClass
|
|
25690
25943
|
mlPrimaryKeyProperties: MLPrimaryKeyPropertiesClass
|
|
25691
25944
|
mlModelFactorPrompts: MLModelFactorPromptsClass
|