acryl-datahub 0.15.0.2rc1__py3-none-any.whl → 0.15.0.2rc3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of acryl-datahub might be problematic. Click here for more details.
- {acryl_datahub-0.15.0.2rc1.dist-info → acryl_datahub-0.15.0.2rc3.dist-info}/METADATA +2469 -2459
- {acryl_datahub-0.15.0.2rc1.dist-info → acryl_datahub-0.15.0.2rc3.dist-info}/RECORD +34 -34
- {acryl_datahub-0.15.0.2rc1.dist-info → acryl_datahub-0.15.0.2rc3.dist-info}/WHEEL +1 -1
- datahub/__init__.py +1 -1
- datahub/api/entities/structuredproperties/structuredproperties.py +12 -1
- datahub/cli/specific/structuredproperties_cli.py +84 -0
- datahub/ingestion/api/source.py +2 -0
- datahub/ingestion/source/bigquery_v2/bigquery.py +31 -33
- datahub/ingestion/source/bigquery_v2/bigquery_report.py +0 -3
- datahub/ingestion/source/bigquery_v2/bigquery_schema_gen.py +11 -11
- datahub/ingestion/source/bigquery_v2/lineage.py +7 -7
- datahub/ingestion/source/bigquery_v2/usage.py +57 -57
- datahub/ingestion/source/cassandra/cassandra_profiling.py +24 -24
- datahub/ingestion/source/cassandra/cassandra_utils.py +0 -3
- datahub/ingestion/source/datahub/config.py +6 -0
- datahub/ingestion/source/datahub/datahub_source.py +12 -2
- datahub/ingestion/source/dremio/dremio_reporting.py +0 -3
- datahub/ingestion/source/dremio/dremio_source.py +2 -2
- datahub/ingestion/source/gc/datahub_gc.py +10 -14
- datahub/ingestion/source/looker/looker_config.py +8 -3
- datahub/ingestion/source/redshift/redshift.py +32 -34
- datahub/ingestion/source/redshift/usage.py +29 -29
- datahub/ingestion/source/snowflake/snowflake_report.py +0 -3
- datahub/ingestion/source/snowflake/snowflake_schema_gen.py +18 -16
- datahub/ingestion/source/snowflake/snowflake_usage_v2.py +46 -47
- datahub/ingestion/source/snowflake/snowflake_v2.py +38 -39
- datahub/ingestion/source/sql/teradata.py +2 -2
- datahub/ingestion/source/tableau/tableau.py +119 -31
- datahub/ingestion/source/unity/source.py +71 -71
- datahub/ingestion/source_report/ingestion_stage.py +24 -20
- datahub/utilities/file_backed_collections.py +1 -1
- datahub/utilities/perf_timer.py +11 -6
- {acryl_datahub-0.15.0.2rc1.dist-info → acryl_datahub-0.15.0.2rc3.dist-info}/entry_points.txt +0 -0
- {acryl_datahub-0.15.0.2rc1.dist-info → acryl_datahub-0.15.0.2rc3.dist-info}/top_level.txt +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
datahub/__init__.py,sha256=
|
|
1
|
+
datahub/__init__.py,sha256=qe2wpod5rnOz0vzxn9B60E8BhINzy_rYJpwuvpI0NW8,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=
|
|
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=
|
|
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=
|
|
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
|
|
@@ -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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
259
|
-
datahub/ingestion/source/cassandra/cassandra_utils.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
293
|
-
datahub/ingestion/source/dremio/dremio_source.py,sha256=
|
|
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,7 +302,7 @@ 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=
|
|
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
307
|
datahub/ingestion/source/gc/execution_request_cleanup.py,sha256=9jsyCIspWSSYSAVPHjKHr05885rXxM6FCH7KzTBceic,10139
|
|
308
308
|
datahub/ingestion/source/gc/soft_deleted_entity_cleanup.py,sha256=zRtgC_AcZui4qGf9jBASI3R-CrYZxNe3Pm-gNSLT3rw,11420
|
|
@@ -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=
|
|
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
|
|
@@ -393,11 +393,11 @@ 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=
|
|
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=
|
|
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
|
|
@@ -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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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
|
|
@@ -912,7 +912,7 @@ datahub/utilities/dedup_list.py,sha256=dUSpe1AajfuwlHVJKNv-CzDXSCkaw0HgSMOsxqUkQ
|
|
|
912
912
|
datahub/utilities/delayed_iter.py,sha256=XlsI0DCXkVVejFKOW_uMT0E8DTqqOHQN3Ooak4EcULE,645
|
|
913
913
|
datahub/utilities/delta.py,sha256=hkpF8W7Lvg2gUJBQR3mmIzOxsRQ6i5cchRPFlAVoV10,1128
|
|
914
914
|
datahub/utilities/docs_build.py,sha256=uFMK3z1d4BExpsrvguHunidbEDAzQ8hoOP7iQ0A_IVw,211
|
|
915
|
-
datahub/utilities/file_backed_collections.py,sha256=
|
|
915
|
+
datahub/utilities/file_backed_collections.py,sha256=T0Ck2QQFmws9XhPXA36UBT5d0Qw7INOBph-cqUDd9A0,21958
|
|
916
916
|
datahub/utilities/global_warning_util.py,sha256=adrEl3WhetQ-bymrPINjd976ZFndhbvk3QosUYGsos8,261
|
|
917
917
|
datahub/utilities/hive_schema_to_avro.py,sha256=2-7NI9haCAYbyUmHTb-QPxjn4WbmnDDKAIGmHJ11-1E,11622
|
|
918
918
|
datahub/utilities/is_pytest.py,sha256=2m9T4S9IIKhI5RfTqrB2ZmumzHocdxBHpM1HroWj2XQ,138
|
|
@@ -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=
|
|
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.
|
|
990
|
-
acryl_datahub-0.15.0.
|
|
991
|
-
acryl_datahub-0.15.0.
|
|
992
|
-
acryl_datahub-0.15.0.
|
|
993
|
-
acryl_datahub-0.15.0.
|
|
989
|
+
acryl_datahub-0.15.0.2rc3.dist-info/METADATA,sha256=OWdxPqF4pJ1N91lZlAy8xWSInWXiBRWM_T8YmesJsyo,173662
|
|
990
|
+
acryl_datahub-0.15.0.2rc3.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
991
|
+
acryl_datahub-0.15.0.2rc3.dist-info/entry_points.txt,sha256=xnPSPLK3bJGADxe4TDS4wL4u0FT_PGlahDa-ENYdYCQ,9512
|
|
992
|
+
acryl_datahub-0.15.0.2rc3.dist-info/top_level.txt,sha256=iLjSrLK5ox1YVYcglRUkcvfZPvKlobBWx7CTUXx8_GI,25
|
|
993
|
+
acryl_datahub-0.15.0.2rc3.dist-info/RECORD,,
|
datahub/__init__.py
CHANGED
|
@@ -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}")
|
datahub/ingestion/api/source.py
CHANGED
|
@@ -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.
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
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.
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
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}")
|
|
@@ -248,9 +248,9 @@ class BigQuerySchemaGenerator:
|
|
|
248
248
|
def get_project_workunits(
|
|
249
249
|
self, project: BigqueryProject
|
|
250
250
|
) -> Iterable[MetadataWorkUnit]:
|
|
251
|
-
self.report.
|
|
252
|
-
|
|
253
|
-
|
|
251
|
+
with self.report.new_stage(f"{project.id}: {METADATA_EXTRACTION}"):
|
|
252
|
+
logger.info(f"Processing project: {project.id}")
|
|
253
|
+
yield from self._process_project(project)
|
|
254
254
|
|
|
255
255
|
def get_dataplatform_instance_aspect(
|
|
256
256
|
self, dataset_urn: str, project_id: str
|
|
@@ -405,11 +405,11 @@ class BigQuerySchemaGenerator:
|
|
|
405
405
|
|
|
406
406
|
if self.config.is_profiling_enabled():
|
|
407
407
|
logger.info(f"Starting profiling project {project_id}")
|
|
408
|
-
self.report.
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
408
|
+
with self.report.new_stage(f"{project_id}: {PROFILING}"):
|
|
409
|
+
yield from self.profiler.get_workunits(
|
|
410
|
+
project_id=project_id,
|
|
411
|
+
tables=db_tables,
|
|
412
|
+
)
|
|
413
413
|
|
|
414
414
|
def _process_project_datasets(
|
|
415
415
|
self,
|
|
@@ -1203,9 +1203,9 @@ class BigQuerySchemaGenerator:
|
|
|
1203
1203
|
report=self.report,
|
|
1204
1204
|
)
|
|
1205
1205
|
|
|
1206
|
-
self.report.metadata_extraction_sec[
|
|
1207
|
-
|
|
1208
|
-
)
|
|
1206
|
+
self.report.metadata_extraction_sec[
|
|
1207
|
+
f"{project_id}.{dataset.name}"
|
|
1208
|
+
] = timer.elapsed_seconds(digits=2)
|
|
1209
1209
|
|
|
1210
1210
|
def get_core_table_details(
|
|
1211
1211
|
self, dataset_name: str, project_id: str, temp_table_dataset_prefix: str
|
|
@@ -330,11 +330,11 @@ class BigqueryLineageExtractor:
|
|
|
330
330
|
projects = ["*"] # project_id not used when using exported metadata
|
|
331
331
|
|
|
332
332
|
for project in projects:
|
|
333
|
-
self.report.
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
333
|
+
with self.report.new_stage(f"{project}: {LINEAGE_EXTRACTION}"):
|
|
334
|
+
yield from self.generate_lineage(
|
|
335
|
+
project,
|
|
336
|
+
table_refs,
|
|
337
|
+
)
|
|
338
338
|
|
|
339
339
|
if self.redundant_run_skip_handler:
|
|
340
340
|
# Update the checkpoint state for this run.
|
|
@@ -368,8 +368,8 @@ class BigqueryLineageExtractor:
|
|
|
368
368
|
self.report.lineage_metadata_entries[project_id] = len(lineage)
|
|
369
369
|
logger.info(f"Built lineage map containing {len(lineage)} entries.")
|
|
370
370
|
logger.debug(f"lineage metadata is {lineage}")
|
|
371
|
-
self.report.lineage_extraction_sec[project_id] =
|
|
372
|
-
|
|
371
|
+
self.report.lineage_extraction_sec[project_id] = timer.elapsed_seconds(
|
|
372
|
+
digits=2
|
|
373
373
|
)
|
|
374
374
|
self.report.lineage_mem_size[project_id] = humanfriendly.format_size(
|
|
375
375
|
memory_footprint.total_size(lineage)
|