acryl-datahub 0.15.0.2rc2__py3-none-any.whl → 0.15.0.2rc4__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 (44) hide show
  1. {acryl_datahub-0.15.0.2rc2.dist-info → acryl_datahub-0.15.0.2rc4.dist-info}/METADATA +2333 -2333
  2. {acryl_datahub-0.15.0.2rc2.dist-info → acryl_datahub-0.15.0.2rc4.dist-info}/RECORD +44 -44
  3. datahub/__init__.py +1 -1
  4. datahub/api/entities/structuredproperties/structuredproperties.py +12 -1
  5. datahub/cli/specific/structuredproperties_cli.py +84 -0
  6. datahub/ingestion/api/source.py +2 -0
  7. datahub/ingestion/graph/client.py +4 -2
  8. datahub/ingestion/source/aws/glue.py +14 -1
  9. datahub/ingestion/source/aws/s3_util.py +24 -1
  10. datahub/ingestion/source/bigquery_v2/bigquery.py +31 -33
  11. datahub/ingestion/source/bigquery_v2/bigquery_report.py +0 -3
  12. datahub/ingestion/source/bigquery_v2/bigquery_schema_gen.py +11 -11
  13. datahub/ingestion/source/bigquery_v2/lineage.py +7 -7
  14. datahub/ingestion/source/bigquery_v2/usage.py +57 -57
  15. datahub/ingestion/source/cassandra/cassandra_profiling.py +24 -24
  16. datahub/ingestion/source/cassandra/cassandra_utils.py +0 -3
  17. datahub/ingestion/source/datahub/config.py +6 -0
  18. datahub/ingestion/source/datahub/datahub_source.py +12 -2
  19. datahub/ingestion/source/dremio/dremio_reporting.py +0 -3
  20. datahub/ingestion/source/dremio/dremio_source.py +2 -2
  21. datahub/ingestion/source/gc/datahub_gc.py +10 -14
  22. datahub/ingestion/source/gc/execution_request_cleanup.py +31 -6
  23. datahub/ingestion/source/gc/soft_deleted_entity_cleanup.py +14 -1
  24. datahub/ingestion/source/looker/looker_config.py +8 -3
  25. datahub/ingestion/source/powerbi_report_server/report_server.py +1 -1
  26. datahub/ingestion/source/redshift/redshift.py +32 -34
  27. datahub/ingestion/source/redshift/usage.py +29 -29
  28. datahub/ingestion/source/s3/source.py +10 -14
  29. datahub/ingestion/source/snowflake/snowflake_report.py +0 -3
  30. datahub/ingestion/source/snowflake/snowflake_schema_gen.py +18 -16
  31. datahub/ingestion/source/snowflake/snowflake_usage_v2.py +46 -47
  32. datahub/ingestion/source/snowflake/snowflake_v2.py +38 -39
  33. datahub/ingestion/source/sql/teradata.py +2 -2
  34. datahub/ingestion/source/tableau/tableau.py +119 -31
  35. datahub/ingestion/source/unity/source.py +71 -71
  36. datahub/ingestion/source_report/ingestion_stage.py +24 -20
  37. datahub/metadata/_schema_classes.py +2 -2
  38. datahub/metadata/_urns/urn_defs.py +15 -15
  39. datahub/metadata/schemas/DataFlowKey.avsc +1 -0
  40. datahub/metadata/schemas/DataJobKey.avsc +1 -0
  41. datahub/utilities/perf_timer.py +11 -6
  42. {acryl_datahub-0.15.0.2rc2.dist-info → acryl_datahub-0.15.0.2rc4.dist-info}/WHEEL +0 -0
  43. {acryl_datahub-0.15.0.2rc2.dist-info → acryl_datahub-0.15.0.2rc4.dist-info}/entry_points.txt +0 -0
  44. {acryl_datahub-0.15.0.2rc2.dist-info → acryl_datahub-0.15.0.2rc4.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,4 @@
1
- datahub/__init__.py,sha256=RIZACzdo76HDJUSxMhtInCcOAu85CL1Blpo_mAXUajA,576
1
+ datahub/__init__.py,sha256=p_vuZBTCmvG7HqtMpeL-FQZeXWYJszD5ZoagGWD4_-w,576
2
2
  datahub/__main__.py,sha256=pegIvQ9hzK7IhqVeUi1MeADSZ2QlP-D3K0OQdEg55RU,106
3
3
  datahub/entrypoints.py,sha256=3-qSfXAx3Z0FEkBV5tlO8fQr4xk4ySeDRMVTpS5Xd6A,7793
4
4
  datahub/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -52,7 +52,7 @@ datahub/api/entities/forms/forms_graphql_constants.py,sha256=DKpnKlMKTjmnyrCTvp6
52
52
  datahub/api/entities/platformresource/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
53
53
  datahub/api/entities/platformresource/platform_resource.py,sha256=pVAjv6NoH746Mfvdak7ji0eqlEcEeV-Ji7M5gyNXmds,10603
54
54
  datahub/api/entities/structuredproperties/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
- datahub/api/entities/structuredproperties/structuredproperties.py,sha256=wtIt-zqW8_PamvSPpRR28tKkiOAZ7ME3lufoaTeGnlU,8116
55
+ datahub/api/entities/structuredproperties/structuredproperties.py,sha256=S3rtXXluFrrkBFascWY6o7tJ4qlYTZuW4Fbj0idJ7uA,8514
56
56
  datahub/api/graphql/__init__.py,sha256=5yl0dJxO-2d_QuykdJrDIbWq4ja9bo0t2dAEh89JOog,142
57
57
  datahub/api/graphql/assertion.py,sha256=ponITypRQ8vE8kiqRNpvdoniNJzi4aeBK97UvkF0VhA,2818
58
58
  datahub/api/graphql/base.py,sha256=9q637r6v-RGOd8Mk8HW2g0vt9zpqFexsQ5R6TPEHVbs,1614
@@ -85,7 +85,7 @@ datahub/cli/specific/dataset_cli.py,sha256=AwSmIiuV3XbgprW4_1Wj-EJq1OPqFyolSNczQ
85
85
  datahub/cli/specific/file_loader.py,sha256=YMyv_evdKyHSft5Tm_kOcqJ4ALpRmMm54ZJAyl7Nxqs,773
86
86
  datahub/cli/specific/forms_cli.py,sha256=OLVeG8NtK1eDBuUKCT5Ald35np8__f8mLzbZM_zUfWU,1484
87
87
  datahub/cli/specific/group_cli.py,sha256=xPUYk48VbVXLMj-z9VNW0RZzXOe4rQsc2jLwSOGCoec,1967
88
- datahub/cli/specific/structuredproperties_cli.py,sha256=qP7kHpN7y3cOR0IGZkD4PGlRzFqLdXqZ6yrbCKVmG8M,1937
88
+ datahub/cli/specific/structuredproperties_cli.py,sha256=Rb06XJKxqda5RSUo188B90Wn5dvq8BeIL1mnw7x07zY,5583
89
89
  datahub/cli/specific/user_cli.py,sha256=jGAokb1NRu8obs6P2g4OL2NQdFgpUBa9De55TBBtun0,1897
90
90
  datahub/configuration/__init__.py,sha256=5TN3a7CWNsLRHpdj-sv2bxKWF2IslvJwE6EpNMFrIS4,123
91
91
  datahub/configuration/_config_enum.py,sha256=ul2hr5gMmdLvBINicFkMNMi1ApmnmZSwNdUYYted5nk,1447
@@ -138,7 +138,7 @@ datahub/ingestion/api/registry.py,sha256=LGElUdzhNQoEr-k2SN23mJaIYnA1PYfF97LQxBm
138
138
  datahub/ingestion/api/report.py,sha256=zb5Y_9ogmWm00KqX7_64sIMT24Wfpk7txRwEfKacw5I,4652
139
139
  datahub/ingestion/api/report_helpers.py,sha256=WbUC1kQeaKqIagGV3XzfPmPs7slAT1mfNY4og2BH2A8,994
140
140
  datahub/ingestion/api/sink.py,sha256=3jw7-x9gXGreOPwn49wG5fT3C8pYhaNMQITdMN6kbag,4478
141
- datahub/ingestion/api/source.py,sha256=kSQ6AKDvLdFOIxaz9nPCmCSUsIMDdXHiOxzFiMdYN14,19001
141
+ datahub/ingestion/api/source.py,sha256=BSG-xBmkl4xS6ttxnwFJs0vrpQq07Ts8ZcILGZwy-UQ,19034
142
142
  datahub/ingestion/api/source_helpers.py,sha256=AVO0ogiCKgYmX1ubJaSs6L30TCCgOIalp6awXPF5XM0,19643
143
143
  datahub/ingestion/api/transform.py,sha256=X0GpjMJzYkLuZx8MTWxH50cWGm9rGsnn3k188mmC8J8,582
144
144
  datahub/ingestion/api/workunit.py,sha256=e8n8RfSjHZZm2R4ShNH0UuMtUkMjyqqM2j2t7oL74lo,6327
@@ -164,7 +164,7 @@ datahub/ingestion/glossary/classifier.py,sha256=zp8Fe3he80H5Zz1EwymKjThUPkTpw6Pg
164
164
  datahub/ingestion/glossary/classifier_registry.py,sha256=yFOYLQhDgCLqXYMG3L1BquXafeLcZDcmp8meyw6k9ts,307
165
165
  datahub/ingestion/glossary/datahub_classifier.py,sha256=8VhwuLDhyOqqOr0jqAPIgorb4eAOnvTr4m13Y2Wy1-E,7515
166
166
  datahub/ingestion/graph/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
167
- datahub/ingestion/graph/client.py,sha256=R50K7NmE3TYgVXvdLnvLZn7N0fkiCXOK0MoJz9ueglA,64963
167
+ datahub/ingestion/graph/client.py,sha256=tXAzgeUnNfawgKDwKZsAuSDP0zAkhTKQb07Y3gNksgY,65056
168
168
  datahub/ingestion/graph/config.py,sha256=_oha8Je7P80ZmrkZUAaRHyYbdMmTkMI5JkYjEP2Ri1Q,751
169
169
  datahub/ingestion/graph/connections.py,sha256=9462L0ZWGKURyypAln25eMPhK3pcufBar9tNDoqspXs,741
170
170
  datahub/ingestion/graph/filters.py,sha256=UeUZQHoimavIYx-jXLA0WGkOUe10TaO8uEZkfa-QgNE,6188
@@ -217,9 +217,9 @@ datahub/ingestion/source/abs/report.py,sha256=fzkTdTewYlWrTk4f2Cyl-e8RV4qw9wEVtm
217
217
  datahub/ingestion/source/abs/source.py,sha256=pzxW-R_cWGKPneEhX8JWdTZiX2k1kAZOPKgMxp9mAEI,24533
218
218
  datahub/ingestion/source/aws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
219
219
  datahub/ingestion/source/aws/aws_common.py,sha256=DfdQgkJ_s2isFx8WvqKTlAcBk4KE8SgfpmA5BgC3fgY,17716
220
- datahub/ingestion/source/aws/glue.py,sha256=lJW3QHHz1_SWqLEB-vUSTxSuL0EgUQ0ptdQns_NLNds,57343
220
+ datahub/ingestion/source/aws/glue.py,sha256=DcGZzaeY6hVa1wN74o6spNH1B6OFu_6Mn4uoRdlZa44,57647
221
221
  datahub/ingestion/source/aws/s3_boto_utils.py,sha256=Wyp9k9tapsCuw9dyH4FCXJr_wmeLaYFoCtKvrV6SEDk,3892
222
- datahub/ingestion/source/aws/s3_util.py,sha256=OFypcgmVC6jnZM90-gjcPpAMtTV1lbnreCaMhCzNlzs,2149
222
+ datahub/ingestion/source/aws/s3_util.py,sha256=pikTe9SuiKdN-TZ8eOhB0PYq0aUgUPDpxwtTLsVofRs,2834
223
223
  datahub/ingestion/source/aws/sagemaker.py,sha256=Bl2tkBYnrindgx61VHYgNovUF_Kp_fXNcivQn28vC2w,5254
224
224
  datahub/ingestion/source/aws/sagemaker_processors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
225
225
  datahub/ingestion/source/aws/sagemaker_processors/common.py,sha256=NvYfI8LHgDvhEZE7qp6qF1NSZ0_SQKhg3ivtdjsdpFg,2172
@@ -233,7 +233,7 @@ datahub/ingestion/source/azure/abs_folder_utils.py,sha256=7skXus-4fSIoKpqCeU-GG0
233
233
  datahub/ingestion/source/azure/abs_utils.py,sha256=KdAlCK-PMrn35kFHxz5vrsjajyx2PD5GRgoBKdoRvcg,2075
234
234
  datahub/ingestion/source/azure/azure_common.py,sha256=Zl0pPuE6L3QcM5B1P0LsPthZmD0h7fUUS0kg2okl6IY,4053
235
235
  datahub/ingestion/source/bigquery_v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
236
- datahub/ingestion/source/bigquery_v2/bigquery.py,sha256=c7g8sWuDIMhCSAX0D76P2arxZgTmzd-e0qlO7yt_zJY,13841
236
+ datahub/ingestion/source/bigquery_v2/bigquery.py,sha256=x8iYLJQk11MylslhQIlg45s7IKqMhWn9fa0GxFHxDuY,13948
237
237
  datahub/ingestion/source/bigquery_v2/bigquery_audit.py,sha256=IlbHA8a-gNJvnubgBfxVHpUk8rFNIG80gk5HWXa2lyE,25108
238
238
  datahub/ingestion/source/bigquery_v2/bigquery_audit_log_api.py,sha256=LuGJ6LgPViLIfDQfylxlQ3CA7fZYM5MDt8M-7sfzm84,5096
239
239
  datahub/ingestion/source/bigquery_v2/bigquery_config.py,sha256=sjCW997-Su14cVgWd1ZVx1E67yqfTIV5Wjp9Me0hfOw,26289
@@ -241,22 +241,22 @@ datahub/ingestion/source/bigquery_v2/bigquery_data_reader.py,sha256=DeT3v_Z82__8
241
241
  datahub/ingestion/source/bigquery_v2/bigquery_helper.py,sha256=QER3gY8e_k1_eNVj7cBso7ZzrWl_vO5PYSa6CpvqNx8,1554
242
242
  datahub/ingestion/source/bigquery_v2/bigquery_platform_resource_helper.py,sha256=8nuQ8hMuJEswWDZtV2RjbK8RvDJUzT_S74dnyPpGFdQ,4857
243
243
  datahub/ingestion/source/bigquery_v2/bigquery_queries.py,sha256=EoHo9twb0_QdX7Nvd1HJC1Yn0rqtrfR52EVk7Hu3XOQ,3296
244
- datahub/ingestion/source/bigquery_v2/bigquery_report.py,sha256=WxiLPFc7LwZXNDYfV9oySUD43kc2GcOf_pUokp3vFNM,8098
244
+ datahub/ingestion/source/bigquery_v2/bigquery_report.py,sha256=qH8k8wyMlUVzUTVhSd3FgOMGCK1D5NYuC0KF8tez_Ys,7957
245
245
  datahub/ingestion/source/bigquery_v2/bigquery_schema.py,sha256=E5GOx4NWjyZM0xzdpBlNXbvDdKNfW9UtS64XtCYFpzI,31809
246
- datahub/ingestion/source/bigquery_v2/bigquery_schema_gen.py,sha256=o2My5Q7ab39qHP3jjVFCQSErogGYb14s6397xHIZSqc,50568
246
+ datahub/ingestion/source/bigquery_v2/bigquery_schema_gen.py,sha256=8YvF_Frn43WfTzVAa1iKUx3MwdtFGd9S0aBfxi24gsY,50596
247
247
  datahub/ingestion/source/bigquery_v2/bigquery_test_connection.py,sha256=cATxwi5IPzj3BldRRAVcLqzSFmmYEPvqa7U0RFJbaAc,7645
248
248
  datahub/ingestion/source/bigquery_v2/common.py,sha256=Cxjf1a8ibkL_YRQeS0BqsjlyMgFJpaZ3iq_d7e8T8MQ,4030
249
- datahub/ingestion/source/bigquery_v2/lineage.py,sha256=LJqdkCR8H55b3txCVBM-cs1T5QWxSTimJ3ebSgtXjgI,44874
249
+ datahub/ingestion/source/bigquery_v2/lineage.py,sha256=bLbNc1kbgYdB47KJ2464F0qAPpkMBtYQ-T0Jj-6njyc,44891
250
250
  datahub/ingestion/source/bigquery_v2/profiler.py,sha256=8-yAoq8sX0E6VIwr75YbM8wITRNhGfxgte9BCeGNkMM,10681
251
251
  datahub/ingestion/source/bigquery_v2/queries.py,sha256=B2vJLZYfwM1J5JAckijKJTxLhDYA0yw3kfzj5oRQB5c,20151
252
252
  datahub/ingestion/source/bigquery_v2/queries_extractor.py,sha256=xLf-vCUAnNuDdTHghxJvPOyGeA_XLCW3r-xj-8cfn3Q,19528
253
- datahub/ingestion/source/bigquery_v2/usage.py,sha256=xHb-gsugshoyzwScOQ5DHxZhoA-K0e4EbfSeVTLs428,40543
253
+ datahub/ingestion/source/bigquery_v2/usage.py,sha256=nR5sIbtk8dMW8M_7rEY1vuguNQremtgFrD-w-MRxjlg,40746
254
254
  datahub/ingestion/source/cassandra/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
255
255
  datahub/ingestion/source/cassandra/cassandra.py,sha256=B1C_lvX3AyvnWJeMIgA0lfPAK2hpjDs9vXmj7ISFWHY,18717
256
256
  datahub/ingestion/source/cassandra/cassandra_api.py,sha256=pqWi2VXfmoTb1bll6_LEWFu6wLnPX_l7pQ1vbNN09V8,12350
257
257
  datahub/ingestion/source/cassandra/cassandra_config.py,sha256=vIMUOzazWTGi03B51vI0-YMxaMJHUGmCxJJgd8pKhC8,3791
258
- datahub/ingestion/source/cassandra/cassandra_profiling.py,sha256=Y1Gtb8QcXtdQaq1KDb-2LTbsmzinYpQ7HMmJXTyeij4,10968
259
- datahub/ingestion/source/cassandra/cassandra_utils.py,sha256=alZp0Pn-03nWKlFC121FmDrXPJG6TyPM4xMJKlhRRco,5232
258
+ datahub/ingestion/source/cassandra/cassandra_profiling.py,sha256=DkSIryZNwLei5PaKuu9fNEKxEbhIrPI-T9gaVoM87NQ,11063
259
+ datahub/ingestion/source/cassandra/cassandra_utils.py,sha256=h-y6pJRST-D3l-AXCvISsiZS3MH5ceQLhOuV0jWBShI,5095
260
260
  datahub/ingestion/source/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
261
261
  datahub/ingestion/source/common/data_reader.py,sha256=XbSxiRTYrk6seOz0ZjVjzSpGvP8lEjmqXrNI4cdYYmQ,1819
262
262
  datahub/ingestion/source/common/subtypes.py,sha256=zxBQkRxsG_XMMz6Pmw_yMQiuFOhapOFVUOtXw8yHz7Q,2287
@@ -265,11 +265,11 @@ datahub/ingestion/source/data_lake_common/config.py,sha256=qUk83B01hjuBKHvVz8SmX
265
265
  datahub/ingestion/source/data_lake_common/data_lake_utils.py,sha256=nxu7osuzqxScPFc-1ODA2M1c_xPNPpRH_SMMU7zKOIE,6212
266
266
  datahub/ingestion/source/data_lake_common/path_spec.py,sha256=u3u2eMe70V5vur-j8mYtupZdoeA2hSeK262Whdsc2YU,23506
267
267
  datahub/ingestion/source/datahub/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
268
- datahub/ingestion/source/datahub/config.py,sha256=xBAZJpcw25aMI2zHi2wXi21sAfdy1rlmbBq9tY3adV0,4304
268
+ datahub/ingestion/source/datahub/config.py,sha256=2_FRYjGpFprYHI73D7QJBxa4pLJOdTZe7hybd9jJM68,4618
269
269
  datahub/ingestion/source/datahub/datahub_api_reader.py,sha256=hlKADVEPoTFiRGKqRsMF5mL4fSu_IrIW8Nx7LpEzvkM,2134
270
270
  datahub/ingestion/source/datahub/datahub_database_reader.py,sha256=Rd61iHFhvrNmgzIk0jDDYxjxQUnEckbn1SKedoR5qic,8972
271
271
  datahub/ingestion/source/datahub/datahub_kafka_reader.py,sha256=gnxhhlK-jrfnHqD_4eVmfcdtBNW6pi1N_qkDZ7uSb3o,4187
272
- datahub/ingestion/source/datahub/datahub_source.py,sha256=5qGg_T0KJaO5WcvrsM0KM8_eTOjy0NvlMI4DUdIAiDo,8482
272
+ datahub/ingestion/source/datahub/datahub_source.py,sha256=LHT6VyFP4gHlyOrZHhP72qxgZFeofFukKFbFRI8mOuk,8726
273
273
  datahub/ingestion/source/datahub/report.py,sha256=VHBfCbwFRzdLdB7hQG9ST4EiZxl_vBCU0XxGcZR6Xxs,940
274
274
  datahub/ingestion/source/datahub/state.py,sha256=PZoT7sSK1wadVf5vN6phrgr7I6LL7ePP-EJjP1OO0bQ,3507
275
275
  datahub/ingestion/source/dbt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -289,8 +289,8 @@ datahub/ingestion/source/dremio/dremio_config.py,sha256=5SP66ewGYN0OnyWgpU33EZOm
289
289
  datahub/ingestion/source/dremio/dremio_datahub_source_mapping.py,sha256=-Fefw59tXR6QA8ifOz_mieDccMMG_vyQgp7j-BaXFHQ,3070
290
290
  datahub/ingestion/source/dremio/dremio_entities.py,sha256=3H3vIvj5ab4d8gmB9-rbZfwRgW87gT1DdjWiMjNgqJ4,15069
291
291
  datahub/ingestion/source/dremio/dremio_profiling.py,sha256=TAcnpo8ZRKhLDHnQSJzJg3YdwTSyEa73LUAzENs7wG4,12287
292
- datahub/ingestion/source/dremio/dremio_reporting.py,sha256=pYyEOAxiotyVySumY85Ql8vtGsne7B9sDrdqeVFnWLQ,1742
293
- datahub/ingestion/source/dremio/dremio_source.py,sha256=NJxDXWd19A3MPplPiLPAjxTmjeJBA04PcPytRSslmYQ,26323
292
+ datahub/ingestion/source/dremio/dremio_reporting.py,sha256=BvdQA_T-VXl9EjOmj-D2NlM9pXZ4UdKXKGRpYsk1Eqw,1607
293
+ datahub/ingestion/source/dremio/dremio_source.py,sha256=XMx3EP0ciIaQjMffNljp8w-G4zmUyCDlQ-ga9H6Z-i4,26330
294
294
  datahub/ingestion/source/dremio/dremio_sql_queries.py,sha256=W0rcXawlwJOHNYr5o73rilMijtFOO3cVkn6pY-JLc6o,8186
295
295
  datahub/ingestion/source/dynamodb/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
296
296
  datahub/ingestion/source/dynamodb/data_reader.py,sha256=vC77KpcP8LJN0g8wsPRDVw4sebv0ZWIP3tJkEIHaomA,3120
@@ -302,10 +302,10 @@ datahub/ingestion/source/fivetran/fivetran.py,sha256=uKbM5czPz-6LOseoh1FwavWDIuL
302
302
  datahub/ingestion/source/fivetran/fivetran_log_api.py,sha256=EAak3hJpe75WZSgz6wP_CyAT5Cian2N4a-lb8x1NKHk,12776
303
303
  datahub/ingestion/source/fivetran/fivetran_query.py,sha256=vLrTj7e-0NxZ2U4bWTB57pih42WirqPlUvwtIRfStlQ,5275
304
304
  datahub/ingestion/source/gc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
305
- datahub/ingestion/source/gc/datahub_gc.py,sha256=W6uoeV7B4WIXdxT4tOEdDksdJm656WwwvkH79L7f_8Q,12969
305
+ datahub/ingestion/source/gc/datahub_gc.py,sha256=6O-TxU2uCJ1Y8NNzJDufUd3ymapo--E3hTeIuy_QDtY,12763
306
306
  datahub/ingestion/source/gc/dataprocess_cleanup.py,sha256=86Tm3NNWMf0xM4TklNIEeNOjEingKpYy-XvCPeaAb4k,17125
307
- datahub/ingestion/source/gc/execution_request_cleanup.py,sha256=9jsyCIspWSSYSAVPHjKHr05885rXxM6FCH7KzTBceic,10139
308
- datahub/ingestion/source/gc/soft_deleted_entity_cleanup.py,sha256=zRtgC_AcZui4qGf9jBASI3R-CrYZxNe3Pm-gNSLT3rw,11420
307
+ datahub/ingestion/source/gc/execution_request_cleanup.py,sha256=VbZ-Xzryl5TMRapu7nlxlsXS8T8lFZcHK9AJnEadJ8Q,11111
308
+ datahub/ingestion/source/gc/soft_deleted_entity_cleanup.py,sha256=PTx1XmD4Jv9SzXzHqUbFpT3vKGCtkD01MeBUaq1p4no,12083
309
309
  datahub/ingestion/source/gcs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
310
310
  datahub/ingestion/source/gcs/gcs_source.py,sha256=iwvj4JwjyVWRP1Vq106sUtQhh0GuOYVSu9zCa1wCZN0,6189
311
311
  datahub/ingestion/source/gcs/gcs_utils.py,sha256=_78KM863XXgkVLmZLtYGF5PJNnZas1go-XRtOq-79lo,1047
@@ -331,7 +331,7 @@ datahub/ingestion/source/kafka_connect/source_connectors.py,sha256=_765fSMDAWAe0
331
331
  datahub/ingestion/source/looker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
332
332
  datahub/ingestion/source/looker/lkml_patched.py,sha256=XShEU7Wbz0DubDhYMjKf9wjKZrBJa2XPg9MIjp8rPhk,733
333
333
  datahub/ingestion/source/looker/looker_common.py,sha256=KObx5ZTfldN2EO11eb1LrHI-KjWHcFoe8n_XcvzuFFU,62047
334
- datahub/ingestion/source/looker/looker_config.py,sha256=87WAgdJ_QWdTq25RBwgIqfc2kq7dubSpzbEtXb2ihMw,13182
334
+ datahub/ingestion/source/looker/looker_config.py,sha256=MaBmz9ao0B_AN4SmvXuAAFMV6HgBuTtObkmdIYaaAQI,13584
335
335
  datahub/ingestion/source/looker/looker_connection.py,sha256=yDmC6lDsHmL2e_Pw8ULylwOIHPWPp_6gT1iyLvD0fTw,2075
336
336
  datahub/ingestion/source/looker/looker_constant.py,sha256=GMKYtNXlpojPxa9azridKfcGLSJwKdUCTesp7U8dIrQ,402
337
337
  datahub/ingestion/source/looker/looker_dataclasses.py,sha256=LjrP5m_A4HV-XeFlSNGVYNuyF0ulxp_qwB82Ss4Iycs,12200
@@ -376,7 +376,7 @@ datahub/ingestion/source/powerbi/rest_api_wrapper/profiling_utils.py,sha256=bgcP
376
376
  datahub/ingestion/source/powerbi/rest_api_wrapper/query.py,sha256=VNw1Uvli6g0pnu9FpigYmnCdEPbVEipz7vdZU_WmHf4,616
377
377
  datahub/ingestion/source/powerbi_report_server/__init__.py,sha256=N9fGcrHXBbuPmx9rpGjd_jkMC3smXmfiwISDP1QZapk,324
378
378
  datahub/ingestion/source/powerbi_report_server/constants.py,sha256=i_hXcvPHjwk3VpTT5ef7s8dN9F6pJzPyRUiG5UzCCYI,3544
379
- datahub/ingestion/source/powerbi_report_server/report_server.py,sha256=lW7Xtdw8SlZRo2njvg4o5h7mdflxlGzovGCPjPUvmaU,20162
379
+ datahub/ingestion/source/powerbi_report_server/report_server.py,sha256=Xsvu_FeteYNyLW_U0pER94-zQLLGUzU5tUEkhsLTQ2Y,20176
380
380
  datahub/ingestion/source/powerbi_report_server/report_server_domain.py,sha256=bBYr9fz4zPEFeZZOkldzKm4SBMQdisdp-MMtaYI0n3s,11783
381
381
  datahub/ingestion/source/profiling/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
382
382
  datahub/ingestion/source/profiling/common.py,sha256=4sZ58AeBV64KRfKAgjkg-UyNjAc3YERahQMmW4algAw,1426
@@ -393,17 +393,17 @@ datahub/ingestion/source/redshift/lineage.py,sha256=bUy0uJowrqSc33Z50fIxFlJkyhe-
393
393
  datahub/ingestion/source/redshift/lineage_v2.py,sha256=OcVW_27sSaZOYZPTd2j-LS9SzFQ1kXz6cMzM2ZDWhJQ,16751
394
394
  datahub/ingestion/source/redshift/profile.py,sha256=T4H79ycq2tPobLM1tTLRtu581Qa8LlKxEok49m0AirU,4294
395
395
  datahub/ingestion/source/redshift/query.py,sha256=bY1D9RoOHaw89LgcXal7GYlJN0RG7PxXRRC-YKIdC8E,43105
396
- datahub/ingestion/source/redshift/redshift.py,sha256=1SZmexnJIc7deGMsduZ0CB4N3Y59cHpxVY0ThHGLKcw,44428
396
+ datahub/ingestion/source/redshift/redshift.py,sha256=WR4IKGgcomSh8tYD0GigGyM6Z_Ar4bV3p5Ex74RnGkU,44409
397
397
  datahub/ingestion/source/redshift/redshift_data_reader.py,sha256=zc69jwXHdF-w8J4Hq-ZQ6BjHQ75Ij2iNDMpoRJlcmlU,1724
398
398
  datahub/ingestion/source/redshift/redshift_schema.py,sha256=9IYeUsnISenq3eVB3k-s7zK8nInWDAYViFnDrNjtkb0,19149
399
399
  datahub/ingestion/source/redshift/report.py,sha256=M19aUHBkd9n-BVBX4fRhyRNdVkN2b9Es6ZqInRx5ZGI,2958
400
- datahub/ingestion/source/redshift/usage.py,sha256=1Zqa_1OQYRI1l-5cHfk-VW2ik1A2AuL3_wjJDuFGBzs,17373
400
+ datahub/ingestion/source/redshift/usage.py,sha256=9ONBu8wpNuatqX8pWPCZDWH8mOK8MBYHFMECNs8Rk7g,17453
401
401
  datahub/ingestion/source/s3/__init__.py,sha256=HjqFPj11WtNFZM3kcVshlDb7kOsc19-l_3LM8PBjlJM,56
402
402
  datahub/ingestion/source/s3/config.py,sha256=Zs1nrBZKLImteZreIcSMMRLj8vBGgxakNDs96xf8g44,7847
403
403
  datahub/ingestion/source/s3/datalake_profiler_config.py,sha256=k7S9Xcmgr3-CvWrd5NEX-V8JSrcAwkm7vbHPTVZicow,3620
404
404
  datahub/ingestion/source/s3/profiling.py,sha256=yKNCKpr6w7qpCH-baeSkNE9VjkN6eBot_weD-2_Jxzk,17579
405
405
  datahub/ingestion/source/s3/report.py,sha256=fzkTdTewYlWrTk4f2Cyl-e8RV4qw9wEVtm0cdKD-Xgw,542
406
- datahub/ingestion/source/s3/source.py,sha256=USjq86vUU7hKYKi8bhplBhHOjvoQTgguy91uFE24rUI,47336
406
+ datahub/ingestion/source/s3/source.py,sha256=GXnyvMdr6dKaXdGros8GHEFwh1jwWiX3pKebvWxO2n8,47264
407
407
  datahub/ingestion/source/sac/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
408
408
  datahub/ingestion/source/sac/sac.py,sha256=zPSO9ukuyhvNaaVzeAYpA-_sFma_XMcCQMPaGvDWuTk,30226
409
409
  datahub/ingestion/source/sac/sac_common.py,sha256=-xQTDBtgH56AnpRXWGDnlmQqUuLRx-7wF1U1kQFWtX8,998
@@ -436,15 +436,15 @@ datahub/ingestion/source/snowflake/snowflake_lineage_v2.py,sha256=FBmiONx4EGHWV8
436
436
  datahub/ingestion/source/snowflake/snowflake_profiler.py,sha256=0DJiSwII6FY34urlBja2FW66NaVvhbBWmG0p7u8Xyrc,7548
437
437
  datahub/ingestion/source/snowflake/snowflake_queries.py,sha256=jTpnFWRqqFId6DKJvvAbNuFPxyNi1oQxxDUyMvh1iu4,26968
438
438
  datahub/ingestion/source/snowflake/snowflake_query.py,sha256=5po2FWz41UVowykJYbTFGxsltbmlHBCPcHG20VOhdOE,38469
439
- datahub/ingestion/source/snowflake/snowflake_report.py,sha256=_-rD7Q4MzKY8fYzJHSBnGX4gurwujL3UoRzcP_TZURs,6468
439
+ datahub/ingestion/source/snowflake/snowflake_report.py,sha256=9Jjrie9XhD1JsIL2Wgx6pVPCNi9HuuAg6nuS0OgbLoE,6331
440
440
  datahub/ingestion/source/snowflake/snowflake_schema.py,sha256=z5ZPgh-TILAz0DeIwDxRCsj980CM2BbftXiFpM1dV_Y,21674
441
- datahub/ingestion/source/snowflake/snowflake_schema_gen.py,sha256=3AxvKfK9WV9x2f2XNuJ-Cmy4szmXKm1Ky0haRVvyC6w,42340
441
+ datahub/ingestion/source/snowflake/snowflake_schema_gen.py,sha256=kWR_5WMUP24i79d-rvfED1S3ginBcd0T0VKjAVlm70c,42435
442
442
  datahub/ingestion/source/snowflake/snowflake_shares.py,sha256=maZyFkfrbVogEFM0tTKRiNp9c_1muv6YfleSd3q0umI,6341
443
443
  datahub/ingestion/source/snowflake/snowflake_summary.py,sha256=kTmuCtRnvHqM8WBYhWeK4XafJq3ssFL9kcS03jEeWT4,5506
444
444
  datahub/ingestion/source/snowflake/snowflake_tag.py,sha256=fyfWmFVz2WZrpTJWNIe9m0WpDHgeFrGPf8diORJZUwo,6212
445
- datahub/ingestion/source/snowflake/snowflake_usage_v2.py,sha256=0rXgz8bvRiI9SYVMa0UGLeg_DcjqBy6kQsdq0Uq0HVk,24685
445
+ datahub/ingestion/source/snowflake/snowflake_usage_v2.py,sha256=OI7MdARZcN1WjzRMF-hNIRSZyeVshlDVMD9Ga13W-SE,24846
446
446
  datahub/ingestion/source/snowflake/snowflake_utils.py,sha256=MoI8-DR9tuMuHMBQcpDo4GFjvcoQZWLNkdFZsTkgK-M,12786
447
- datahub/ingestion/source/snowflake/snowflake_v2.py,sha256=0doZaPPMO64Qi9uN4w8ZYe3gKkkieGJKI5xntF7vS6w,32020
447
+ datahub/ingestion/source/snowflake/snowflake_v2.py,sha256=kqhd2Pcn14KupIqmEEl4-HIzHHJyrWNB0Fv2T6e8XC8,32143
448
448
  datahub/ingestion/source/sql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
449
449
  datahub/ingestion/source/sql/athena.py,sha256=G3cIY8H_76lIUAzQWW2kLnZOEsfbakmojxbiHb3dYZ8,24059
450
450
  datahub/ingestion/source/sql/clickhouse.py,sha256=jzvaXP5Wr0SMhj2rtuvVE821xnfpKiXhO3cm0xblgHs,27299
@@ -467,7 +467,7 @@ datahub/ingestion/source/sql/sql_types.py,sha256=lrJpavRTE7aDVAKOrKZcrp4CsKydiia
467
467
  datahub/ingestion/source/sql/sql_utils.py,sha256=w9YFNm_qJNjOcWAWBI_lUoFMbd0wT8q0LoT7Ia71tIE,8100
468
468
  datahub/ingestion/source/sql/sqlalchemy_data_reader.py,sha256=FvHZ4JEK3aR2DYOBZiT_ZsAy12RjTu4t_KIR_92B11k,2644
469
469
  datahub/ingestion/source/sql/sqlalchemy_uri_mapper.py,sha256=KOpbmDIE2h1hyYEsbVHJi2B7FlsyUMTXZx4diyzltQg,1826
470
- datahub/ingestion/source/sql/teradata.py,sha256=_MXXFgaVJWKR9dgGNka-CpzKYy919yDdex2qSrqeVdE,32508
470
+ datahub/ingestion/source/sql/teradata.py,sha256=M2txTIttQPXDrQfBwFfhPGqwWCZb2ei2yjxxtSodP1w,32499
471
471
  datahub/ingestion/source/sql/trino.py,sha256=FEn_BQ3pm23hKx94ek5kk5IXGNYcBqZEhllRJFUzfU8,17895
472
472
  datahub/ingestion/source/sql/two_tier_sql_source.py,sha256=YDrGBb5WKVls6qv17QU5foKrf71SydzEltc3WsVAhQc,5732
473
473
  datahub/ingestion/source/sql/vertica.py,sha256=_9OgSgIgqBml0av063rb8nACiT3SAmzpw0ouyF91wv8,33382
@@ -491,7 +491,7 @@ datahub/ingestion/source/state_provider/datahub_ingestion_checkpointing_provider
491
491
  datahub/ingestion/source/state_provider/file_ingestion_checkpointing_provider.py,sha256=xsH7Ao_05VTjqpkzLkhdf5B1ULMzFoD8vkJJIJU9w-U,4077
492
492
  datahub/ingestion/source/state_provider/state_provider_registry.py,sha256=SVq4mIyGNmLXE9OZx1taOiNPqDoQp03-Ot9rYnB5F3k,401
493
493
  datahub/ingestion/source/tableau/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
494
- datahub/ingestion/source/tableau/tableau.py,sha256=KAwyM9XiJUXFPwuVQM7GcHntcTFxMFAN4j3xSIOMbgg,142010
494
+ datahub/ingestion/source/tableau/tableau.py,sha256=4j951dqCO68ywujGXc3yY5va08eCVfgIqJQiZFQ7I6Q,145895
495
495
  datahub/ingestion/source/tableau/tableau_common.py,sha256=a3Nu0Upy6_pnrd7XpSMcYHdnYca1JBW7H0jMqkYr0ME,26871
496
496
  datahub/ingestion/source/tableau/tableau_constant.py,sha256=ZcAeHsQUXVVL26ORly0ByZk_GJAFbxaKuJAlX_sYMac,2686
497
497
  datahub/ingestion/source/tableau/tableau_server_wrapper.py,sha256=nSyx9RzC6TCQDm-cTVJ657qT8iDwzk_8JMKpohhmOc4,1046
@@ -506,7 +506,7 @@ datahub/ingestion/source/unity/proxy.py,sha256=_6kCI7M4-26pZ9ZMGJUh6LwYmbGAZlnvc
506
506
  datahub/ingestion/source/unity/proxy_profiling.py,sha256=WLqvYP6MziaisA4LYL4T_GA-kPt6Xdde7bfaYsjYw40,9663
507
507
  datahub/ingestion/source/unity/proxy_types.py,sha256=qrvHiwPzl5cPX-KRvcIGGeJVdr0I8XUQmoAI6ErZ-v8,9371
508
508
  datahub/ingestion/source/unity/report.py,sha256=0Y-ciHVTI6ZKNCJ5zWoQh3Ze1c_GMqmTMKFwzXDuuOg,2788
509
- datahub/ingestion/source/unity/source.py,sha256=YdUPCMJtpmvYVnRNnpqb4BVowFobkLvSJ_K2gHwrvCI,41752
509
+ datahub/ingestion/source/unity/source.py,sha256=9Pgc2L3Uf_H0NETs7LbgijtjWDnnynGpZnm-0p7FXZI,41927
510
510
  datahub/ingestion/source/unity/usage.py,sha256=igRxYg8usukTAA229uJWi-0y-Zd0yOq9dEBi2k9f15o,11436
511
511
  datahub/ingestion/source/usage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
512
512
  datahub/ingestion/source/usage/clickhouse_usage.py,sha256=8nQqNAPKqivywjzsvqH0-HWFwjd4gECpw_xahLXk5ek,9970
@@ -517,7 +517,7 @@ datahub/ingestion/source_config/csv_enricher.py,sha256=IROxxfFJA56dHkmmbjjhb7h1p
517
517
  datahub/ingestion/source_config/operation_config.py,sha256=Q0NlqiEh4s4DFIII5NsAp5hxWTVyyJz-ldcQmH-B47s,3504
518
518
  datahub/ingestion/source_config/pulsar.py,sha256=sklDkh62CrWV-i7Ifh6R3T3smYVso6gyRJG8HVc6RdA,5533
519
519
  datahub/ingestion/source_report/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
520
- datahub/ingestion/source_report/ingestion_stage.py,sha256=gbYmnio3fAOsjh_RzU3j_5UGu7bYBwUM4bm7S8ID_IU,1649
520
+ datahub/ingestion/source_report/ingestion_stage.py,sha256=SU_FKFZhShZATLcFr735i_hWpdqNGdAWoZxh22p3P1k,1787
521
521
  datahub/ingestion/source_report/pulsar.py,sha256=iKhzy644AjoFTV-gxyqBoXKMLwSMPxJFxU-3WDQRww0,1037
522
522
  datahub/ingestion/source_report/time_window.py,sha256=9yI5l2S1DcF7ClvUHLeN8m62I5vlhV9k-aQqSZh2l7w,229
523
523
  datahub/ingestion/transformer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -566,12 +566,12 @@ datahub/lite/lite_registry.py,sha256=bpH0kasP-LtwwUFNA2QsOIehfekAYfJtN-AkQLmSWnw
566
566
  datahub/lite/lite_server.py,sha256=p9Oa2nNs65mqcssSIVOr7VOzWqfVstz6ZQEdT4f82S0,1949
567
567
  datahub/lite/lite_util.py,sha256=pgBpT3vTO1YCQ2njZRNyicSkHYeEmQCt41BaXU8WvMo,4503
568
568
  datahub/metadata/__init__.py,sha256=AjhXPjI6cnpdcrBRrE5gOWo15vv2TTl2ctU4UAnUN7A,238
569
- datahub/metadata/_schema_classes.py,sha256=IAWpWPxOeGmvmc96dapE0CySk1Rikbh-YieT-K9YTMY,964636
569
+ datahub/metadata/_schema_classes.py,sha256=gWKn2rcsptEOQn4wWc7rZyeyXvDf4v7Q2UbIr9oU6Cg,964662
570
570
  datahub/metadata/schema.avsc,sha256=CeVb_Z7k0e5kmeqDUXUW7JDL6KSKBCdfAZzqRI_mLZo,729869
571
571
  datahub/metadata/schema_classes.py,sha256=X5Jl5EaSxyHdXOQv14pJ5WkQALun4MRpJ4q12wVFE18,1299
572
572
  datahub/metadata/urns.py,sha256=nfrCTExR-k2P9w272WVtWSN3xW1VUJngPwP3xnvULjU,1217
573
573
  datahub/metadata/_urns/__init__.py,sha256=cOF3GHMDgPhmbLKbN02NPpuLGHSu0qNgQyBRv08eqF0,243
574
- datahub/metadata/_urns/urn_defs.py,sha256=gcUHCVwelD5aSuPgE1vmao242tQQiHe2m9kH8Fs1y1E,107287
574
+ datahub/metadata/_urns/urn_defs.py,sha256=UNmGpVCcFB9_mXuSA4V3xwD_WtHaJ8WHjLTtdP7ojoQ,107852
575
575
  datahub/metadata/com/__init__.py,sha256=gsAIuTxzfJdI7a9ybZlgMIHMAYksM1SxGxXjtySgKSc,202
576
576
  datahub/metadata/com/linkedin/__init__.py,sha256=gsAIuTxzfJdI7a9ybZlgMIHMAYksM1SxGxXjtySgKSc,202
577
577
  datahub/metadata/com/linkedin/events/__init__.py,sha256=s_dR0plZF-rOxxIbE8ojekJqwiHzl2WYR-Z3kW6kKS0,298
@@ -678,7 +678,7 @@ datahub/metadata/schemas/DataContractKey.avsc,sha256=Oceu7P26--E0812IFrX3RiEY0Kt
678
678
  datahub/metadata/schemas/DataContractProperties.avsc,sha256=RCxuJMlZwqEE0iHTpuXvcH6zRFoOt7ysQFPrJRp3RqE,4763
679
679
  datahub/metadata/schemas/DataContractStatus.avsc,sha256=5yvT43AIB13Dn_h0-4s7fsL7BTuXhkK5pi2KJug4_qg,1029
680
680
  datahub/metadata/schemas/DataFlowInfo.avsc,sha256=tDRTd1rA3v_7kwUVbQbb-cuo6D-t3pcuE4fiRz4D8f0,4682
681
- datahub/metadata/schemas/DataFlowKey.avsc,sha256=Dt4mywv7C7Co4Ui4W-2WyRaLk_QkKHopwa7hWiYXo-w,1304
681
+ datahub/metadata/schemas/DataFlowKey.avsc,sha256=4QVVgv4SICNkRMQbQjxGtSXuMHqlKEno9BgTstDxNvU,1323
682
682
  datahub/metadata/schemas/DataHubAccessTokenInfo.avsc,sha256=WS77M5w7GJFxUAiyXaxUvBqO0XFV2FnKPxXSXYbXHTE,1646
683
683
  datahub/metadata/schemas/DataHubAccessTokenKey.avsc,sha256=3EspNIxgb_I4WwV0a2o4NJOB5yODVr9J-wZzkZanEgo,483
684
684
  datahub/metadata/schemas/DataHubActionKey.avsc,sha256=bjiKcoyvUPQKaGUi2ICBMJ_ukwnt7dh0szJS4WBZE0A,448
@@ -705,7 +705,7 @@ datahub/metadata/schemas/DataHubViewInfo.avsc,sha256=U3fBIoG9ietLUpOknfQGNekqBdP
705
705
  datahub/metadata/schemas/DataHubViewKey.avsc,sha256=p53axIdSVbubo3r23Vpsed7NqRcQBMGveVikEHAVAok,424
706
706
  datahub/metadata/schemas/DataJobInfo.avsc,sha256=--obUbt_4X2paB39EeRKP13sBSiK-r0nq070EamoV1w,7212
707
707
  datahub/metadata/schemas/DataJobInputOutput.avsc,sha256=H1O8eAzZV34tvULdu67iBSWkdn08rt7wS208b8Nisbk,15268
708
- datahub/metadata/schemas/DataJobKey.avsc,sha256=4F3myS-O6n7AlUqTvCkMSFvsYAjVhUq6uaQVbqLoYdM,1583
708
+ datahub/metadata/schemas/DataJobKey.avsc,sha256=fVlqnz1Ljan3YKzDTrMRFD3z09Ge7Gqt4aor5K_AgkY,1602
709
709
  datahub/metadata/schemas/DataPlatformInfo.avsc,sha256=WGPFumBNHbR75vsLrivnRCbBc8vSCuxDw2UlylMieh4,2686
710
710
  datahub/metadata/schemas/DataPlatformInstance.avsc,sha256=SNd3v_YyyLaDflv8Rd5cQR9GrVuky_cDTkYM6FqJiM8,1058
711
711
  datahub/metadata/schemas/DataPlatformInstanceKey.avsc,sha256=sXUV5EMT6N-x8d6s8ebcJ5JdFIOsJCtiiU5Jtm-ncIk,800
@@ -924,7 +924,7 @@ datahub/utilities/openapi_utils.py,sha256=VNiNo1Pjvtn2MLShQ1vCjc27id7LmI-pnLdjlU
924
924
  datahub/utilities/ordered_set.py,sha256=p2DdvbD98ELTLCxgdZdOKQ50VnnMDKr3l9fmqCzu5g4,1135
925
925
  datahub/utilities/parsing_util.py,sha256=FrMJRgkJWoyPXmjtIfPT3fc886uA2i5_PqhplRDN3NI,598
926
926
  datahub/utilities/partition_executor.py,sha256=Fz2lH3vrUagLE63ZZSiQ4-WzO1bm_2SUPlS0cA0nkTc,20988
927
- datahub/utilities/perf_timer.py,sha256=HUGdu4JuI4mmRo5IlKiksvNHbEXri03TW7uGlWDBTSE,2896
927
+ datahub/utilities/perf_timer.py,sha256=qj68nBcZzjgxHONaAZRhQdDKqaVJFxeQRMnX6LbwHI8,3048
928
928
  datahub/utilities/prefix_batch_builder.py,sha256=ZAxXNh1QcrvdPUgRnjFRMFPJLznfJqsydXG7xueCS_c,2847
929
929
  datahub/utilities/progress_timer.py,sha256=w0b3wIEGL8fQy2BKYVPiKDcO5ATUlt1kQr74aG1TlxI,1152
930
930
  datahub/utilities/ratelimiter.py,sha256=6a058tTzydqK9gf0C2RR2iZZmh-mm4o3W0MMlDNfIoo,2201
@@ -986,8 +986,8 @@ datahub_provider/operators/datahub_assertion_operator.py,sha256=uvTQ-jk2F0sbqqxp
986
986
  datahub_provider/operators/datahub_assertion_sensor.py,sha256=lCBj_3x1cf5GMNpHdfkpHuyHfVxsm6ff5x2Z5iizcAo,140
987
987
  datahub_provider/operators/datahub_operation_operator.py,sha256=aevDp2FzX7FxGlXrR0khoHNbxbhKR2qPEX5e8O2Jyzw,174
988
988
  datahub_provider/operators/datahub_operation_sensor.py,sha256=8fcdVBCEPgqy1etTXgLoiHoJrRt_nzFZQMdSzHqSG7M,168
989
- acryl_datahub-0.15.0.2rc2.dist-info/METADATA,sha256=z37zis6V6zPyE7Sz_yUducbyoInH_TNOhVozZ0hNpOQ,173662
990
- acryl_datahub-0.15.0.2rc2.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
991
- acryl_datahub-0.15.0.2rc2.dist-info/entry_points.txt,sha256=xnPSPLK3bJGADxe4TDS4wL4u0FT_PGlahDa-ENYdYCQ,9512
992
- acryl_datahub-0.15.0.2rc2.dist-info/top_level.txt,sha256=iLjSrLK5ox1YVYcglRUkcvfZPvKlobBWx7CTUXx8_GI,25
993
- acryl_datahub-0.15.0.2rc2.dist-info/RECORD,,
989
+ acryl_datahub-0.15.0.2rc4.dist-info/METADATA,sha256=27j9HorUgTZCHO9ZGywLNkPIBkNDl5RHU6xVV_v5fpI,173662
990
+ acryl_datahub-0.15.0.2rc4.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
991
+ acryl_datahub-0.15.0.2rc4.dist-info/entry_points.txt,sha256=xnPSPLK3bJGADxe4TDS4wL4u0FT_PGlahDa-ENYdYCQ,9512
992
+ acryl_datahub-0.15.0.2rc4.dist-info/top_level.txt,sha256=iLjSrLK5ox1YVYcglRUkcvfZPvKlobBWx7CTUXx8_GI,25
993
+ acryl_datahub-0.15.0.2rc4.dist-info/RECORD,,
datahub/__init__.py CHANGED
@@ -3,7 +3,7 @@ import warnings
3
3
 
4
4
  # Published at https://pypi.org/project/acryl-datahub/.
5
5
  __package_name__ = "acryl-datahub"
6
- __version__ = "0.15.0.2rc2"
6
+ __version__ = "0.15.0.2rc4"
7
7
 
8
8
 
9
9
  def is_dev_mode() -> bool:
@@ -1,7 +1,7 @@
1
1
  import logging
2
2
  from enum import Enum
3
3
  from pathlib import Path
4
- from typing import List, Optional
4
+ from typing import Iterable, List, Optional
5
5
 
6
6
  import yaml
7
7
  from pydantic import validator
@@ -226,3 +226,14 @@ class StructuredProperties(ConfigModel):
226
226
  yaml.indent(mapping=2, sequence=4, offset=2)
227
227
  yaml.default_flow_style = False
228
228
  yaml.dump(self.dict(), fp)
229
+
230
+ @staticmethod
231
+ def list_urns(graph: DataHubGraph) -> Iterable[str]:
232
+ return graph.get_urns_by_filter(
233
+ entity_types=["structuredProperty"],
234
+ )
235
+
236
+ @staticmethod
237
+ def list(graph: DataHubGraph) -> Iterable["StructuredProperties"]:
238
+ for urn in StructuredProperties.list_urns(graph):
239
+ yield StructuredProperties.from_datahub(graph, urn)
@@ -1,9 +1,11 @@
1
1
  import json
2
2
  import logging
3
3
  from pathlib import Path
4
+ from typing import Iterable
4
5
 
5
6
  import click
6
7
  from click_default_group import DefaultGroup
8
+ from ruamel.yaml import YAML
7
9
 
8
10
  from datahub.api.entities.structuredproperties.structuredproperties import (
9
11
  StructuredProperties,
@@ -61,3 +63,85 @@ def get(urn: str, to_file: str) -> None:
61
63
  )
62
64
  else:
63
65
  click.secho(f"Structured property {urn} does not exist")
66
+
67
+
68
+ @properties.command(
69
+ name="list",
70
+ )
71
+ @click.option("--details/--no-details", is_flag=True, default=True)
72
+ @click.option("--to-file", required=False, type=str)
73
+ @telemetry.with_telemetry()
74
+ def list(details: bool, to_file: str) -> None:
75
+ """List structured properties in DataHub"""
76
+
77
+ def to_yaml_list(
78
+ objects: Iterable[StructuredProperties], # iterable of objects to dump
79
+ file: Path,
80
+ ) -> None:
81
+ # if file exists, first we read it
82
+ yaml = YAML(typ="rt") # default, if not specfied, is 'rt' (round-trip)
83
+ yaml.indent(mapping=2, sequence=4, offset=2)
84
+ yaml.default_flow_style = False
85
+ serialized_objects = []
86
+ if file.exists():
87
+ with open(file, "r") as fp:
88
+ existing_objects = yaml.load(fp) # this is a list of dicts
89
+ existing_objects = [
90
+ StructuredProperties.parse_obj(obj) for obj in existing_objects
91
+ ]
92
+ objects = [obj for obj in objects]
93
+ # do a positional update of the existing objects
94
+ existing_urns = {obj.urn for obj in existing_objects}
95
+ # existing_urns = {obj["urn"] if "urn" in obj else f"urn:li:structuredProperty:{obj['id']}" for obj in existing_objects}
96
+ for i, obj in enumerate(existing_objects):
97
+ # existing_urn = obj["urn"] if "urn" in obj else f"urn:li:structuredProperty:{obj['id']}"
98
+ existing_urn = obj.urn
99
+ # breakpoint()
100
+ if existing_urn in {obj.urn for obj in objects}:
101
+ existing_objects[i] = next(
102
+ obj.dict(exclude_unset=True, exclude_none=True)
103
+ for obj in objects
104
+ if obj.urn == existing_urn
105
+ )
106
+ new_objects = [
107
+ obj.dict(exclude_unset=True, exclude_none=True)
108
+ for obj in objects
109
+ if obj.urn not in existing_urns
110
+ ]
111
+ serialized_objects = existing_objects + new_objects
112
+ else:
113
+ serialized_objects = [
114
+ obj.dict(exclude_unset=True, exclude_none=True) for obj in objects
115
+ ]
116
+
117
+ with open(file, "w") as fp:
118
+ yaml.dump(serialized_objects, fp)
119
+
120
+ with get_default_graph() as graph:
121
+ if details:
122
+ logger.info(
123
+ "Listing structured properties with details. Use --no-details for urns only"
124
+ )
125
+ structuredproperties = StructuredProperties.list(graph)
126
+ if to_file:
127
+ to_yaml_list(structuredproperties, Path(to_file))
128
+ else:
129
+ for structuredproperty in structuredproperties:
130
+ click.secho(
131
+ f"{json.dumps(structuredproperty.dict(exclude_unset=True, exclude_none=True), indent=2)}"
132
+ )
133
+ else:
134
+ logger.info(
135
+ "Listing structured property urns only, use --details for more information"
136
+ )
137
+ structured_property_urns = StructuredProperties.list_urns(graph)
138
+ if to_file:
139
+ with open(to_file, "w") as f:
140
+ for urn in structured_property_urns:
141
+ f.write(f"{urn}\n")
142
+ click.secho(
143
+ f"Structured property urns written to {to_file}", fg="green"
144
+ )
145
+ else:
146
+ for urn in structured_property_urns:
147
+ click.secho(f"{urn}")
@@ -334,6 +334,8 @@ class SourceReport(Report):
334
334
  }
335
335
 
336
336
  def compute_stats(self) -> None:
337
+ super().compute_stats()
338
+
337
339
  duration = datetime.datetime.now() - self.start_time
338
340
  workunits_produced = self.events_produced
339
341
  if duration.total_seconds() > 0:
@@ -248,9 +248,11 @@ class DataHubGraph(DatahubRestEmitter):
248
248
  with DatahubRestSink(PipelineContext(run_id=run_id), sink_config) as sink:
249
249
  yield sink
250
250
  if sink.report.failures:
251
+ logger.error(
252
+ f"Failed to emit {len(sink.report.failures)} records\n{sink.report.as_string()}"
253
+ )
251
254
  raise OperationalError(
252
- f"Failed to emit {len(sink.report.failures)} records",
253
- info=sink.report.as_obj(),
255
+ f"Failed to emit {len(sink.report.failures)} records"
254
256
  )
255
257
 
256
258
  def emit_all(
@@ -248,6 +248,9 @@ class GlueSourceReport(StaleEntityRemovalSourceReport):
248
248
  "Enabled by default when stateful ingestion is turned on.",
249
249
  )
250
250
  @capability(SourceCapability.LINEAGE_COARSE, "Enabled by default")
251
+ @capability(
252
+ SourceCapability.LINEAGE_FINE, "Support via the `emit_s3_lineage` config field"
253
+ )
251
254
  class GlueSource(StatefulIngestionSourceBase):
252
255
  """
253
256
  Note: if you also have files in S3 that you'd like to ingest, we recommend you use Glue's built-in data catalog. See [here](../../../../docs/generated/ingestion/sources/s3.md) for a quick guide on how to set up a crawler on Glue and ingest the outputs with DataHub.
@@ -284,12 +287,22 @@ class GlueSource(StatefulIngestionSourceBase):
284
287
  "Action": [
285
288
  "glue:GetDataflowGraph",
286
289
  "glue:GetJobs",
290
+ "s3:GetObject",
287
291
  ],
288
292
  "Resource": "*"
289
293
  }
290
294
  ```
291
295
 
292
- plus `s3:GetObject` for the job script locations.
296
+ For profiling datasets, the following additional permissions are required:
297
+ ```json
298
+ {
299
+ "Effect": "Allow",
300
+ "Action": [
301
+ "glue:GetPartitions",
302
+ ],
303
+ "Resource": "*"
304
+ }
305
+ ```
293
306
 
294
307
  """
295
308
 
@@ -1,6 +1,11 @@
1
1
  import logging
2
2
  import os
3
- from typing import Optional
3
+ from collections import defaultdict
4
+ from typing import TYPE_CHECKING, Dict, Iterable, List, Optional
5
+
6
+ if TYPE_CHECKING:
7
+ from mypy_boto3_s3.service_resource import ObjectSummary
8
+
4
9
 
5
10
  S3_PREFIXES = ["s3://", "s3n://", "s3a://"]
6
11
 
@@ -68,3 +73,21 @@ def get_key_prefix(s3_uri: str) -> str:
68
73
  f"Not an S3 URI. Must start with one of the following prefixes: {str(S3_PREFIXES)}"
69
74
  )
70
75
  return strip_s3_prefix(s3_uri).split("/", maxsplit=1)[1]
76
+
77
+
78
+ def group_s3_objects_by_dirname(
79
+ s3_objects: Iterable["ObjectSummary"],
80
+ ) -> Dict[str, List["ObjectSummary"]]:
81
+ """
82
+ Groups S3 objects by their directory name.
83
+
84
+ If a s3_object in the root directory (i.e., s3://bucket/file.txt), it is grouped under '/'.
85
+ """
86
+ grouped_s3_objs = defaultdict(list)
87
+ for obj in s3_objects:
88
+ if "/" in obj.key:
89
+ dirname = obj.key.rsplit("/", 1)[0]
90
+ else:
91
+ dirname = "/"
92
+ grouped_s3_objs[dirname].append(obj)
93
+ return grouped_s3_objs
@@ -253,14 +253,14 @@ class BigqueryV2Source(StatefulIngestionSourceBase, TestableSource):
253
253
  for project in projects:
254
254
  yield from self.bq_schema_extractor.get_project_workunits(project)
255
255
 
256
- self.report.set_ingestion_stage("*", "View and Snapshot Lineage")
257
- yield from self.lineage_extractor.get_lineage_workunits_for_views_and_snapshots(
258
- [p.id for p in projects],
259
- self.bq_schema_extractor.view_refs_by_project,
260
- self.bq_schema_extractor.view_definitions,
261
- self.bq_schema_extractor.snapshot_refs_by_project,
262
- self.bq_schema_extractor.snapshots_by_ref,
263
- )
256
+ with self.report.new_stage("*: View and Snapshot Lineage"):
257
+ yield from self.lineage_extractor.get_lineage_workunits_for_views_and_snapshots(
258
+ [p.id for p in projects],
259
+ self.bq_schema_extractor.view_refs_by_project,
260
+ self.bq_schema_extractor.view_definitions,
261
+ self.bq_schema_extractor.snapshot_refs_by_project,
262
+ self.bq_schema_extractor.snapshots_by_ref,
263
+ )
264
264
 
265
265
  if self.config.use_queries_v2:
266
266
  # if both usage and lineage are disabled then skip queries extractor piece
@@ -270,31 +270,29 @@ class BigqueryV2Source(StatefulIngestionSourceBase, TestableSource):
270
270
  ):
271
271
  return
272
272
 
273
- self.report.set_ingestion_stage("*", QUERIES_EXTRACTION)
274
-
275
- with BigQueryQueriesExtractor(
276
- connection=self.config.get_bigquery_client(),
277
- schema_api=self.bq_schema_extractor.schema_api,
278
- config=BigQueryQueriesExtractorConfig(
279
- window=self.config,
280
- user_email_pattern=self.config.usage.user_email_pattern,
281
- include_lineage=self.config.include_table_lineage,
282
- include_usage_statistics=self.config.include_usage_statistics,
283
- include_operations=self.config.usage.include_operational_stats,
284
- include_queries=self.config.include_queries,
285
- include_query_usage_statistics=self.config.include_query_usage_statistics,
286
- top_n_queries=self.config.usage.top_n_queries,
287
- region_qualifiers=self.config.region_qualifiers,
288
- ),
289
- structured_report=self.report,
290
- filters=self.filters,
291
- identifiers=self.identifiers,
292
- schema_resolver=self.sql_parser_schema_resolver,
293
- discovered_tables=self.bq_schema_extractor.table_refs,
294
- ) as queries_extractor:
295
- self.report.queries_extractor = queries_extractor.report
296
- yield from queries_extractor.get_workunits_internal()
297
-
273
+ with self.report.new_stage(f"*: {QUERIES_EXTRACTION}"):
274
+ with BigQueryQueriesExtractor(
275
+ connection=self.config.get_bigquery_client(),
276
+ schema_api=self.bq_schema_extractor.schema_api,
277
+ config=BigQueryQueriesExtractorConfig(
278
+ window=self.config,
279
+ user_email_pattern=self.config.usage.user_email_pattern,
280
+ include_lineage=self.config.include_table_lineage,
281
+ include_usage_statistics=self.config.include_usage_statistics,
282
+ include_operations=self.config.usage.include_operational_stats,
283
+ include_queries=self.config.include_queries,
284
+ include_query_usage_statistics=self.config.include_query_usage_statistics,
285
+ top_n_queries=self.config.usage.top_n_queries,
286
+ region_qualifiers=self.config.region_qualifiers,
287
+ ),
288
+ structured_report=self.report,
289
+ filters=self.filters,
290
+ identifiers=self.identifiers,
291
+ schema_resolver=self.sql_parser_schema_resolver,
292
+ discovered_tables=self.bq_schema_extractor.table_refs,
293
+ ) as queries_extractor:
294
+ self.report.queries_extractor = queries_extractor.report
295
+ yield from queries_extractor.get_workunits_internal()
298
296
  else:
299
297
  if self.config.include_usage_statistics:
300
298
  yield from self.usage_extractor.get_usage_workunits(
@@ -190,6 +190,3 @@ class BigQueryV2Report(
190
190
  num_skipped_external_table_lineage: int = 0
191
191
 
192
192
  queries_extractor: Optional[BigQueryQueriesExtractorReport] = None
193
-
194
- def set_ingestion_stage(self, project_id: str, stage: str) -> None:
195
- self.report_ingestion_stage_start(f"{project_id}: {stage}")