acryl-datahub 1.3.0rc5__py3-none-any.whl → 1.3.0.1rc2__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-1.3.0rc5.dist-info → acryl_datahub-1.3.0.1rc2.dist-info}/METADATA +2422 -2422
- {acryl_datahub-1.3.0rc5.dist-info → acryl_datahub-1.3.0.1rc2.dist-info}/RECORD +11 -11
- datahub/_version.py +1 -1
- datahub/configuration/common.py +2 -2
- datahub/ingestion/source/delta_lake/config.py +8 -4
- datahub/ingestion/source_report/ingestion_stage.py +4 -7
- datahub/sql_parsing/sqlglot_utils.py +0 -3
- {acryl_datahub-1.3.0rc5.dist-info → acryl_datahub-1.3.0.1rc2.dist-info}/WHEEL +0 -0
- {acryl_datahub-1.3.0rc5.dist-info → acryl_datahub-1.3.0.1rc2.dist-info}/entry_points.txt +0 -0
- {acryl_datahub-1.3.0rc5.dist-info → acryl_datahub-1.3.0.1rc2.dist-info}/licenses/LICENSE +0 -0
- {acryl_datahub-1.3.0rc5.dist-info → acryl_datahub-1.3.0.1rc2.dist-info}/top_level.txt +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
acryl_datahub-1.3.
|
|
1
|
+
acryl_datahub-1.3.0.1rc2.dist-info/licenses/LICENSE,sha256=9xNHpsD0uYF5ONzXsKDCuHHB-xbiCrSbueWXqrTNsxk,11365
|
|
2
2
|
datahub/__init__.py,sha256=aq_i5lVREmoLfYIqcx_pEQicO855YlhD19tWc1eZZNI,59
|
|
3
3
|
datahub/__main__.py,sha256=pegIvQ9hzK7IhqVeUi1MeADSZ2QlP-D3K0OQdEg55RU,106
|
|
4
|
-
datahub/_version.py,sha256=
|
|
4
|
+
datahub/_version.py,sha256=G3S5qsHOL2-5yNrU2qQxhGJwD63r-1qLun37Mq1ejLo,323
|
|
5
5
|
datahub/entrypoints.py,sha256=9Qf-37rNnTzbGlx8S75OCDazIclFp6zWNcCEL1zCZto,9015
|
|
6
6
|
datahub/errors.py,sha256=p5rFAdAGVCk4Lqolol1YvthceadUSwpaCxLXRcyCCFQ,676
|
|
7
7
|
datahub/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -100,7 +100,7 @@ datahub/cli/specific/structuredproperties_cli.py,sha256=rgx8fhI7WYq8QLwIttkMysX7
|
|
|
100
100
|
datahub/cli/specific/user_cli.py,sha256=HaASGg25b82Q18hKyOn98gPoQfmj1gW0utDMs0iR5WY,1897
|
|
101
101
|
datahub/configuration/__init__.py,sha256=5TN3a7CWNsLRHpdj-sv2bxKWF2IslvJwE6EpNMFrIS4,123
|
|
102
102
|
datahub/configuration/_config_enum.py,sha256=ul2hr5gMmdLvBINicFkMNMi1ApmnmZSwNdUYYted5nk,1447
|
|
103
|
-
datahub/configuration/common.py,sha256=
|
|
103
|
+
datahub/configuration/common.py,sha256=i34Ec4tkTc2iy0ay82ZqPUeapUR3-ZKItR3gzI-0zTg,11730
|
|
104
104
|
datahub/configuration/config_loader.py,sha256=hRzPFxkz-w9IqkpSa5vwCzSra1p49DyfeJNeyqGa8-4,6827
|
|
105
105
|
datahub/configuration/connection_resolver.py,sha256=UsnV1_X8yivOykiifllkoKRn19eO6j_NTBWHC2Ob5Xg,1625
|
|
106
106
|
datahub/configuration/datetimes.py,sha256=nayNc0mmlVKH6oVv9ud6C1dDUiZPGabW-YZxvrkosPg,2870
|
|
@@ -309,7 +309,7 @@ datahub/ingestion/source/dbt/dbt_tests.py,sha256=pOZJaP4VsbaE5j4qVlE_E3ifno_KQpi
|
|
|
309
309
|
datahub/ingestion/source/debug/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
310
310
|
datahub/ingestion/source/debug/datahub_debug.py,sha256=LJmGWi2nqWiR_14nybqkIo14D4IzoJ08GaAtlcGvv98,11962
|
|
311
311
|
datahub/ingestion/source/delta_lake/__init__.py,sha256=u5oqUeus81ONAtdl6o9Puw33ODSMun-0wLIamrZ4BUM,71
|
|
312
|
-
datahub/ingestion/source/delta_lake/config.py,sha256=
|
|
312
|
+
datahub/ingestion/source/delta_lake/config.py,sha256=fFBYOktFxidj7bdA0PNFgGD1pLqrlOK4Rn13npW82Uw,3746
|
|
313
313
|
datahub/ingestion/source/delta_lake/delta_lake_utils.py,sha256=VqIDPEXepOnlk4oWMeRaneSpQBlWmlCKAa1wGUl1sfk,1525
|
|
314
314
|
datahub/ingestion/source/delta_lake/report.py,sha256=uR4e4QA_jv8lL3CV-wE5t43H8pUqrGmx_ItLqN9flPI,587
|
|
315
315
|
datahub/ingestion/source/delta_lake/source.py,sha256=IeYW-BAGxDy8gZzBoaLT3C2i-qbhxEEsWLZeC6Tdsfs,14191
|
|
@@ -595,7 +595,7 @@ datahub/ingestion/source_config/csv_enricher.py,sha256=IROxxfFJA56dHkmmbjjhb7h1p
|
|
|
595
595
|
datahub/ingestion/source_config/operation_config.py,sha256=hxF2RM0jk0HUPXYiliMniXBC-wz-ZPcs90ZGLfHT8rE,3924
|
|
596
596
|
datahub/ingestion/source_config/pulsar.py,sha256=zi3QTAw8CzzuwXgU-GUCuLyneT5pxHsLqZFyd15ECYs,5604
|
|
597
597
|
datahub/ingestion/source_report/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
598
|
-
datahub/ingestion/source_report/ingestion_stage.py,sha256=
|
|
598
|
+
datahub/ingestion/source_report/ingestion_stage.py,sha256=7r_WUQ3mHH8nAlVu7QUZcj8CwTRORXRhAaATTgkVZ8c,3111
|
|
599
599
|
datahub/ingestion/source_report/pulsar.py,sha256=f6CMNw8TyPp3tuSGsLLPEhSvoQLXwxtaaM6GmNvsANU,1119
|
|
600
600
|
datahub/ingestion/source_report/time_window.py,sha256=9yI5l2S1DcF7ClvUHLeN8m62I5vlhV9k-aQqSZh2l7w,229
|
|
601
601
|
datahub/ingestion/transformer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -1019,7 +1019,7 @@ datahub/sql_parsing/sql_parsing_aggregator.py,sha256=kxxSVe3YNoz_T2OG6-F30ZuXNSX
|
|
|
1019
1019
|
datahub/sql_parsing/sql_parsing_common.py,sha256=cZ4WvVyHZuXDGjnBvKMX2_fz2EMextB5WQWcK0_saBo,3155
|
|
1020
1020
|
datahub/sql_parsing/sql_parsing_result_utils.py,sha256=prwWTj1EB2fRPv1eMB4EkpFNafIYAt-X8TIK0NWqank,796
|
|
1021
1021
|
datahub/sql_parsing/sqlglot_lineage.py,sha256=Zli78TtN8ow-uqNl_oloWT642a5bDGn22-FF0O0tqrs,66658
|
|
1022
|
-
datahub/sql_parsing/sqlglot_utils.py,sha256=
|
|
1022
|
+
datahub/sql_parsing/sqlglot_utils.py,sha256=2CwrnDsmjcDlwjdBbmaiTVbWZjEAm3fr4ulEvTr3cZQ,15343
|
|
1023
1023
|
datahub/sql_parsing/tool_meta_extractor.py,sha256=5JsLPcKjuXSrPGxNIhRvX72dFPmlV33-hyvhJwlWxCY,7543
|
|
1024
1024
|
datahub/telemetry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1025
1025
|
datahub/telemetry/stats.py,sha256=TwaQisQlD2Bk0uw__pP6u3Ovz9r-Ip4pCwpnto4r5e0,959
|
|
@@ -1126,8 +1126,8 @@ datahub_provider/operators/datahub_assertion_operator.py,sha256=uvTQ-jk2F0sbqqxp
|
|
|
1126
1126
|
datahub_provider/operators/datahub_assertion_sensor.py,sha256=lCBj_3x1cf5GMNpHdfkpHuyHfVxsm6ff5x2Z5iizcAo,140
|
|
1127
1127
|
datahub_provider/operators/datahub_operation_operator.py,sha256=aevDp2FzX7FxGlXrR0khoHNbxbhKR2qPEX5e8O2Jyzw,174
|
|
1128
1128
|
datahub_provider/operators/datahub_operation_sensor.py,sha256=8fcdVBCEPgqy1etTXgLoiHoJrRt_nzFZQMdSzHqSG7M,168
|
|
1129
|
-
acryl_datahub-1.3.
|
|
1130
|
-
acryl_datahub-1.3.
|
|
1131
|
-
acryl_datahub-1.3.
|
|
1132
|
-
acryl_datahub-1.3.
|
|
1133
|
-
acryl_datahub-1.3.
|
|
1129
|
+
acryl_datahub-1.3.0.1rc2.dist-info/METADATA,sha256=FUZjgTu0opHK6NEx8d0r9PRHAD5OdINPUEip2y-6LII,184432
|
|
1130
|
+
acryl_datahub-1.3.0.1rc2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
1131
|
+
acryl_datahub-1.3.0.1rc2.dist-info/entry_points.txt,sha256=pzsBoTx-D-iTcmpX8oCGCyzlHP2112EygUMzZWz56M8,10105
|
|
1132
|
+
acryl_datahub-1.3.0.1rc2.dist-info/top_level.txt,sha256=iLjSrLK5ox1YVYcglRUkcvfZPvKlobBWx7CTUXx8_GI,25
|
|
1133
|
+
acryl_datahub-1.3.0.1rc2.dist-info/RECORD,,
|
datahub/_version.py
CHANGED
datahub/configuration/common.py
CHANGED
|
@@ -173,11 +173,11 @@ class ConnectionModel(BaseModel):
|
|
|
173
173
|
"""Represents the config associated with a connection"""
|
|
174
174
|
|
|
175
175
|
class Config:
|
|
176
|
-
if PYDANTIC_VERSION_2:
|
|
176
|
+
if PYDANTIC_VERSION_2:
|
|
177
177
|
extra = "allow"
|
|
178
178
|
else:
|
|
179
179
|
extra = Extra.allow
|
|
180
|
-
|
|
180
|
+
underscore_attrs_are_private = True
|
|
181
181
|
|
|
182
182
|
|
|
183
183
|
class TransformerSemantics(ConfigEnum):
|
|
@@ -13,8 +13,9 @@ from datahub.configuration.source_common import (
|
|
|
13
13
|
)
|
|
14
14
|
from datahub.ingestion.source.aws.aws_common import AwsConnectionConfig
|
|
15
15
|
from datahub.ingestion.source.aws.s3_util import is_s3_uri
|
|
16
|
-
from datahub.ingestion.source.state.
|
|
16
|
+
from datahub.ingestion.source.state.stale_entity_removal_handler import (
|
|
17
17
|
StatefulIngestionConfigBase,
|
|
18
|
+
StatefulStaleMetadataRemovalConfig,
|
|
18
19
|
)
|
|
19
20
|
|
|
20
21
|
# hide annoying debug errors from py4j
|
|
@@ -39,9 +40,7 @@ class S3(ConfigModel):
|
|
|
39
40
|
|
|
40
41
|
|
|
41
42
|
class DeltaLakeSourceConfig(
|
|
42
|
-
PlatformInstanceConfigMixin,
|
|
43
|
-
EnvConfigMixin,
|
|
44
|
-
StatefulIngestionConfigBase,
|
|
43
|
+
PlatformInstanceConfigMixin, EnvConfigMixin, StatefulIngestionConfigBase
|
|
45
44
|
):
|
|
46
45
|
base_path: str = Field(
|
|
47
46
|
description="Path to table (s3 or local file system). If path is not a delta table path "
|
|
@@ -80,6 +79,11 @@ class DeltaLakeSourceConfig(
|
|
|
80
79
|
|
|
81
80
|
s3: Optional[S3] = Field(None)
|
|
82
81
|
|
|
82
|
+
stateful_ingestion: Optional[StatefulStaleMetadataRemovalConfig] = Field(
|
|
83
|
+
default=None,
|
|
84
|
+
description="Stateful Ingestion Config with stale metadata removal",
|
|
85
|
+
)
|
|
86
|
+
|
|
83
87
|
@cached_property
|
|
84
88
|
def is_s3(self):
|
|
85
89
|
return is_s3_uri(self.base_path or "")
|
|
@@ -4,7 +4,6 @@ from contextlib import AbstractContextManager
|
|
|
4
4
|
from dataclasses import dataclass, field
|
|
5
5
|
from datetime import datetime, timezone
|
|
6
6
|
from enum import Enum
|
|
7
|
-
from typing import Tuple
|
|
8
7
|
|
|
9
8
|
from datahub.utilities.perf_timer import PerfTimer
|
|
10
9
|
from datahub.utilities.stats_collections import TopKDict
|
|
@@ -38,9 +37,7 @@ class IngestionStageReport:
|
|
|
38
37
|
ingestion_high_stage_seconds: dict[IngestionHighStage, float] = field(
|
|
39
38
|
default_factory=lambda: defaultdict(float)
|
|
40
39
|
)
|
|
41
|
-
ingestion_stage_durations: TopKDict[
|
|
42
|
-
default_factory=TopKDict
|
|
43
|
-
)
|
|
40
|
+
ingestion_stage_durations: TopKDict[str, float] = field(default_factory=TopKDict)
|
|
44
41
|
|
|
45
42
|
def new_stage(
|
|
46
43
|
self, stage: str, high_stage: IngestionHighStage = IngestionHighStage._UNDEFINED
|
|
@@ -81,9 +78,9 @@ class IngestionStageContext(AbstractContextManager):
|
|
|
81
78
|
f"Time spent in stage <{self._ingestion_stage}>: {elapsed} seconds",
|
|
82
79
|
stacklevel=2,
|
|
83
80
|
)
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
] = elapsed
|
|
81
|
+
# Store tuple as string to avoid serialization errors
|
|
82
|
+
key = f"({self._high_stage.value}, {self._ingestion_stage})"
|
|
83
|
+
self._report.ingestion_stage_durations[key] = elapsed
|
|
87
84
|
else:
|
|
88
85
|
logger.info(
|
|
89
86
|
f"Time spent in stage <{self._high_stage.value}>: {elapsed} seconds",
|
|
@@ -40,9 +40,6 @@ def _get_dialect_str(platform: str) -> str:
|
|
|
40
40
|
# let the fuzzy resolution logic handle it.
|
|
41
41
|
# MariaDB is a fork of MySQL, so we reuse the same dialect.
|
|
42
42
|
return "mysql, normalization_strategy = lowercase"
|
|
43
|
-
# Dremio is based upon drill. Not 100% compatibility
|
|
44
|
-
elif platform == "dremio":
|
|
45
|
-
return "drill"
|
|
46
43
|
else:
|
|
47
44
|
return platform
|
|
48
45
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|