acryl-datahub 1.1.0.5rc3__py3-none-any.whl → 1.1.0.5rc4__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.

Files changed (41) hide show
  1. {acryl_datahub-1.1.0.5rc3.dist-info → acryl_datahub-1.1.0.5rc4.dist-info}/METADATA +2423 -2423
  2. {acryl_datahub-1.1.0.5rc3.dist-info → acryl_datahub-1.1.0.5rc4.dist-info}/RECORD +41 -34
  3. datahub/_version.py +1 -1
  4. datahub/ingestion/api/report.py +123 -2
  5. datahub/ingestion/api/source.py +45 -44
  6. datahub/ingestion/autogenerated/lineage_helper.py +193 -0
  7. datahub/ingestion/run/pipeline.py +6 -0
  8. datahub/ingestion/source/bigquery_v2/bigquery_queries.py +1 -0
  9. datahub/ingestion/source/bigquery_v2/profiler.py +4 -2
  10. datahub/ingestion/source/bigquery_v2/queries.py +4 -4
  11. datahub/ingestion/source/common/subtypes.py +2 -0
  12. datahub/ingestion/source/fivetran/fivetran.py +34 -26
  13. datahub/ingestion/source/hex/api.py +26 -1
  14. datahub/ingestion/source/kafka_connect/sink_connectors.py +156 -47
  15. datahub/ingestion/source/mock_data/datahub_mock_data.py +11 -15
  16. datahub/ingestion/source/slack/slack.py +2 -1
  17. datahub/ingestion/source/snowflake/snowflake_queries.py +1 -0
  18. datahub/ingestion/source/sql/sql_generic_profiler.py +2 -1
  19. datahub/ingestion/source/sql/vertica.py +2 -1
  20. datahub/ingestion/source/unity/source.py +36 -20
  21. datahub/ingestion/transformer/add_dataset_ownership.py +18 -2
  22. datahub/metadata/_internal_schema_classes.py +601 -0
  23. datahub/metadata/_urns/urn_defs.py +112 -0
  24. datahub/metadata/com/linkedin/pegasus2avro/identity/__init__.py +2 -0
  25. datahub/metadata/com/linkedin/pegasus2avro/metadata/key/__init__.py +4 -0
  26. datahub/metadata/com/linkedin/pegasus2avro/module/__init__.py +27 -0
  27. datahub/metadata/com/linkedin/pegasus2avro/settings/global/__init__.py +2 -0
  28. datahub/metadata/com/linkedin/pegasus2avro/template/__init__.py +25 -0
  29. datahub/metadata/schema.avsc +383 -0
  30. datahub/metadata/schemas/CorpUserSettings.avsc +25 -0
  31. datahub/metadata/schemas/DataHubPageModuleKey.avsc +21 -0
  32. datahub/metadata/schemas/DataHubPageModuleProperties.avsc +202 -0
  33. datahub/metadata/schemas/DataHubPageTemplateKey.avsc +21 -0
  34. datahub/metadata/schemas/DataHubPageTemplateProperties.avsc +175 -0
  35. datahub/metadata/schemas/GlobalSettingsInfo.avsc +25 -0
  36. datahub/sdk/datajob.py +39 -15
  37. datahub/specific/dataproduct.py +4 -0
  38. {acryl_datahub-1.1.0.5rc3.dist-info → acryl_datahub-1.1.0.5rc4.dist-info}/WHEEL +0 -0
  39. {acryl_datahub-1.1.0.5rc3.dist-info → acryl_datahub-1.1.0.5rc4.dist-info}/entry_points.txt +0 -0
  40. {acryl_datahub-1.1.0.5rc3.dist-info → acryl_datahub-1.1.0.5rc4.dist-info}/licenses/LICENSE +0 -0
  41. {acryl_datahub-1.1.0.5rc3.dist-info → acryl_datahub-1.1.0.5rc4.dist-info}/top_level.txt +0 -0
@@ -1,7 +1,7 @@
1
- acryl_datahub-1.1.0.5rc3.dist-info/licenses/LICENSE,sha256=9xNHpsD0uYF5ONzXsKDCuHHB-xbiCrSbueWXqrTNsxk,11365
1
+ acryl_datahub-1.1.0.5rc4.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=81T1DSxdYWctKOc3Yt4DKvZkQAVEO5Rw4fHuqucBno4,323
4
+ datahub/_version.py,sha256=FxmAFDylE_4rYCNPJsg5swySRi1b4oeflnNCP_Du7ks,323
5
5
  datahub/entrypoints.py,sha256=H-YFTvxTJOgpWsFBVlxyb1opjkq-hjTzNmjy5Fq3RHg,8992
6
6
  datahub/errors.py,sha256=p5rFAdAGVCk4Lqolol1YvthceadUSwpaCxLXRcyCCFQ,676
7
7
  datahub/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -148,10 +148,10 @@ datahub/ingestion/api/incremental_properties_helper.py,sha256=KzdxdrQtaMV2XMHfPs
148
148
  datahub/ingestion/api/ingestion_job_checkpointing_provider_base.py,sha256=3lLdkkxVqE9MVc26cdXImPeWy16az5BwgcorWxeBV50,1759
149
149
  datahub/ingestion/api/pipeline_run_listener.py,sha256=5uBP__LbMQxJ2utlf07cIzQINqPbUOKiZyOJta6a0og,713
150
150
  datahub/ingestion/api/registry.py,sha256=LbdZr89465Lj7ptQRVB4vI1JR1igWABvQFj9-WX63bI,7454
151
- datahub/ingestion/api/report.py,sha256=eM_TWWz6iJNd-c_S2_4eg2qKLGYP8vSROb_TMiCwBhY,4644
151
+ datahub/ingestion/api/report.py,sha256=Ex3c0L0Rl67kRNDkgxt3EEEEPXKbEdcvvTPf_KomLMU,9512
152
152
  datahub/ingestion/api/report_helpers.py,sha256=WbUC1kQeaKqIagGV3XzfPmPs7slAT1mfNY4og2BH2A8,994
153
153
  datahub/ingestion/api/sink.py,sha256=GZt48PV56FAhNoma-V5EwwRZvezhb40YH_zprm8_Yo0,4961
154
- datahub/ingestion/api/source.py,sha256=hYwh4LHcG5RS6xQ9QAh5Zlijjl6r1JaibKPb75Hne7A,19518
154
+ datahub/ingestion/api/source.py,sha256=WcpmuWRua87_UbaSY8GtkLkC0Gql0pM_i5FJN5ALh88,19669
155
155
  datahub/ingestion/api/source_helpers.py,sha256=XT9y5HgfVeF52jrX39vlLn1SdXpLVyT2Su8oGNsddYo,21148
156
156
  datahub/ingestion/api/transform.py,sha256=X0GpjMJzYkLuZx8MTWxH50cWGm9rGsnn3k188mmC8J8,582
157
157
  datahub/ingestion/api/workunit.py,sha256=e8n8RfSjHZZm2R4ShNH0UuMtUkMjyqqM2j2t7oL74lo,6327
@@ -159,6 +159,7 @@ datahub/ingestion/api/auto_work_units/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCe
159
159
  datahub/ingestion/api/auto_work_units/auto_dataset_properties_aspect.py,sha256=ID_6N3nWl2qohsSGizUCqo3d2MNyDeVbyWroQpSOSsc,5059
160
160
  datahub/ingestion/api/auto_work_units/auto_ensure_aspect_size.py,sha256=fMjPnyWEofIZV52E2AFYU3IgBJwyZvbygXxCJyEtcWI,4442
161
161
  datahub/ingestion/autogenerated/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
162
+ datahub/ingestion/autogenerated/lineage_helper.py,sha256=3PQKUcWkkgIopWw8dMZIkTHhpeJqPO6A4k5oyu3XfZM,6091
162
163
  datahub/ingestion/extractor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
163
164
  datahub/ingestion/extractor/extractor_registry.py,sha256=f7CLfW3pr29QZkXSHbp7HjUrsdw7ejQJmot-tiSPcqc,342
164
165
  datahub/ingestion/extractor/json_ref_patch.py,sha256=4g3ZWHn7rwS74jUvSXJiGpi-UKHhiSYKKgBeU4E5ukE,1448
@@ -190,7 +191,7 @@ datahub/ingestion/reporting/file_reporter.py,sha256=tiWukmMxHrTQI3rOAumsq6lRlw8T
190
191
  datahub/ingestion/reporting/reporting_provider_registry.py,sha256=jTYSh3T4sensjnHQfPLiIcbA2dG8w0px9ghChAJjGdU,310
191
192
  datahub/ingestion/run/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
192
193
  datahub/ingestion/run/connection.py,sha256=mngNzr5aRLUDa5Izqxa0xkdDEqEqcDuacWSKIlkdvPc,1483
193
- datahub/ingestion/run/pipeline.py,sha256=TYE1Vm144uHFmqEsrJcbrD0fcg2M-ZvYEGGGbIp1Rmk,29943
194
+ datahub/ingestion/run/pipeline.py,sha256=lMUQmxC1z2YPYTlTBzrOMGh7QMzqb7jgFoWf8tAbmjU,30250
194
195
  datahub/ingestion/run/pipeline_config.py,sha256=joG1j9OlwJhb8zqv4TY6_FSzOaKOx6xsBu255A5lP8g,4101
195
196
  datahub/ingestion/run/sink_callback.py,sha256=xZAzaKkR0dcQP838pMJWsA52oaQXV5BiqXkpxEpJ_9U,2856
196
197
  datahub/ingestion/sink/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -261,15 +262,15 @@ datahub/ingestion/source/bigquery_v2/bigquery_connection.py,sha256=sq9Nk11W5cMPs
261
262
  datahub/ingestion/source/bigquery_v2/bigquery_data_reader.py,sha256=DeT3v_Z82__8En0FcZ0kavBAWQoRvSZ5Rppm9eeDAb8,2393
262
263
  datahub/ingestion/source/bigquery_v2/bigquery_helper.py,sha256=QER3gY8e_k1_eNVj7cBso7ZzrWl_vO5PYSa6CpvqNx8,1554
263
264
  datahub/ingestion/source/bigquery_v2/bigquery_platform_resource_helper.py,sha256=9_sfX8BE2vt9RjBMyq27UxCxBaSlD5o3L4gQxrwlPvA,4961
264
- datahub/ingestion/source/bigquery_v2/bigquery_queries.py,sha256=Rph96stSOzMQ_b4iRBRhGkpRzsMe8ddF5n4yGeZ7StQ,3369
265
+ datahub/ingestion/source/bigquery_v2/bigquery_queries.py,sha256=2syDMaRpYEbtGUVejVAK5d6g8HqM54ZyEM908uLJ55o,3393
265
266
  datahub/ingestion/source/bigquery_v2/bigquery_report.py,sha256=v7_zkZzymKPmZKWAxnxmvmHC-8TQVGHUT-pBQFNehqc,7962
266
267
  datahub/ingestion/source/bigquery_v2/bigquery_schema.py,sha256=DHw5Z_rxj_fR09p7SO0UmDdvYEa_ViIRnLE9CFxPAAk,32525
267
268
  datahub/ingestion/source/bigquery_v2/bigquery_schema_gen.py,sha256=29E_25jLpMIgWcYRC0ZcYd1fvaFtSi2T8S6hSwiTDTY,51090
268
269
  datahub/ingestion/source/bigquery_v2/bigquery_test_connection.py,sha256=cATxwi5IPzj3BldRRAVcLqzSFmmYEPvqa7U0RFJbaAc,7645
269
270
  datahub/ingestion/source/bigquery_v2/common.py,sha256=IinOy-RO4UZGxSf5scaN02672BzZuNsjJZ56axti6iI,4016
270
271
  datahub/ingestion/source/bigquery_v2/lineage.py,sha256=jju14mJbAUMA_K3j2yq-TdZV202cjd5rBAsDPJGEVno,44900
271
- datahub/ingestion/source/bigquery_v2/profiler.py,sha256=8-yAoq8sX0E6VIwr75YbM8wITRNhGfxgte9BCeGNkMM,10681
272
- datahub/ingestion/source/bigquery_v2/queries.py,sha256=c1BpeQP8p8y-FOhmiQkkY2IqGrEqrXtARDCYQ2xhXvo,20145
272
+ datahub/ingestion/source/bigquery_v2/profiler.py,sha256=oLf5jMjJf-ShNny9Dll2tCsOoPMF1DxAh7e7etpeLq4,10821
273
+ datahub/ingestion/source/bigquery_v2/queries.py,sha256=wD5CpjBj2O_c9OkHEWxCK1iE_38rbLdl52l0uN4kTUQ,20230
273
274
  datahub/ingestion/source/bigquery_v2/queries_extractor.py,sha256=_5cAXVU8b8T_nAPDsvN2JRd2dmM1t1J1mRylfKiPen4,19530
274
275
  datahub/ingestion/source/bigquery_v2/usage.py,sha256=A9c-ofclaRk0NSnc4IRaqJYqMPv6ecCld_TPy3V2qFs,40748
275
276
  datahub/ingestion/source/cassandra/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -282,7 +283,7 @@ datahub/ingestion/source/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm
282
283
  datahub/ingestion/source/common/data_platforms.py,sha256=HhuP3YIEi2WpyKDjUU8RiM0a2qjHWQcvc8kcqub0cVo,548
283
284
  datahub/ingestion/source/common/data_reader.py,sha256=XbSxiRTYrk6seOz0ZjVjzSpGvP8lEjmqXrNI4cdYYmQ,1819
284
285
  datahub/ingestion/source/common/gcp_credentials_config.py,sha256=_NapGkAqZMbXNClLlmOfANS7U6rChhdthRX9s9iUv9k,2411
285
- datahub/ingestion/source/common/subtypes.py,sha256=iJ9IfuiLK_T6yJ9ovY1HA83ujaVWichAgR-rUlBXemk,3238
286
+ datahub/ingestion/source/common/subtypes.py,sha256=wkFfCwfjkvllpEYWjC6Bsv3htVYBGVCAkZPs3oFXhII,3306
286
287
  datahub/ingestion/source/data_lake_common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
287
288
  datahub/ingestion/source/data_lake_common/config.py,sha256=qUk83B01hjuBKHvVz8SmXnVCy5eFj-2-2QLEOrAdbgk,359
288
289
  datahub/ingestion/source/data_lake_common/data_lake_utils.py,sha256=55mK0nsehqGDTUOol9Oi3jZs8Pb04PIsHdC2WPP0dkg,6576
@@ -324,7 +325,7 @@ datahub/ingestion/source/dynamodb/dynamodb.py,sha256=vM3Ia5rZidqOcdPPigpuo6-7Ipo
324
325
  datahub/ingestion/source/fivetran/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
325
326
  datahub/ingestion/source/fivetran/config.py,sha256=00jc9srBZUQ18RSSCnHiOoJ4_F6I_rp--z-V7d9wXNY,9031
326
327
  datahub/ingestion/source/fivetran/data_classes.py,sha256=ecdUJH5BEze0yv-uFpKWPNaNmV1gORDA2XMFk0zhcBw,595
327
- datahub/ingestion/source/fivetran/fivetran.py,sha256=avP54ePLFVpkKVv8tr6mzC7dniTmZbKn13LP0-Ohj9k,13821
328
+ datahub/ingestion/source/fivetran/fivetran.py,sha256=b6i-Gcd75EdEMa65z0PZqRKd4FVnKdwALb07kxkCUZA,14247
328
329
  datahub/ingestion/source/fivetran/fivetran_log_api.py,sha256=5bmG705tCOaKAIjnomJfGCyCwKc7NahtW-rMP-4YifU,12902
329
330
  datahub/ingestion/source/fivetran/fivetran_query.py,sha256=c1begMnLtWoLBmaKBiarpMZ6HTVAI6hDPKn26DYuMYI,5343
330
331
  datahub/ingestion/source/gc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -340,7 +341,7 @@ datahub/ingestion/source/git/git_import.py,sha256=5CT6vMDb0MDctCtShnxb3JVihULtvk
340
341
  datahub/ingestion/source/grafana/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
341
342
  datahub/ingestion/source/grafana/grafana_source.py,sha256=3pU3xodPgS5lmnjuQ_u7F0XPzD_Y8MnPlMxRJ86qz4g,4960
342
343
  datahub/ingestion/source/hex/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
343
- datahub/ingestion/source/hex/api.py,sha256=OVQNI_11NJJcNCT6OzSDEtVjNcom0vmes_KkjgzWCcI,11806
344
+ datahub/ingestion/source/hex/api.py,sha256=1cjLuR6dAJor0C281VMzG8hc_noo0MsPu4FgBVvU1vI,12816
344
345
  datahub/ingestion/source/hex/constants.py,sha256=8hUTMWyG5keTNfXoLu_Dh413Hw_mGGJX1atiiDZyKtg,271
345
346
  datahub/ingestion/source/hex/hex.py,sha256=hpMCkwH_RWdb0MG1U2-N71wc6vPUVQ3fAkTiudplzrQ,12968
346
347
  datahub/ingestion/source/hex/mapper.py,sha256=N3mTlEcrOmhv9ia1dnHGFgFJD2ddyTtU3H5IUbb-UxU,13344
@@ -360,7 +361,7 @@ datahub/ingestion/source/kafka/kafka_schema_registry_base.py,sha256=13XjSwqyVhH1
360
361
  datahub/ingestion/source/kafka_connect/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
361
362
  datahub/ingestion/source/kafka_connect/common.py,sha256=lH64n1v_rJamWGfidBeuQJj8W1_IvOBpXQLR2YZaEvQ,7057
362
363
  datahub/ingestion/source/kafka_connect/kafka_connect.py,sha256=AVAgBvgH7kM9I2ke3mwr8CfIL1J2SdVHH_86rnCFwrM,17727
363
- datahub/ingestion/source/kafka_connect/sink_connectors.py,sha256=kEnxOXTik5HSDLjRDQQ2LnK944w_wfa8-apEHk_-v7Q,12898
364
+ datahub/ingestion/source/kafka_connect/sink_connectors.py,sha256=QTMY0FmOHkTxfICTXIsv3ZfzlrMA4VlZXKQTcFCyIAU,17220
364
365
  datahub/ingestion/source/kafka_connect/source_connectors.py,sha256=OQ0vjz9xF0T30pRln_gDvelmaOE5jTAxwsCtm1K4SWM,21080
365
366
  datahub/ingestion/source/looker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
366
367
  datahub/ingestion/source/looker/lkml_patched.py,sha256=XShEU7Wbz0DubDhYMjKf9wjKZrBJa2XPg9MIjp8rPhk,733
@@ -388,7 +389,7 @@ datahub/ingestion/source/metadata/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
388
389
  datahub/ingestion/source/metadata/business_glossary.py,sha256=T_RJHst6iQRghJNmLLPeSBMEDsbEKf3yBldOAgMcGuo,19666
389
390
  datahub/ingestion/source/metadata/lineage.py,sha256=PA4JwSeQ-30XFMN4O5tPwIu-hZF1e-xMZ_CnEUE2c-Q,9595
390
391
  datahub/ingestion/source/mock_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
391
- datahub/ingestion/source/mock_data/datahub_mock_data.py,sha256=YQ0QUhzn1PyUPscS4sJOpo0pxRwmzXjcs2W0ZiPqsqI,14543
392
+ datahub/ingestion/source/mock_data/datahub_mock_data.py,sha256=8ibA8jGOhz6SGDgvosj0ovI7aR3eKRbYqCMIba-wAt8,14460
392
393
  datahub/ingestion/source/mock_data/datahub_mock_data_report.py,sha256=sV_H7JgcuVbrpIBqtGse_BBigMdqP32ZXuanpeXmwVI,331
393
394
  datahub/ingestion/source/mock_data/table_naming_helper.py,sha256=oIC1vcOx76Vl63O9kcjP_iInBHyS-ATdN3Y932TCCZg,3283
394
395
  datahub/ingestion/source/neo4j/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -463,7 +464,7 @@ datahub/ingestion/source/sigma/data_classes.py,sha256=YZkkzwftV34mq5c_4jlC2PCSiR
463
464
  datahub/ingestion/source/sigma/sigma.py,sha256=sC3KzF5OVXzFA8Rl3AvuXjzETE6D0SlzN93uttMjXi4,25280
464
465
  datahub/ingestion/source/sigma/sigma_api.py,sha256=7PK5AQa838hYeaQ5L0dioi4n4bLrpN-r7COKTTNUYw8,19837
465
466
  datahub/ingestion/source/slack/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
466
- datahub/ingestion/source/slack/slack.py,sha256=B_HyRlhY2VWjMHDspQZqqejvVhnTREFx5B2GNa0jqzE,25903
467
+ datahub/ingestion/source/slack/slack.py,sha256=pc-5zmXXwyxx0Q8hfyKbXPW2ZYieaM-NwbH8Fk_E9ng,25986
467
468
  datahub/ingestion/source/snowflake/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
468
469
  datahub/ingestion/source/snowflake/constants.py,sha256=XCW3vw4JfLn_s8-oXBX6WFNMPOkX5qAQLFX2KqagojQ,2678
469
470
  datahub/ingestion/source/snowflake/oauth_config.py,sha256=ol9D3RmruGStJAeL8PYSQguSqcD2HfkjPkMF2AB_eZs,1277
@@ -474,7 +475,7 @@ datahub/ingestion/source/snowflake/snowflake_connection.py,sha256=3-nP3HHCblUnUH
474
475
  datahub/ingestion/source/snowflake/snowflake_data_reader.py,sha256=ffR5E2uhD71FUMXd3XOg2rHwrp1rbbGEFTAbqKcmI2s,2195
475
476
  datahub/ingestion/source/snowflake/snowflake_lineage_v2.py,sha256=eWUlWMc5X2X_Y1I2peworFWLLsXQjryEHxPDuSqrowg,21683
476
477
  datahub/ingestion/source/snowflake/snowflake_profiler.py,sha256=PmQi-qDlRhdJ-PsJ7x-EScIiswWRAxDDOKHydvN3mTY,7404
477
- datahub/ingestion/source/snowflake/snowflake_queries.py,sha256=4ZNyBsFPGKatxT6B9CW-gEQt6rUMy2FkRX1seh6Ppog,31165
478
+ datahub/ingestion/source/snowflake/snowflake_queries.py,sha256=Jc5H5Oo8JmSNV8MXCnyq_UH2XcYcLg2S1vJdQNkvuy4,31189
478
479
  datahub/ingestion/source/snowflake/snowflake_query.py,sha256=kqOxibplHyDhdioue8MeXBzeDS9d274-dspb-wyWMMI,38165
479
480
  datahub/ingestion/source/snowflake/snowflake_report.py,sha256=O-465aBA8uaYZ6WepP7i6cgK6Q1jXJPjDA1j9C8klus,6762
480
481
  datahub/ingestion/source/snowflake/snowflake_schema.py,sha256=1yGBbs2aWIdHnrwgeTR7J2lqxbbBsIt8ejCLumIpLEA,27274
@@ -501,7 +502,7 @@ datahub/ingestion/source/sql/presto.py,sha256=tATa0M2q0PjUC_E9W_jSUsmKTP7cVJayLg
501
502
  datahub/ingestion/source/sql/sql_common.py,sha256=ktCDlJeT1l_ZgwFwmq9SpssotKfyJ8xc4RFK6nmWb74,51648
502
503
  datahub/ingestion/source/sql/sql_config.py,sha256=u3nGZYYl1WtaxfNsDU5bglgZ5Jq3Fxk9xei_CUIAXB0,8222
503
504
  datahub/ingestion/source/sql/sql_generic.py,sha256=9AERvkK8kdJUeDOzCYJDb93xdv6Z4DGho0NfeHj5Uyg,2740
504
- datahub/ingestion/source/sql/sql_generic_profiler.py,sha256=8cDmNpT_UXzYmP8-RWoDCnewmVGCj2cYCzH9_gSsF3o,11590
505
+ datahub/ingestion/source/sql/sql_generic_profiler.py,sha256=Zr39j4SI1fPTx1JdopVJyBslFnyp3lZCeb1th9eEB5c,11723
505
506
  datahub/ingestion/source/sql/sql_report.py,sha256=gw-OPHSExp_b6DRjvwqE1U6BpkwekxGrsvNMGYSGDio,2671
506
507
  datahub/ingestion/source/sql/sql_types.py,sha256=TZSuK29Y5TPFIjzEXbwTbbkSQAS6Dnzuq8mCbJa5fK4,15119
507
508
  datahub/ingestion/source/sql/sql_utils.py,sha256=q-Bsk6WxlsRtrw9RXBxvqI3zuaMTC_F25T2VrCziR9I,8418
@@ -511,7 +512,7 @@ datahub/ingestion/source/sql/sqlalchemy_uri_mapper.py,sha256=KOpbmDIE2h1hyYEsbVH
511
512
  datahub/ingestion/source/sql/teradata.py,sha256=9WdrxDy02lRJi9IZgsAATFsmxcQnIw5Gr6yCqHJQy5k,33507
512
513
  datahub/ingestion/source/sql/trino.py,sha256=zIfQ6GvW8Sbw4sxqsTcnibT51STka_nzNYvmld6HfHw,18947
513
514
  datahub/ingestion/source/sql/two_tier_sql_source.py,sha256=AB3Gtx4omAy_08zadHQpmUGmIGufkZ6o_ihWNnfvzYc,5783
514
- datahub/ingestion/source/sql/vertica.py,sha256=kGfL6exvfKOY5PeC97f7ukdY0Id_pe8Wn9gL0bQN8dE,33358
515
+ datahub/ingestion/source/sql/vertica.py,sha256=4keUJd6BMxaZZVYT13lT_8BWpUnZZeBn8Da46EltHy0,33441
515
516
  datahub/ingestion/source/sql/mssql/__init__.py,sha256=1agpl8S_uDW40olkhCX_W19dbr5GO9qgjS3R7pLRZSk,87
516
517
  datahub/ingestion/source/sql/mssql/job_models.py,sha256=nAo3rciu-w2-dXCz6_ekDEbGMEjCMEfh8WvSfXoF2l0,9359
517
518
  datahub/ingestion/source/sql/mssql/source.py,sha256=krV80XcNFu-N73xoUA-W2zLiop3pJP7zkb3Dvj4PDKU,42783
@@ -549,7 +550,7 @@ datahub/ingestion/source/unity/proxy.py,sha256=E8ZhWIY3j7gjEz8ttWOeHlom0jCMJXkWH
549
550
  datahub/ingestion/source/unity/proxy_profiling.py,sha256=WLqvYP6MziaisA4LYL4T_GA-kPt6Xdde7bfaYsjYw40,9663
550
551
  datahub/ingestion/source/unity/proxy_types.py,sha256=qrvHiwPzl5cPX-KRvcIGGeJVdr0I8XUQmoAI6ErZ-v8,9371
551
552
  datahub/ingestion/source/unity/report.py,sha256=XFT9oQfvEB4RkTvWGgFOoQuLPUN_AIoPXZ79xeDhGHQ,2831
552
- datahub/ingestion/source/unity/source.py,sha256=79a7qzFdO66sx6q0E_9Sd3smyQXS8OiRzJFG8Cbcrlk,49003
553
+ datahub/ingestion/source/unity/source.py,sha256=cMGnbzLBoDEiS6atNz8APGMS1i3s62ZS1vqKgooUDsk,49726
553
554
  datahub/ingestion/source/unity/tag_entities.py,sha256=iWl6nRAWSye1hoFDx_Xh4aT53PN0sGzlX7n1-oTVUv8,11568
554
555
  datahub/ingestion/source/unity/usage.py,sha256=0wETBAaZvHI_EGgBlxX3bKsVHEAdnUV8_bKI_lbyWjY,11500
555
556
  datahub/ingestion/source/usage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -571,7 +572,7 @@ datahub/ingestion/source_report/time_window.py,sha256=9yI5l2S1DcF7ClvUHLeN8m62I5
571
572
  datahub/ingestion/transformer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
572
573
  datahub/ingestion/transformer/add_dataset_browse_path.py,sha256=7ngPAAAsdV8nsqFHZyHfO5j1vkCcf5zNqOkG2Cpx1Tw,3420
573
574
  datahub/ingestion/transformer/add_dataset_dataproduct.py,sha256=uOMnbJoZxvNnJSx_IOU7M83or4Bl9d4pfsnvkn49yE0,6424
574
- datahub/ingestion/transformer/add_dataset_ownership.py,sha256=D3uNRoiHNiqg7PS2wP_IWcanUap2l3PyAuWeGQwd4QI,8664
575
+ datahub/ingestion/transformer/add_dataset_ownership.py,sha256=hiwBRNvfIJqev0hm4y8CJUOtUSCO4yOXZ4u9cbHT3HU,9030
575
576
  datahub/ingestion/transformer/add_dataset_properties.py,sha256=9p96YkNzoTCmdsuWvygvsYgSklhzLMhA9fKO8GiA2gk,5607
576
577
  datahub/ingestion/transformer/add_dataset_schema_tags.py,sha256=yRWT9nEXbdcH50qL954N90BREgF8DTXdx2twmuu1p4g,5666
577
578
  datahub/ingestion/transformer/add_dataset_schema_terms.py,sha256=ftoZ4DJE0lJTKnzATyrK-9JtjiI1Etz7yWSqta9KowM,6550
@@ -613,12 +614,12 @@ datahub/lite/lite_registry.py,sha256=bpH0kasP-LtwwUFNA2QsOIehfekAYfJtN-AkQLmSWnw
613
614
  datahub/lite/lite_server.py,sha256=p9Oa2nNs65mqcssSIVOr7VOzWqfVstz6ZQEdT4f82S0,1949
614
615
  datahub/lite/lite_util.py,sha256=G0LQHKkyEb1pc_q183g6hflShclGx7kikgMaOxtVVcs,4545
615
616
  datahub/metadata/__init__.py,sha256=AjhXPjI6cnpdcrBRrE5gOWo15vv2TTl2ctU4UAnUN7A,238
616
- datahub/metadata/_internal_schema_classes.py,sha256=UACA9XSSdTueZTUW4v_4OWIsWga3T99I3gnGAPCe2w8,1019257
617
- datahub/metadata/schema.avsc,sha256=GsQZCPSD3_KKXvGALSzgTgIONL0r3tXme9M4rXQy_q4,707244
617
+ datahub/metadata/_internal_schema_classes.py,sha256=E9vXJ4SehOcRTliF8ytVra6TfW41JlEjGxILjMQiLFQ,1040331
618
+ datahub/metadata/schema.avsc,sha256=AJC7ZJs37yBAIEhDBK2UPmze2pWWXhYRcf5qlpdW5fc,719162
618
619
  datahub/metadata/schema_classes.py,sha256=tPT8iHCak4IsZi_oL0nirbPpI8ETTPTZzapqLRpeKU4,1326
619
620
  datahub/metadata/urns.py,sha256=nfrCTExR-k2P9w272WVtWSN3xW1VUJngPwP3xnvULjU,1217
620
621
  datahub/metadata/_urns/__init__.py,sha256=cOF3GHMDgPhmbLKbN02NPpuLGHSu0qNgQyBRv08eqF0,243
621
- datahub/metadata/_urns/urn_defs.py,sha256=yhU7EP7gJGBoO1EmePqnmWxWhkPx7Q_WzDTUyfpXsus,138516
622
+ datahub/metadata/_urns/urn_defs.py,sha256=CBYBAxG2Hucll_TTdqZJieJoBJ32oc3-Utc4fxYUwX8,143154
622
623
  datahub/metadata/com/__init__.py,sha256=gsAIuTxzfJdI7a9ybZlgMIHMAYksM1SxGxXjtySgKSc,202
623
624
  datahub/metadata/com/linkedin/__init__.py,sha256=gsAIuTxzfJdI7a9ybZlgMIHMAYksM1SxGxXjtySgKSc,202
624
625
  datahub/metadata/com/linkedin/events/__init__.py,sha256=s_dR0plZF-rOxxIbE8ojekJqwiHzl2WYR-Z3kW6kKS0,298
@@ -657,16 +658,17 @@ datahub/metadata/com/linkedin/pegasus2avro/events/metadata/__init__.py,sha256=a1
657
658
  datahub/metadata/com/linkedin/pegasus2avro/execution/__init__.py,sha256=O5XAXnGzDnWv8nbqRHxLPPXUbrIu_pn76WUK_hhkHmg,775
658
659
  datahub/metadata/com/linkedin/pegasus2avro/form/__init__.py,sha256=rGDmWiKm6qpXiipZ5veCHqBJGSAryAqnSzRPlwcmLnA,845
659
660
  datahub/metadata/com/linkedin/pegasus2avro/glossary/__init__.py,sha256=fa1QNv08O3TqXqZ14bkJerGho_t-8DPHFdcWKiXkkUA,501
660
- datahub/metadata/com/linkedin/pegasus2avro/identity/__init__.py,sha256=1U583fdMTmoZ-oFEV7E87aFRdvaKq2wEnmDQHhP4kDg,1484
661
+ datahub/metadata/com/linkedin/pegasus2avro/identity/__init__.py,sha256=EGxkzJgQMASL_aUmgjHE3bo8qRTSbAbM_8gUccZblX0,1603
661
662
  datahub/metadata/com/linkedin/pegasus2avro/incident/__init__.py,sha256=LfB7ytT1uuGl5Y8oeU6ILCpSGsGmUKgCjsHphn7AThg,916
662
663
  datahub/metadata/com/linkedin/pegasus2avro/ingestion/__init__.py,sha256=1bfG2naq4iS_pwU4J-BVer_gfL0hDbJbnH0gh1MPNgA,871
663
664
  datahub/metadata/com/linkedin/pegasus2avro/metadata/__init__.py,sha256=gsAIuTxzfJdI7a9ybZlgMIHMAYksM1SxGxXjtySgKSc,202
664
- datahub/metadata/com/linkedin/pegasus2avro/metadata/key/__init__.py,sha256=bvCD3zLtdgAtLT6ZpjeBQ8-QglBL9fGBPW89whWGNwM,4929
665
+ datahub/metadata/com/linkedin/pegasus2avro/metadata/key/__init__.py,sha256=G9CI1UqSXGzselvjnlOI7Obzjn5ZTQVzohRGBZHdnZk,5151
665
666
  datahub/metadata/com/linkedin/pegasus2avro/metadata/query/__init__.py,sha256=gsAIuTxzfJdI7a9ybZlgMIHMAYksM1SxGxXjtySgKSc,202
666
667
  datahub/metadata/com/linkedin/pegasus2avro/metadata/query/filter/__init__.py,sha256=DBP_QtxkFmC5q_kuk4dGjb4uOKbB4xKgqTWXGxmNbBQ,532
667
668
  datahub/metadata/com/linkedin/pegasus2avro/metadata/snapshot/__init__.py,sha256=OPboF8SV11wGnjvWQB-rxtB0otMdCsE7Tcy7xkOUgz8,2358
668
669
  datahub/metadata/com/linkedin/pegasus2avro/ml/__init__.py,sha256=gsAIuTxzfJdI7a9ybZlgMIHMAYksM1SxGxXjtySgKSc,202
669
670
  datahub/metadata/com/linkedin/pegasus2avro/ml/metadata/__init__.py,sha256=qefB0n1xilQHCPla80b39wdjHOYoVtzBJT2jGc2szkM,3309
671
+ datahub/metadata/com/linkedin/pegasus2avro/module/__init__.py,sha256=Q64XyonAWViy4FlbjTz2yLWLB1gkAF3I9UtDkVAjlJM,980
670
672
  datahub/metadata/com/linkedin/pegasus2avro/mxe/__init__.py,sha256=LqGp9QTLk_tiSsbHMGSUH7uPG00Bf_qQIMiU7vtO4Tk,973
671
673
  datahub/metadata/com/linkedin/pegasus2avro/notebook/__init__.py,sha256=BcjOsz4YeHQbLLBb4Im4uJ7ux1hGHquQDmiIOiDXVtE,901
672
674
  datahub/metadata/com/linkedin/pegasus2avro/ownership/__init__.py,sha256=r813MW_bkP1ZpC2NJf7uCHEOapjebl611c90vryKX4A,302
@@ -684,11 +686,12 @@ datahub/metadata/com/linkedin/pegasus2avro/schema/__init__.py,sha256=7JpzLs6S_Ey
684
686
  datahub/metadata/com/linkedin/pegasus2avro/schemafield/__init__.py,sha256=HTWeznycKnHBfPEGcCHXPEz83Iq9ypjNaoSfeQeDU9g,397
685
687
  datahub/metadata/com/linkedin/pegasus2avro/secret/__init__.py,sha256=qk61EqqVZF6k1Ct6t4Uo-pLb0WtM1EwJKn1XjVy9LHE,305
686
688
  datahub/metadata/com/linkedin/pegasus2avro/settings/__init__.py,sha256=gsAIuTxzfJdI7a9ybZlgMIHMAYksM1SxGxXjtySgKSc,202
687
- datahub/metadata/com/linkedin/pegasus2avro/settings/global/__init__.py,sha256=1AcLBo5isT59x-EWYjOv_70Y5YJpowAjTSH4ZkZQVJ0,711
689
+ datahub/metadata/com/linkedin/pegasus2avro/settings/global/__init__.py,sha256=brzmpkgl_UI_ExT4UZh3WzE3TEXkyopzCmrU54qf6XY,825
688
690
  datahub/metadata/com/linkedin/pegasus2avro/step/__init__.py,sha256=HLNNbqBlyhcg09eXWx_AMD_JoOtBPYEi2kv12PE0R9E,329
689
691
  datahub/metadata/com/linkedin/pegasus2avro/structured/__init__.py,sha256=Cry61gPw6m5MQuJpPxADRm3jhI0XVqzznyD3fVKMkvc,1013
690
692
  datahub/metadata/com/linkedin/pegasus2avro/tag/__init__.py,sha256=Odb4mzloKJIlpoFHODEIxt_OIgFNrZExcyQtvXxjOFQ,290
691
693
  datahub/metadata/com/linkedin/pegasus2avro/telemetry/__init__.py,sha256=N4CJwzAqTrRoCQ2Aoa_e8cUZI_fzn9Zdo2okvO-_nWE,302
694
+ datahub/metadata/com/linkedin/pegasus2avro/template/__init__.py,sha256=CK8dZFt2A11dG9QnjxDrr1QbhP0MS6c4mMXHK688Azc,924
692
695
  datahub/metadata/com/linkedin/pegasus2avro/test/__init__.py,sha256=Z4DlDtf-NELFpx44Pk4RL1JlGuxtgEAMa6Sko8QBsGw,711
693
696
  datahub/metadata/com/linkedin/pegasus2avro/timeseries/__init__.py,sha256=6Pbit2drar8n99RFNQiXfYj7PhIzrO1SIpsGELZR4oA,637
694
697
  datahub/metadata/com/linkedin/pegasus2avro/upgrade/__init__.py,sha256=o3U2TuzRSU1uPL-4AOMCPDqEwngqRb6g4-CBFY7eSvQ,525
@@ -724,7 +727,7 @@ datahub/metadata/schemas/CorpUserCredentials.avsc,sha256=S7FkV9K_DGxhb4GFYbM5_lP
724
727
  datahub/metadata/schemas/CorpUserEditableInfo.avsc,sha256=6IrqWidbHP7mRryfVlWAQU0JS34THHTM8_aIKWqClUE,3843
725
728
  datahub/metadata/schemas/CorpUserInfo.avsc,sha256=oObOza-5FLjZyCjj0FN4MNV1DodgTwJSV4APduAggjk,3955
726
729
  datahub/metadata/schemas/CorpUserKey.avsc,sha256=01sbbdr8G-ZP1yc2UfY3gR-YN6b7AvDbCbNpZJ-02J4,1025
727
- datahub/metadata/schemas/CorpUserSettings.avsc,sha256=ylzHvYijbM0LIVQopV7w34EM1p3qrBGFpzGZF_3qzoM,5320
730
+ datahub/metadata/schemas/CorpUserSettings.avsc,sha256=hEJ5nQxAG-4ahUMQEl8NcJVb1kFp0YIdwHPNTWruD8k,6070
728
731
  datahub/metadata/schemas/CorpUserStatus.avsc,sha256=yqojAXEQ9CjRhY58RPyTUxzmFbHSANGGaMMbqiYZZIE,2538
729
732
  datahub/metadata/schemas/Cost.avsc,sha256=o4kYZSss2uEwJ6gCA9fhBUoyD5xUqcSxz78vkIXXzGQ,1494
730
733
  datahub/metadata/schemas/DashboardInfo.avsc,sha256=li2lSV6R4V-nz6foOi-NYxt_8ShHWfoKRw6M2BG5530,12907
@@ -743,6 +746,10 @@ datahub/metadata/schemas/DataHubConnectionKey.avsc,sha256=VwbamVFoEdp6epz1lJm_US
743
746
  datahub/metadata/schemas/DataHubIngestionSourceInfo.avsc,sha256=4wac7sluRIq-0ZjODE5SmuVKuQeW8ajLJNRpqEBRyio,4601
744
747
  datahub/metadata/schemas/DataHubIngestionSourceKey.avsc,sha256=TGmm9WEGTaABs7kt5Uc-N-kbc5Sd-2sQwx-JpfAptvw,545
745
748
  datahub/metadata/schemas/DataHubOpenAPISchemaKey.avsc,sha256=q6ZyMoxInwmrkrXkUgMe-i-WZzAxbjcvJ-EI99SnEp8,599
749
+ datahub/metadata/schemas/DataHubPageModuleKey.avsc,sha256=NyFN8cVO6s6rtgoLGJJGfcPfpGr5PfmZlIhM6ajldfQ,460
750
+ datahub/metadata/schemas/DataHubPageModuleProperties.avsc,sha256=wlhBuKGJDxgW9fUYGb-jsurhXifvBdqdI3dEoUOIxDk,6591
751
+ datahub/metadata/schemas/DataHubPageTemplateKey.avsc,sha256=0sVqwL97Rp8YHPytp2RqUP5hIW048hmT2hPNP5k6arc,472
752
+ datahub/metadata/schemas/DataHubPageTemplateProperties.avsc,sha256=0ndN64UNAADL6G_GVjJLHbe_dBnWhVRjtI3MilOlHQc,5651
746
753
  datahub/metadata/schemas/DataHubPersonaInfo.avsc,sha256=OUvbTgPQsBtzkDDb9pxHXpQ6A7dkL77ZnCXZ-MLEG14,227
747
754
  datahub/metadata/schemas/DataHubPersonaKey.avsc,sha256=ddj-DhXa0_YMdLaGkKLLSklfIeDRvSwPXu8o__YEXUE,448
748
755
  datahub/metadata/schemas/DataHubPolicyInfo.avsc,sha256=yBQe7pAuTMg9aovhugF4EkCRSHO_AN2TP_NM-0-Jg3A,10037
@@ -826,7 +833,7 @@ datahub/metadata/schemas/Filter.avsc,sha256=PU-aGkc2-sI3ZXY7ci-Y0A7zp1jux3VW_6c8
826
833
  datahub/metadata/schemas/FormInfo.avsc,sha256=tlNI-m6uWJ46yF6Ls6Q_DOEZM2bQgXTd4bSeH30N9MA,6438
827
834
  datahub/metadata/schemas/FormKey.avsc,sha256=1-wE28B8T3WJ3JtexreNtFvP3To3n7U-jvYudCuSM9o,437
828
835
  datahub/metadata/schemas/Forms.avsc,sha256=shmkhRoHN2gTaTsqGrGDRoNwe_z-nrFbbLjH9MtVDCs,10955
829
- datahub/metadata/schemas/GlobalSettingsInfo.avsc,sha256=OVMM6FwhHhufHkezYcVePK0zI2llzFYLVFJhmAiHoiI,10102
836
+ datahub/metadata/schemas/GlobalSettingsInfo.avsc,sha256=juyuGFIZ8HuuJU-eGzIW3z3zpdeIR_DIEm-sTkCfhHE,10874
830
837
  datahub/metadata/schemas/GlobalSettingsKey.avsc,sha256=Yj8s5IdM9yF7xrhJcLGCPCXBWqSsrPbufBaQjlZ3JlU,563
831
838
  datahub/metadata/schemas/GlobalTags.avsc,sha256=-SurkodMqTDnPpkRV6qYqmpNWjQNvynUiPZX7EhL5uc,4624
832
839
  datahub/metadata/schemas/GlossaryNodeInfo.avsc,sha256=G1Cb-w9VxIAEhNqyiEsDL_ABRO9QxyTpUANKU6DQrFw,1888
@@ -931,7 +938,7 @@ datahub/sdk/chart.py,sha256=9HgZU3yTmKFJCocbSWTbwW8ROfL7h4UbK_B7pHEG7n0,11102
931
938
  datahub/sdk/container.py,sha256=IjnFVGDpSFDvgHuuMb7C3VdBxhJuIMq0q6crOs5PupE,7899
932
939
  datahub/sdk/dashboard.py,sha256=kt8vD-DzoHLDOwk4Ik8ZoIKC0tPvgxX8rU9CMobs37o,15539
933
940
  datahub/sdk/dataflow.py,sha256=gdAPVVkyKvsKtsa1AwhN_LpzidG_XzV3nhtd1cjnzDA,11128
934
- datahub/sdk/datajob.py,sha256=RaQ3GxtZb8LREWMMJuZJgqC4Dk3tBK9GcsszwsSDxYo,12582
941
+ datahub/sdk/datajob.py,sha256=5kU0txTDcn2ce3AhNry83TazPVhoYZ2rAPPNWM1_FP8,13677
935
942
  datahub/sdk/dataset.py,sha256=2-iD-HqjgFpCBmU3k8O5tkltmwFj4jaumADiX8sexJU,29465
936
943
  datahub/sdk/entity.py,sha256=Q29AbpS58L4gD8ETwoNIwG-ouytz4c0MSSFi6-jLl_4,6742
937
944
  datahub/sdk/entity_client.py,sha256=xHLGLn6oJfxmHLXo5w4-isPFZGcf8yR5IwyC6pvl_I8,8903
@@ -951,7 +958,7 @@ datahub/specific/__init__.py,sha256=r5RYM5mDnskLzin3vc87HV-9GSz3P6uQw8AlsN14LaI,
951
958
  datahub/specific/chart.py,sha256=EUIRzcYNTs6tXoxVwYjJfD74Jw80kAjXyySjjEoTfw4,6685
952
959
  datahub/specific/dashboard.py,sha256=3AsXZ1Cp03uaTHsOmJqEiXzJjZUBgDbX-zmgwMw908o,11514
953
960
  datahub/specific/datajob.py,sha256=yZXic3CuCGxg-ewnaHphoH9Jjpe-P09XbN7T-rrvkyE,13711
954
- datahub/specific/dataproduct.py,sha256=SrBNYACDVatuXA64GCHA0Igaes24ajJqTcXmDTT1FPA,2877
961
+ datahub/specific/dataproduct.py,sha256=xJbVEACTbwQq7FJO1DAtjCERu3KLU9satU5nwZ5O390,3015
955
962
  datahub/specific/dataset.py,sha256=E4XTS4T1c5mjdDn0sTAZsXJ4eK-REV3wwhSxTQkjWJs,10067
956
963
  datahub/specific/form.py,sha256=hbxmmBWHma0d4NCZEGR6Nr6R-5A5gYgl1mmkGgnM97o,3834
957
964
  datahub/specific/structured_property.py,sha256=NZ2yppDgtqrH04Wn3_m5IupyLeWoBCMygyr3nEi1A3o,4038
@@ -1080,8 +1087,8 @@ datahub_provider/operators/datahub_assertion_operator.py,sha256=uvTQ-jk2F0sbqqxp
1080
1087
  datahub_provider/operators/datahub_assertion_sensor.py,sha256=lCBj_3x1cf5GMNpHdfkpHuyHfVxsm6ff5x2Z5iizcAo,140
1081
1088
  datahub_provider/operators/datahub_operation_operator.py,sha256=aevDp2FzX7FxGlXrR0khoHNbxbhKR2qPEX5e8O2Jyzw,174
1082
1089
  datahub_provider/operators/datahub_operation_sensor.py,sha256=8fcdVBCEPgqy1etTXgLoiHoJrRt_nzFZQMdSzHqSG7M,168
1083
- acryl_datahub-1.1.0.5rc3.dist-info/METADATA,sha256=8c04d-AKh-9Af0x9FeL24ah-XHUXxMCyGaklXQqhHLA,182347
1084
- acryl_datahub-1.1.0.5rc3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1085
- acryl_datahub-1.1.0.5rc3.dist-info/entry_points.txt,sha256=bnGf6eX9UhiW8yVHtt6MJCVcmLErvrVQxTJAayA-PKc,9885
1086
- acryl_datahub-1.1.0.5rc3.dist-info/top_level.txt,sha256=iLjSrLK5ox1YVYcglRUkcvfZPvKlobBWx7CTUXx8_GI,25
1087
- acryl_datahub-1.1.0.5rc3.dist-info/RECORD,,
1090
+ acryl_datahub-1.1.0.5rc4.dist-info/METADATA,sha256=VA5JlGUBQDVDE7ZFv2nz76rrLvUFYpTcyKfcjjiidRk,182347
1091
+ acryl_datahub-1.1.0.5rc4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1092
+ acryl_datahub-1.1.0.5rc4.dist-info/entry_points.txt,sha256=bnGf6eX9UhiW8yVHtt6MJCVcmLErvrVQxTJAayA-PKc,9885
1093
+ acryl_datahub-1.1.0.5rc4.dist-info/top_level.txt,sha256=iLjSrLK5ox1YVYcglRUkcvfZPvKlobBWx7CTUXx8_GI,25
1094
+ acryl_datahub-1.1.0.5rc4.dist-info/RECORD,,
datahub/_version.py CHANGED
@@ -1,6 +1,6 @@
1
1
  # Published at https://pypi.org/project/acryl-datahub/.
2
2
  __package_name__ = "acryl-datahub"
3
- __version__ = "1.1.0.5rc3"
3
+ __version__ = "1.1.0.5rc4"
4
4
 
5
5
 
6
6
  def is_dev_mode() -> bool:
@@ -2,17 +2,24 @@ import dataclasses
2
2
  import json
3
3
  import logging
4
4
  import pprint
5
- from dataclasses import dataclass
5
+ from collections import defaultdict
6
+ from dataclasses import dataclass, field
6
7
  from datetime import datetime, timedelta
7
8
  from enum import Enum
8
- from typing import Any, Optional, runtime_checkable
9
+ from typing import Any, Dict, Optional, Set, cast, runtime_checkable
9
10
 
10
11
  import humanfriendly
11
12
  import pydantic
12
13
  from pydantic import BaseModel
13
14
  from typing_extensions import Literal, Protocol
14
15
 
16
+ from datahub.emitter.mcp_builder import mcps_from_mce
17
+ from datahub.ingestion.api.closeable import Closeable
15
18
  from datahub.ingestion.api.report_helpers import format_datetime_relative
19
+ from datahub.ingestion.api.workunit import MetadataWorkUnit
20
+ from datahub.metadata.com.linkedin.pegasus2avro.mxe import MetadataChangeEvent
21
+ from datahub.metadata.schema_classes import SubTypesClass, UpstreamLineageClass
22
+ from datahub.utilities.file_backed_collections import FileBackedDict
16
23
  from datahub.utilities.lossy_collections import LossyList
17
24
 
18
25
  logger = logging.getLogger(__name__)
@@ -90,6 +97,14 @@ class Report(SupportsAsObj):
90
97
  # TODO add helper method for warning / failure status + counts?
91
98
 
92
99
 
100
+ @dataclass
101
+ class SourceReportSubtypes:
102
+ urn: str
103
+ entity_type: str
104
+ subType: str = field(default="unknown")
105
+ aspects: Set[str] = field(default_factory=set)
106
+
107
+
93
108
  class ReportAttribute(BaseModel):
94
109
  severity: LogLevel = "DEBUG"
95
110
  help: Optional[str] = None
@@ -108,6 +123,112 @@ class ReportAttribute(BaseModel):
108
123
  logger.log(level=self.logger_sev, msg=msg, stacklevel=3)
109
124
 
110
125
 
126
+ @dataclass
127
+ class ExamplesReport(Report, Closeable):
128
+ _urns_seen: Set[str] = field(default_factory=set)
129
+ entities: Dict[str, list] = field(default_factory=lambda: defaultdict(LossyList))
130
+ aspects: Dict[str, Dict[str, int]] = field(
131
+ default_factory=lambda: defaultdict(lambda: defaultdict(int))
132
+ )
133
+ aspects_by_subtypes: Dict[str, Dict[str, Dict[str, int]]] = field(
134
+ default_factory=lambda: defaultdict(
135
+ lambda: defaultdict(lambda: defaultdict(int))
136
+ )
137
+ )
138
+ aspect_urn_samples: Dict[str, Dict[str, LossyList[str]]] = field(
139
+ default_factory=lambda: defaultdict(lambda: defaultdict(LossyList))
140
+ )
141
+ _file_based_dict: Optional[FileBackedDict[SourceReportSubtypes]] = None
142
+
143
+ def __post_init__(self) -> None:
144
+ self._file_based_dict = FileBackedDict(
145
+ tablename="urn_aspects",
146
+ extra_columns={
147
+ "urn": lambda val: val.urn,
148
+ "entityType": lambda val: val.entity_type,
149
+ "subTypes": lambda val: val.subType,
150
+ "aspects": lambda val: json.dumps(sorted(list(val.aspects))),
151
+ },
152
+ )
153
+
154
+ def close(self) -> None:
155
+ self.compute_stats()
156
+ if self._file_based_dict is not None:
157
+ self._file_based_dict.close()
158
+ self._file_based_dict = None
159
+
160
+ def _store_workunit_data(self, wu: MetadataWorkUnit) -> None:
161
+ urn = wu.get_urn()
162
+
163
+ if not isinstance(wu.metadata, MetadataChangeEvent):
164
+ mcps = [wu.metadata]
165
+ else:
166
+ mcps = list(mcps_from_mce(wu.metadata))
167
+
168
+ for mcp in mcps:
169
+ entityType = mcp.entityType
170
+ aspectName = mcp.aspectName
171
+
172
+ if urn not in self._urns_seen:
173
+ self._urns_seen.add(urn)
174
+ self.entities[entityType].append(urn)
175
+
176
+ if aspectName is None:
177
+ continue
178
+ self.aspects[entityType][aspectName] += 1
179
+ self.aspect_urn_samples[entityType][aspectName].append(urn)
180
+ sub_type = "unknown"
181
+ if isinstance(mcp.aspect, UpstreamLineageClass):
182
+ upstream_lineage = cast(UpstreamLineageClass, mcp.aspect)
183
+ if upstream_lineage.fineGrainedLineages:
184
+ self.aspect_urn_samples[entityType]["fineGrainedLineages"].append(
185
+ urn
186
+ )
187
+ self.aspects[entityType]["fineGrainedLineages"] += 1
188
+ elif isinstance(mcp.aspect, SubTypesClass):
189
+ sub_type = mcp.aspect.typeNames[0]
190
+ assert self._file_based_dict is not None
191
+ if urn in self._file_based_dict:
192
+ if sub_type != "unknown":
193
+ self._file_based_dict[urn].subType = sub_type
194
+ self._file_based_dict[urn].aspects.add(aspectName)
195
+ self._file_based_dict.mark_dirty(urn)
196
+ else:
197
+ self._file_based_dict[urn] = SourceReportSubtypes(
198
+ urn=urn,
199
+ entity_type=entityType,
200
+ subType=sub_type,
201
+ aspects={aspectName},
202
+ )
203
+
204
+ def compute_stats(self) -> None:
205
+ if self._file_based_dict is None:
206
+ return
207
+ query = """
208
+ SELECT entityType, subTypes, aspects, count(*) as count
209
+ FROM urn_aspects
210
+ group by entityType, subTypes, aspects
211
+ """
212
+
213
+ entity_subtype_aspect_counts: Dict[str, Dict[str, Dict[str, int]]] = (
214
+ defaultdict(lambda: defaultdict(lambda: defaultdict(int)))
215
+ )
216
+ for row in self._file_based_dict.sql_query(query):
217
+ entity_type = row["entityType"]
218
+ sub_type = row["subTypes"]
219
+ count = row["count"]
220
+ aspects_raw = row["aspects"] or "[]"
221
+
222
+ aspects = json.loads(aspects_raw)
223
+ for aspect in aspects:
224
+ entity_subtype_aspect_counts[entity_type][sub_type][aspect] += count
225
+
226
+ self.aspects_by_subtypes.clear()
227
+ for entity_type, subtype_counts in entity_subtype_aspect_counts.items():
228
+ for sub_type, aspect_counts in subtype_counts.items():
229
+ self.aspects_by_subtypes[entity_type][sub_type] = dict(aspect_counts)
230
+
231
+
111
232
  class EntityFilterReport(ReportAttribute):
112
233
  type: str
113
234
 
@@ -2,7 +2,6 @@ import contextlib
2
2
  import datetime
3
3
  import logging
4
4
  from abc import ABCMeta, abstractmethod
5
- from collections import defaultdict
6
5
  from dataclasses import dataclass, field
7
6
  from enum import Enum
8
7
  from functools import partial
@@ -15,7 +14,6 @@ from typing import (
15
14
  List,
16
15
  Optional,
17
16
  Sequence,
18
- Set,
19
17
  Type,
20
18
  TypeVar,
21
19
  Union,
@@ -28,7 +26,6 @@ from typing_extensions import LiteralString, Self
28
26
  from datahub.configuration.common import ConfigModel
29
27
  from datahub.configuration.source_common import PlatformInstanceConfigMixin
30
28
  from datahub.emitter.mcp import MetadataChangeProposalWrapper
31
- from datahub.emitter.mcp_builder import mcps_from_mce
32
29
  from datahub.ingestion.api.auto_work_units.auto_dataset_properties_aspect import (
33
30
  auto_patch_last_modified,
34
31
  )
@@ -37,7 +34,7 @@ from datahub.ingestion.api.auto_work_units.auto_ensure_aspect_size import (
37
34
  )
38
35
  from datahub.ingestion.api.closeable import Closeable
39
36
  from datahub.ingestion.api.common import PipelineContext, RecordEnvelope, WorkUnit
40
- from datahub.ingestion.api.report import Report
37
+ from datahub.ingestion.api.report import ExamplesReport, Report
41
38
  from datahub.ingestion.api.source_helpers import (
42
39
  AutoSystemMetadata,
43
40
  auto_browse_path_v2,
@@ -50,9 +47,8 @@ from datahub.ingestion.api.source_helpers import (
50
47
  auto_workunit_reporter,
51
48
  )
52
49
  from datahub.ingestion.api.workunit import MetadataWorkUnit
53
- from datahub.metadata.com.linkedin.pegasus2avro.mxe import MetadataChangeEvent
54
- from datahub.metadata.schema_classes import UpstreamLineageClass
55
50
  from datahub.sdk.entity import Entity
51
+ from datahub.telemetry import stats
56
52
  from datahub.utilities.lossy_collections import LossyDict, LossyList
57
53
  from datahub.utilities.type_annotations import get_class_from_annotation
58
54
 
@@ -191,20 +187,11 @@ class StructuredLogs(Report):
191
187
 
192
188
 
193
189
  @dataclass
194
- class SourceReport(Report):
190
+ class SourceReport(ExamplesReport):
195
191
  event_not_produced_warn: bool = True
196
192
  events_produced: int = 0
197
193
  events_produced_per_sec: int = 0
198
194
 
199
- _urns_seen: Set[str] = field(default_factory=set)
200
- entities: Dict[str, list] = field(default_factory=lambda: defaultdict(LossyList))
201
- aspects: Dict[str, Dict[str, int]] = field(
202
- default_factory=lambda: defaultdict(lambda: defaultdict(int))
203
- )
204
- aspect_urn_samples: Dict[str, Dict[str, LossyList[str]]] = field(
205
- default_factory=lambda: defaultdict(lambda: defaultdict(LossyList))
206
- )
207
-
208
195
  _structured_logs: StructuredLogs = field(default_factory=StructuredLogs)
209
196
 
210
197
  @property
@@ -221,34 +208,10 @@ class SourceReport(Report):
221
208
 
222
209
  def report_workunit(self, wu: WorkUnit) -> None:
223
210
  self.events_produced += 1
211
+ if not isinstance(wu, MetadataWorkUnit):
212
+ return
224
213
 
225
- if isinstance(wu, MetadataWorkUnit):
226
- urn = wu.get_urn()
227
-
228
- # Specialized entity reporting.
229
- if not isinstance(wu.metadata, MetadataChangeEvent):
230
- mcps = [wu.metadata]
231
- else:
232
- mcps = list(mcps_from_mce(wu.metadata))
233
-
234
- for mcp in mcps:
235
- entityType = mcp.entityType
236
- aspectName = mcp.aspectName
237
-
238
- if urn not in self._urns_seen:
239
- self._urns_seen.add(urn)
240
- self.entities[entityType].append(urn)
241
-
242
- if aspectName is not None: # usually true
243
- self.aspects[entityType][aspectName] += 1
244
- self.aspect_urn_samples[entityType][aspectName].append(urn)
245
- if isinstance(mcp.aspect, UpstreamLineageClass):
246
- upstream_lineage = cast(UpstreamLineageClass, mcp.aspect)
247
- if upstream_lineage.fineGrainedLineages:
248
- self.aspect_urn_samples[entityType][
249
- "fineGrainedLineages"
250
- ].append(urn)
251
- self.aspects[entityType]["fineGrainedLineages"] += 1
214
+ super()._store_workunit_data(wu)
252
215
 
253
216
  def report_warning(
254
217
  self,
@@ -327,6 +290,7 @@ class SourceReport(Report):
327
290
  )
328
291
 
329
292
  def __post_init__(self) -> None:
293
+ super().__post_init__()
330
294
  self.start_time = datetime.datetime.now()
331
295
  self.running_time: datetime.timedelta = datetime.timedelta(seconds=0)
332
296
 
@@ -339,6 +303,43 @@ class SourceReport(Report):
339
303
  "infos": Report.to_pure_python_obj(self.infos),
340
304
  }
341
305
 
306
+ @staticmethod
307
+ def _discretize_dict_values(
308
+ nested_dict: Dict[str, Dict[str, int]],
309
+ ) -> Dict[str, Dict[str, int]]:
310
+ """Helper method to discretize values in a nested dictionary structure."""
311
+ result = {}
312
+ for outer_key, inner_dict in nested_dict.items():
313
+ discretized_dict: Dict[str, int] = {}
314
+ for inner_key, count in inner_dict.items():
315
+ discretized_dict[inner_key] = stats.discretize(count)
316
+ result[outer_key] = discretized_dict
317
+ return result
318
+
319
+ def get_aspects_dict(self) -> Dict[str, Dict[str, int]]:
320
+ """Convert the nested defaultdict aspects to a regular dict for serialization."""
321
+ return self._discretize_dict_values(self.aspects)
322
+
323
+ def get_aspects_by_subtypes_dict(self) -> Dict[str, Dict[str, Dict[str, int]]]:
324
+ """Get aspect counts grouped by entity type and subtype."""
325
+ return self._discretize_dict_values_nested(self.aspects_by_subtypes)
326
+
327
+ @staticmethod
328
+ def _discretize_dict_values_nested(
329
+ nested_dict: Dict[str, Dict[str, Dict[str, int]]],
330
+ ) -> Dict[str, Dict[str, Dict[str, int]]]:
331
+ """Helper method to discretize values in a nested dictionary structure with three levels."""
332
+ result = {}
333
+ for outer_key, middle_dict in nested_dict.items():
334
+ discretized_middle_dict: Dict[str, Dict[str, int]] = {}
335
+ for middle_key, inner_dict in middle_dict.items():
336
+ discretized_inner_dict: Dict[str, int] = {}
337
+ for inner_key, count in inner_dict.items():
338
+ discretized_inner_dict[inner_key] = stats.discretize(count)
339
+ discretized_middle_dict[middle_key] = discretized_inner_dict
340
+ result[outer_key] = discretized_middle_dict
341
+ return result
342
+
342
343
  def compute_stats(self) -> None:
343
344
  super().compute_stats()
344
345
 
@@ -505,7 +506,7 @@ class Source(Closeable, metaclass=ABCMeta):
505
506
  pass
506
507
 
507
508
  def close(self) -> None:
508
- pass
509
+ self.get_report().close()
509
510
 
510
511
  def _infer_platform(self) -> Optional[str]:
511
512
  config = self.get_config()