fabricks 3.0.5__py3-none-any.whl → 3.0.5.2__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.
- fabricks/cdc/base/configurator.py +1 -1
- fabricks/cdc/base/processor.py +6 -2
- fabricks/cdc/scd.py +1 -0
- fabricks/core/deploy/views.py +13 -1
- {fabricks-3.0.5.dist-info → fabricks-3.0.5.2.dist-info}/METADATA +1 -1
- {fabricks-3.0.5.dist-info → fabricks-3.0.5.2.dist-info}/RECORD +7 -7
- {fabricks-3.0.5.dist-info → fabricks-3.0.5.2.dist-info}/WHEEL +0 -0
|
@@ -126,7 +126,7 @@ class Configurator(ABC):
|
|
|
126
126
|
|
|
127
127
|
def has_data(self, src: Union[DataFrame, Table, str], **kwargs) -> bool:
|
|
128
128
|
df = self.get_src(src=src)
|
|
129
|
-
return df.
|
|
129
|
+
return not df.isEmpty()
|
|
130
130
|
|
|
131
131
|
def get_columns(self, src: Union[DataFrame, Table, str], backtick: Optional[bool] = True) -> List[str]:
|
|
132
132
|
if backtick:
|
fabricks/cdc/base/processor.py
CHANGED
|
@@ -36,8 +36,6 @@ class Processor(Generator):
|
|
|
36
36
|
columns = self.get_columns(src, backtick=False)
|
|
37
37
|
fields = [c for c in columns if not c.startswith("__")]
|
|
38
38
|
|
|
39
|
-
has_data = self.has_data(src)
|
|
40
|
-
|
|
41
39
|
keys = kwargs.get("keys", None)
|
|
42
40
|
mode = kwargs.get("mode", "complete")
|
|
43
41
|
|
|
@@ -80,6 +78,12 @@ class Processor(Generator):
|
|
|
80
78
|
deduplicate_hash = kwargs.get("deduplicate_hash", None)
|
|
81
79
|
soft_delete = kwargs.get("soft_delete", None)
|
|
82
80
|
correct_valid_from = kwargs.get("correct_valid_from", None)
|
|
81
|
+
delete_missing = kwargs.get("delete_missing", None)
|
|
82
|
+
|
|
83
|
+
if mode == "update" and delete_missing:
|
|
84
|
+
has_data = self.has_data(src)
|
|
85
|
+
else:
|
|
86
|
+
has_data = True
|
|
83
87
|
|
|
84
88
|
if slice is None:
|
|
85
89
|
if mode == "update" and has_timestamp and has_rows:
|
fabricks/cdc/scd.py
CHANGED
|
@@ -9,6 +9,7 @@ from fabricks.metastore.table import Table
|
|
|
9
9
|
class SCD(BaseCDC):
|
|
10
10
|
def delete_missing(self, src: Union[DataFrame, Table, str], **kwargs):
|
|
11
11
|
kwargs["add_operation"] = "reload"
|
|
12
|
+
kwargs["delete_missing"] = True
|
|
12
13
|
kwargs["mode"] = "update"
|
|
13
14
|
self.merge(src, **kwargs)
|
|
14
15
|
|
fabricks/core/deploy/views.py
CHANGED
|
@@ -288,8 +288,14 @@ def create_or_replace_logs_pivot_view():
|
|
|
288
288
|
not done and not failed and not skipped and array_contains(statuses, 'running') as timed_out,
|
|
289
289
|
not array_contains(statuses, 'running') as cancelled,
|
|
290
290
|
max(l.notebook_id) as notebook_id,
|
|
291
|
-
max(l.timestamp) filter(where l.status = '
|
|
291
|
+
max(l.timestamp) filter (where l.status = 'scheduled' ) as scheduled_time,
|
|
292
|
+
max(l.timestamp) filter (where l.status = 'waiting' ) as waiting_time,
|
|
293
|
+
max(l.timestamp) filter (where l.status = 'running') as start_time,
|
|
294
|
+
max(l.timestamp) filter (where l.status = 'running' ) as running_time,
|
|
295
|
+
max(l.timestamp) filter (where l.status = 'done' ) as done_time,
|
|
296
|
+
max(l.timestamp) filter (where l.status = 'failed' ) as failed_time,
|
|
292
297
|
max(l.timestamp) filter(where l.status = 'ok') as end_time,
|
|
298
|
+
max(l.timestamp) filter(where l.status = 'ok') as ok_time,
|
|
293
299
|
max(l.exception) as exception
|
|
294
300
|
from
|
|
295
301
|
fabricks.logs l
|
|
@@ -313,6 +319,12 @@ def create_or_replace_logs_pivot_view():
|
|
|
313
319
|
g.notebook_id,
|
|
314
320
|
g.start_time,
|
|
315
321
|
g.end_time,
|
|
322
|
+
g.scheduled_time,
|
|
323
|
+
g.waiting_time,
|
|
324
|
+
g.running_time,
|
|
325
|
+
g.done_time,
|
|
326
|
+
g.failed_time,
|
|
327
|
+
g.ok_time,
|
|
316
328
|
if(g.timed_out, null, date_diff(SECOND, start_time, end_time)) as duration,
|
|
317
329
|
g.exception
|
|
318
330
|
from
|
|
@@ -32,16 +32,16 @@ fabricks/api/notebooks/vacuum.py,sha256=F88-alJyR4rh1ZB4CbvMqyJvAC-6l73GHtq6eBkk
|
|
|
32
32
|
fabricks/cdc/__init__.py,sha256=_ncE8b8xuT2HqWC3JiCa4JCb_na2xQnVz3M6tLkAXD8,302
|
|
33
33
|
fabricks/cdc/cdc.py,sha256=2CjPUtogWjnvyLjwiyVllcyDV1gpJ0QoRP0yUsiHXuc,69
|
|
34
34
|
fabricks/cdc/nocdc.py,sha256=Nwj0pE3NjSVyLxKs9PUimHzWcKN5ehHt1trrlq69qE4,518
|
|
35
|
-
fabricks/cdc/scd.py,sha256=
|
|
35
|
+
fabricks/cdc/scd.py,sha256=HzC9ifEu45B4P2aOSgi97AGB-C56l6sKTLqdVinnHKo,670
|
|
36
36
|
fabricks/cdc/scd1.py,sha256=WsOVRsp55WEw4-7nEtb3dfv310icExrj-zEJSEehyz8,334
|
|
37
37
|
fabricks/cdc/scd2.py,sha256=4vZkhc8pJAUlgiBmIw9j_2RsWuAFMcgCkU3WMVt0A-A,334
|
|
38
38
|
fabricks/cdc/base/__init__.py,sha256=1uec9NHg3J5TWPMR09EsCMO1g8_3Dt6ZhC_b61Sg7JY,143
|
|
39
39
|
fabricks/cdc/base/_types.py,sha256=IMI5bT4IFfqSnjTVrPBHsJkRXNdaRcMVUYW8qpfsTs0,82
|
|
40
40
|
fabricks/cdc/base/cdc.py,sha256=9w5BqQxSVbFVEozJWmZQThqdppkE_SYi4fHSzJ7WMvA,78
|
|
41
|
-
fabricks/cdc/base/configurator.py,sha256=
|
|
41
|
+
fabricks/cdc/base/configurator.py,sha256=lInLgLUm_h2VN43vUFzOsxwk4yOQxnDplR6F9fC0rEE,5271
|
|
42
42
|
fabricks/cdc/base/generator.py,sha256=OQuNGjblFeCP0JLJpJKbaXQmzREISw7PLiN04Nt9nu4,5735
|
|
43
43
|
fabricks/cdc/base/merger.py,sha256=suule_MRyI-qXwBaUpKiBLmduZpvI01nwn6MBarkI24,3991
|
|
44
|
-
fabricks/cdc/base/processor.py,sha256=
|
|
44
|
+
fabricks/cdc/base/processor.py,sha256=d52pvaHI9KTvztT2NCb8Vl-tIGc66ZPyuxXR4p3Vq1U,14393
|
|
45
45
|
fabricks/cdc/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
46
46
|
fabricks/cdc/templates/filter.sql.jinja,sha256=H0-nAN7HzxDa3p_Qu2U_LeJnBCcBKR6xzIM0VnckeuQ,234
|
|
47
47
|
fabricks/cdc/templates/merge.sql.jinja,sha256=iNpgqGiuI2QABmyTkHCibRr_5r7SASb3yqojhNP3e20,144
|
|
@@ -104,7 +104,7 @@ fabricks/core/dags/utils.py,sha256=17IIza8zaaVkhqCudXUr4GSYXZZCobGB3FLgbS4eAjs,1
|
|
|
104
104
|
fabricks/core/deploy/__init__.py,sha256=x-uY3oz82MsyiScuykGf8oDPWYA0b0LTdegB4q219Eo,375
|
|
105
105
|
fabricks/core/deploy/tables.py,sha256=HPQxdLfggSzL3PTqHnBaJnScXuROK_oko-vqjiXWrn0,2552
|
|
106
106
|
fabricks/core/deploy/udfs.py,sha256=TBTwMJAuZpsShu_z-Z-LENo3P_eWX69qUkmFuRqv3kU,516
|
|
107
|
-
fabricks/core/deploy/views.py,sha256=
|
|
107
|
+
fabricks/core/deploy/views.py,sha256=nY2L-yg5fwK40ONjQ_VrOGMrh4eJ6326UDSq3AnGrxA,14340
|
|
108
108
|
fabricks/core/jobs/__init__.py,sha256=W_1m6LoGiXBml_8cucedju_hllSSnZGKsZjyFh-2oJw,531
|
|
109
109
|
fabricks/core/jobs/bronze.py,sha256=89nsucGyTGAYPd6pO-MZUmi031P62gp095PTYjSftjg,13514
|
|
110
110
|
fabricks/core/jobs/get_job.py,sha256=35zay3Z_WoJIylzEQlGle6UvrE1EClfRbFEVGvszof0,3675
|
|
@@ -172,6 +172,6 @@ fabricks/utils/schema/get_schema_for_type.py,sha256=u9FFYvWyq9VQdNJNu79-SCN9iGUB
|
|
|
172
172
|
fabricks/utils/write/__init__.py,sha256=i0UnZenXj9Aq0b0_aU3s6882vg-Vu_AyKfQhl_dTp-g,200
|
|
173
173
|
fabricks/utils/write/delta.py,sha256=mpaSxBNcl6N0QheGLx8rjeyWUvy1Yvvj4raGRv7GL5M,1229
|
|
174
174
|
fabricks/utils/write/stream.py,sha256=wQBpAnQtYA6nl79sPKhVM6u5m-66suX7B6VQ6tW4TOs,622
|
|
175
|
-
fabricks-3.0.5.dist-info/METADATA,sha256=
|
|
176
|
-
fabricks-3.0.5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
177
|
-
fabricks-3.0.5.dist-info/RECORD,,
|
|
175
|
+
fabricks-3.0.5.2.dist-info/METADATA,sha256=MNN4cMvghY7Xedj3FhM8i4UvBmUyAia3-AaXPzLKqQw,725
|
|
176
|
+
fabricks-3.0.5.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
177
|
+
fabricks-3.0.5.2.dist-info/RECORD,,
|
|
File without changes
|