acryl-datahub 1.2.0.10rc2__py3-none-any.whl → 1.2.0.10rc3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of acryl-datahub might be problematic. Click here for more details.
- {acryl_datahub-1.2.0.10rc2.dist-info → acryl_datahub-1.2.0.10rc3.dist-info}/METADATA +2594 -2594
- {acryl_datahub-1.2.0.10rc2.dist-info → acryl_datahub-1.2.0.10rc3.dist-info}/RECORD +21 -21
- datahub/_version.py +1 -1
- datahub/ingestion/source/looker/looker_common.py +54 -74
- datahub/ingestion/source/looker/looker_source.py +445 -548
- datahub/ingestion/source/superset.py +28 -2
- datahub/ingestion/source/tableau/tableau.py +48 -8
- datahub/ingestion/source/tableau/tableau_common.py +5 -0
- datahub/ingestion/source/tableau/tableau_constant.py +1 -0
- datahub/ingestion/source/tableau/tableau_server_wrapper.py +3 -0
- datahub/metadata/_internal_schema_classes.py +45 -1
- datahub/metadata/com/linkedin/pegasus2avro/common/__init__.py +2 -0
- datahub/metadata/schema.avsc +24 -1
- datahub/metadata/schemas/InstitutionalMemory.avsc +22 -0
- datahub/metadata/schemas/MLModelGroupKey.avsc +2 -1
- datahub/metadata/schemas/MetadataChangeEvent.avsc +22 -0
- datahub/sdk/dashboard.py +0 -2
- {acryl_datahub-1.2.0.10rc2.dist-info → acryl_datahub-1.2.0.10rc3.dist-info}/WHEEL +0 -0
- {acryl_datahub-1.2.0.10rc2.dist-info → acryl_datahub-1.2.0.10rc3.dist-info}/entry_points.txt +0 -0
- {acryl_datahub-1.2.0.10rc2.dist-info → acryl_datahub-1.2.0.10rc3.dist-info}/licenses/LICENSE +0 -0
- {acryl_datahub-1.2.0.10rc2.dist-info → acryl_datahub-1.2.0.10rc3.dist-info}/top_level.txt +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
acryl_datahub-1.2.0.
|
|
1
|
+
acryl_datahub-1.2.0.10rc3.dist-info/licenses/LICENSE,sha256=9xNHpsD0uYF5ONzXsKDCuHHB-xbiCrSbueWXqrTNsxk,11365
|
|
2
2
|
datahub/__init__.py,sha256=aq_i5lVREmoLfYIqcx_pEQicO855YlhD19tWc1eZZNI,59
|
|
3
3
|
datahub/__main__.py,sha256=pegIvQ9hzK7IhqVeUi1MeADSZ2QlP-D3K0OQdEg55RU,106
|
|
4
|
-
datahub/_version.py,sha256=
|
|
4
|
+
datahub/_version.py,sha256=VuL0cf5kSPWwJF2YoxiWA-UuOSPyWDPYeQVw6VxtPrk,324
|
|
5
5
|
datahub/entrypoints.py,sha256=9Qf-37rNnTzbGlx8S75OCDazIclFp6zWNcCEL1zCZto,9015
|
|
6
6
|
datahub/errors.py,sha256=p5rFAdAGVCk4Lqolol1YvthceadUSwpaCxLXRcyCCFQ,676
|
|
7
7
|
datahub/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -228,7 +228,7 @@ datahub/ingestion/source/redash.py,sha256=C4cDikWymbL88fDqaIPX5WA3f2sIEtH7bmhJKk
|
|
|
228
228
|
datahub/ingestion/source/salesforce.py,sha256=UttN3y4Ylbx_yCFCr-33wUEZFR48nTiYeUfOjGIFj2E,40872
|
|
229
229
|
datahub/ingestion/source/source_registry.py,sha256=a2mLjJPLkSI-gYCTb_7U7Jo4D8jGknNQ_yScPIihXFk,1208
|
|
230
230
|
datahub/ingestion/source/sql_queries.py,sha256=Zf6Y84WFCD-j0v4HdtcXshAPrtGq5InncXCjnLaAuS4,14657
|
|
231
|
-
datahub/ingestion/source/superset.py,sha256=
|
|
231
|
+
datahub/ingestion/source/superset.py,sha256=PH6YJZ4rXV2u43-MEapSurgO1joIge6-pklAivY-wzM,57903
|
|
232
232
|
datahub/ingestion/source/abs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
233
233
|
datahub/ingestion/source/abs/config.py,sha256=WW9JWbzqAJDblAcJKtNeuBHqOeJsB57lW2PqSD65-BU,6729
|
|
234
234
|
datahub/ingestion/source/abs/datalake_profiler_config.py,sha256=FfrcgK-JEF94vw-l3q6pN6FENXb-wZzW2w1VUZVkwW8,3620
|
|
@@ -383,7 +383,7 @@ datahub/ingestion/source/kafka_connect/sink_connectors.py,sha256=QTMY0FmOHkTxfIC
|
|
|
383
383
|
datahub/ingestion/source/kafka_connect/source_connectors.py,sha256=A9q-u5IoV35swvoyMrzT75FVV9-SBeYGhLKDYRge-IQ,23845
|
|
384
384
|
datahub/ingestion/source/looker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
385
385
|
datahub/ingestion/source/looker/lkml_patched.py,sha256=XShEU7Wbz0DubDhYMjKf9wjKZrBJa2XPg9MIjp8rPhk,733
|
|
386
|
-
datahub/ingestion/source/looker/looker_common.py,sha256=
|
|
386
|
+
datahub/ingestion/source/looker/looker_common.py,sha256=WOOOerQpngT7XkRPD2klOz-2K4_QqCL0hM2Gbs1EUko,67756
|
|
387
387
|
datahub/ingestion/source/looker/looker_config.py,sha256=eVKw1nn9D8hUFdRfNyT3MtzL8w-zWhFeokiwSnNKQuc,13607
|
|
388
388
|
datahub/ingestion/source/looker/looker_connection.py,sha256=yDmC6lDsHmL2e_Pw8ULylwOIHPWPp_6gT1iyLvD0fTw,2075
|
|
389
389
|
datahub/ingestion/source/looker/looker_constant.py,sha256=GMKYtNXlpojPxa9azridKfcGLSJwKdUCTesp7U8dIrQ,402
|
|
@@ -392,7 +392,7 @@ datahub/ingestion/source/looker/looker_file_loader.py,sha256=gb2Z97_w28MsybYe01J
|
|
|
392
392
|
datahub/ingestion/source/looker/looker_lib_wrapper.py,sha256=6smUt_Ya7ZJMHWdGZl3TnhM7XHZVpYQ6gz2i5hHejZ4,11547
|
|
393
393
|
datahub/ingestion/source/looker/looker_liquid_tag.py,sha256=27WnOuTghayaH-HL4lLoq0IcHvNm1UybMqMnoaxN8Cs,5383
|
|
394
394
|
datahub/ingestion/source/looker/looker_query_model.py,sha256=N0jBbFruiCIIGT6sJn6tNeppeQ78KGTkOwTLirhxFNc,2144
|
|
395
|
-
datahub/ingestion/source/looker/looker_source.py,sha256=
|
|
395
|
+
datahub/ingestion/source/looker/looker_source.py,sha256=a-G_73NWHD0YPDetT-Eyvq5KenJjqbmb-bV5JMOByNU,65048
|
|
396
396
|
datahub/ingestion/source/looker/looker_template_language.py,sha256=5fZFPKFP3IYbJg3jLifjaji4wWg8wRy-1XDvc8Qucus,17949
|
|
397
397
|
datahub/ingestion/source/looker/looker_usage.py,sha256=qFBX7OHtIcarYIqFe0jQMrDV8MMPV_nN4PZrZRUznTw,23029
|
|
398
398
|
datahub/ingestion/source/looker/looker_view_id_cache.py,sha256=92gDy6NONhJYBp92z_IBzDVZvezmUIkaBCZY1bdk6mE,4392
|
|
@@ -554,10 +554,10 @@ datahub/ingestion/source/state_provider/datahub_ingestion_checkpointing_provider
|
|
|
554
554
|
datahub/ingestion/source/state_provider/file_ingestion_checkpointing_provider.py,sha256=DziD57PbHn2Tcy51tYXCG-GQgyTGMUxnkuzVS_xihFY,4079
|
|
555
555
|
datahub/ingestion/source/state_provider/state_provider_registry.py,sha256=SVq4mIyGNmLXE9OZx1taOiNPqDoQp03-Ot9rYnB5F3k,401
|
|
556
556
|
datahub/ingestion/source/tableau/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
557
|
-
datahub/ingestion/source/tableau/tableau.py,sha256=
|
|
558
|
-
datahub/ingestion/source/tableau/tableau_common.py,sha256=
|
|
559
|
-
datahub/ingestion/source/tableau/tableau_constant.py,sha256=
|
|
560
|
-
datahub/ingestion/source/tableau/tableau_server_wrapper.py,sha256=
|
|
557
|
+
datahub/ingestion/source/tableau/tableau.py,sha256=8yJZU3jdAixCloT1EfvzH7hNTv0iEd29gip03SGA2fw,157849
|
|
558
|
+
datahub/ingestion/source/tableau/tableau_common.py,sha256=2vE7DIigPvMNcTCWSou0tliaVy9MgFR1qwqnE4pilw8,27086
|
|
559
|
+
datahub/ingestion/source/tableau/tableau_constant.py,sha256=2WPAHN-GAR83_c3eTTNd8cy0-zC8GIXeUdSxX_mNdas,2608
|
|
560
|
+
datahub/ingestion/source/tableau/tableau_server_wrapper.py,sha256=wsVD0SkGUwb-H9_g0aDclKwYkcoxugaWyAcyAMgBCAU,1136
|
|
561
561
|
datahub/ingestion/source/tableau/tableau_validation.py,sha256=Hjbfc1AMIkGgzo5ffWXtNRjrxSxzHvw7-dYZDt4d3WE,1819
|
|
562
562
|
datahub/ingestion/source/unity/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
563
563
|
datahub/ingestion/source/unity/analyze_profiler.py,sha256=2pqkFY30CfN4aHgFZZntjeG0hNhBytZJvXC13VfTc1I,4689
|
|
@@ -635,8 +635,8 @@ datahub/lite/lite_registry.py,sha256=bpH0kasP-LtwwUFNA2QsOIehfekAYfJtN-AkQLmSWnw
|
|
|
635
635
|
datahub/lite/lite_server.py,sha256=p9Oa2nNs65mqcssSIVOr7VOzWqfVstz6ZQEdT4f82S0,1949
|
|
636
636
|
datahub/lite/lite_util.py,sha256=G0LQHKkyEb1pc_q183g6hflShclGx7kikgMaOxtVVcs,4545
|
|
637
637
|
datahub/metadata/__init__.py,sha256=AjhXPjI6cnpdcrBRrE5gOWo15vv2TTl2ctU4UAnUN7A,238
|
|
638
|
-
datahub/metadata/_internal_schema_classes.py,sha256=
|
|
639
|
-
datahub/metadata/schema.avsc,sha256=
|
|
638
|
+
datahub/metadata/_internal_schema_classes.py,sha256=ORmPVDR7_UMk8x4pwbTukK7QZm0oFi9XK0DKa0oPjy0,1069945
|
|
639
|
+
datahub/metadata/schema.avsc,sha256=bbtE3veiGe5fqJnMWJTERU99CMOR4CP2lAZidj4UWGE,709640
|
|
640
640
|
datahub/metadata/schema_classes.py,sha256=tPT8iHCak4IsZi_oL0nirbPpI8ETTPTZzapqLRpeKU4,1326
|
|
641
641
|
datahub/metadata/urns.py,sha256=nfrCTExR-k2P9w272WVtWSN3xW1VUJngPwP3xnvULjU,1217
|
|
642
642
|
datahub/metadata/_urns/__init__.py,sha256=cOF3GHMDgPhmbLKbN02NPpuLGHSu0qNgQyBRv08eqF0,243
|
|
@@ -651,7 +651,7 @@ datahub/metadata/com/linkedin/pegasus2avro/application/__init__.py,sha256=1ibbZG
|
|
|
651
651
|
datahub/metadata/com/linkedin/pegasus2avro/assertion/__init__.py,sha256=PgK5O-6pVRaEcvmwXAsSkwRLe8NjGiLH8AVBXeArqK8,5751
|
|
652
652
|
datahub/metadata/com/linkedin/pegasus2avro/businessattribute/__init__.py,sha256=N8kO-eUi0_Rt7weizIExxlnJ2_kZRtPrZLWCC1xtDMA,653
|
|
653
653
|
datahub/metadata/com/linkedin/pegasus2avro/chart/__init__.py,sha256=RNyyHLBNp_fxgFcBOLWO2UsXR1ofD_JczcBdPEQSusg,848
|
|
654
|
-
datahub/metadata/com/linkedin/pegasus2avro/common/__init__.py,sha256=
|
|
654
|
+
datahub/metadata/com/linkedin/pegasus2avro/common/__init__.py,sha256=PHRvctPZJ0xxtmr8OMhigEVbky4GQ2Z4JLa63tBNvQg,6037
|
|
655
655
|
datahub/metadata/com/linkedin/pegasus2avro/common/fieldtransformer/__init__.py,sha256=FN63vLiB3FCmIRqBjTA-0Xt7M6i7h5NhaVzbA1ysv18,396
|
|
656
656
|
datahub/metadata/com/linkedin/pegasus2avro/connection/__init__.py,sha256=qRtw-dB14pzVzgQ0pDK8kyBplNdpRxVKNj4D70e_FqI,564
|
|
657
657
|
datahub/metadata/com/linkedin/pegasus2avro/container/__init__.py,sha256=3yWt36KqDKFhRc9pzvt0AMnbMTlhKurGvT3BUvc25QU,510
|
|
@@ -874,7 +874,7 @@ datahub/metadata/schemas/IncidentKey.avsc,sha256=Pip__DyNNTal7NxryM3kFi9qHlwntp1
|
|
|
874
874
|
datahub/metadata/schemas/IncidentSource.avsc,sha256=lY_SarA3cM55KNENcB5z1Gu2MygxEl9l7R8LdMak9AQ,1199
|
|
875
875
|
datahub/metadata/schemas/IncidentsSummary.avsc,sha256=NTYp-6Oe92ALApbM3759TJ5pLXRArsSriIPq-f7w9vI,4514
|
|
876
876
|
datahub/metadata/schemas/InputFields.avsc,sha256=f3SFxnV3-K2D59ctC5H2xCRx8uwqZTRI95KgSotQT-k,33832
|
|
877
|
-
datahub/metadata/schemas/InstitutionalMemory.avsc,sha256=
|
|
877
|
+
datahub/metadata/schemas/InstitutionalMemory.avsc,sha256=O6I0gs5C1FinXXcYrT7CSEQNoPkBL8A4nFb-1so2TcA,4912
|
|
878
878
|
datahub/metadata/schemas/IntendedUse.avsc,sha256=IKZSWdvc0uAyyT-FtdQOGbMC-P7RS9cO0vOVKWT6fbw,1361
|
|
879
879
|
datahub/metadata/schemas/InviteToken.avsc,sha256=8k_9MxHu9GVf7gvS0SlnQu7tJfpbXsRFdz6lQrFKPNc,737
|
|
880
880
|
datahub/metadata/schemas/InviteTokenKey.avsc,sha256=MuQUlQaeVjaBkjSshB9gsx5Fm0civYgWD8UhCiRLdOQ,434
|
|
@@ -888,14 +888,14 @@ datahub/metadata/schemas/MLMetric.avsc,sha256=y8WPVVwjhu3YGtqpFFJYNYK8w778RRL_d2
|
|
|
888
888
|
datahub/metadata/schemas/MLModelDeploymentKey.avsc,sha256=EcA0z4sQfqe3IJ8PO8cGW34XMxc9Q2BbCBjgkJTaznE,2685
|
|
889
889
|
datahub/metadata/schemas/MLModelDeploymentProperties.avsc,sha256=7IlGrMmX8nfgezvaZyrXskCTCRlwvRzGOYUOpFV3r6Y,5480
|
|
890
890
|
datahub/metadata/schemas/MLModelFactorPrompts.avsc,sha256=8kX-P4F4mVLFT980z3MwIautt1_6uA-c_Z87nYNDK-k,2712
|
|
891
|
-
datahub/metadata/schemas/MLModelGroupKey.avsc,sha256=
|
|
891
|
+
datahub/metadata/schemas/MLModelGroupKey.avsc,sha256=LFSIgaT-6oTgMO6wzo8bgovCNl6oAIRvjCsRiSDao2I,2808
|
|
892
892
|
datahub/metadata/schemas/MLModelGroupProperties.avsc,sha256=AZ5Pohk3_pCctQ4hcE1UOURQFYHQne0dw_lRUpOu5WY,6924
|
|
893
893
|
datahub/metadata/schemas/MLModelKey.avsc,sha256=zwoY9opTL5tMm5aoRHoWcNv5DjERYS-hWR05kVFlcTw,3148
|
|
894
894
|
datahub/metadata/schemas/MLModelProperties.avsc,sha256=hDCBHxGe-cmCBeU1k0ANuQlKjtZsDcTfl2X_jWmtFqo,12355
|
|
895
895
|
datahub/metadata/schemas/MLPrimaryKeyKey.avsc,sha256=F3lgpMnHBhXsqGncHE9x06P-0RiNCrzbUUWlMkPJxFI,1132
|
|
896
896
|
datahub/metadata/schemas/MLPrimaryKeyProperties.avsc,sha256=URIuOpS93RVk8MZVcbZ-dmTwu_cN3KSOKxSR8fm-eTo,6744
|
|
897
897
|
datahub/metadata/schemas/MLTrainingRunProperties.avsc,sha256=WGgj0MuQrGD4UgvyHCJHzTnHja2LlJTOr1gLu8SySj0,4269
|
|
898
|
-
datahub/metadata/schemas/MetadataChangeEvent.avsc,sha256=
|
|
898
|
+
datahub/metadata/schemas/MetadataChangeEvent.avsc,sha256=bs_f_quv7oDsJ1vgkkQLaP6rLks2lW2Fq6fE-_fTlh0,381341
|
|
899
899
|
datahub/metadata/schemas/MetadataChangeLog.avsc,sha256=soCmgrcEBE5yS-mQIm-RIefhb74ONj9Fqayxa0-59KE,13254
|
|
900
900
|
datahub/metadata/schemas/MetadataChangeProposal.avsc,sha256=pT14vUmpj7VJ8hinQ0pcCUtRKx6RAGHWh1eJixkqaE8,12647
|
|
901
901
|
datahub/metadata/schemas/Metrics.avsc,sha256=O7DJGjOwmHbb1x_Zj7AuM_HaHKjBvkfJKfUsX8icXD4,690
|
|
@@ -961,7 +961,7 @@ datahub/sdk/_shared.py,sha256=uSLPjXfUl_0SPt-kWirkhE6u1CKOC67q5c4hJzxS2uo,28812
|
|
|
961
961
|
datahub/sdk/_utils.py,sha256=oXE2BzsXE5zmSkCP3R1tObD4RHnPeH_ps83D_Dw9JaQ,1169
|
|
962
962
|
datahub/sdk/chart.py,sha256=_gixCcKp6kCMizWMXwNH1Ip1ZqJ05_Iu2t94dmONQFM,11774
|
|
963
963
|
datahub/sdk/container.py,sha256=IjnFVGDpSFDvgHuuMb7C3VdBxhJuIMq0q6crOs5PupE,7899
|
|
964
|
-
datahub/sdk/dashboard.py,sha256=
|
|
964
|
+
datahub/sdk/dashboard.py,sha256=ekdchqZ57enVFIfeEOOl0Dk4ec-MFQSncArciTgU1sk,15109
|
|
965
965
|
datahub/sdk/dataflow.py,sha256=gdAPVVkyKvsKtsa1AwhN_LpzidG_XzV3nhtd1cjnzDA,11128
|
|
966
966
|
datahub/sdk/datajob.py,sha256=5kU0txTDcn2ce3AhNry83TazPVhoYZ2rAPPNWM1_FP8,13677
|
|
967
967
|
datahub/sdk/dataset.py,sha256=-C4TCJAs1PFkLAgkUZEU1JOg3orm7AAIkqjw7oo_4PQ,31400
|
|
@@ -1114,8 +1114,8 @@ datahub_provider/operators/datahub_assertion_operator.py,sha256=uvTQ-jk2F0sbqqxp
|
|
|
1114
1114
|
datahub_provider/operators/datahub_assertion_sensor.py,sha256=lCBj_3x1cf5GMNpHdfkpHuyHfVxsm6ff5x2Z5iizcAo,140
|
|
1115
1115
|
datahub_provider/operators/datahub_operation_operator.py,sha256=aevDp2FzX7FxGlXrR0khoHNbxbhKR2qPEX5e8O2Jyzw,174
|
|
1116
1116
|
datahub_provider/operators/datahub_operation_sensor.py,sha256=8fcdVBCEPgqy1etTXgLoiHoJrRt_nzFZQMdSzHqSG7M,168
|
|
1117
|
-
acryl_datahub-1.2.0.
|
|
1118
|
-
acryl_datahub-1.2.0.
|
|
1119
|
-
acryl_datahub-1.2.0.
|
|
1120
|
-
acryl_datahub-1.2.0.
|
|
1121
|
-
acryl_datahub-1.2.0.
|
|
1117
|
+
acryl_datahub-1.2.0.10rc3.dist-info/METADATA,sha256=dbKMy0Er57vf8j1C1AegAKdo8eZ3dwDDotNwBmJ1akM,186878
|
|
1118
|
+
acryl_datahub-1.2.0.10rc3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
1119
|
+
acryl_datahub-1.2.0.10rc3.dist-info/entry_points.txt,sha256=qopCAD6qrsijaZ9mTw3UlPCKsE00C3t9MbkkWow7pi4,9943
|
|
1120
|
+
acryl_datahub-1.2.0.10rc3.dist-info/top_level.txt,sha256=iLjSrLK5ox1YVYcglRUkcvfZPvKlobBWx7CTUXx8_GI,25
|
|
1121
|
+
acryl_datahub-1.2.0.10rc3.dist-info/RECORD,,
|
datahub/_version.py
CHANGED
|
@@ -36,7 +36,7 @@ from datahub.api.entities.platformresource.platform_resource import (
|
|
|
36
36
|
PlatformResourceKey,
|
|
37
37
|
)
|
|
38
38
|
from datahub.emitter.mcp import MetadataChangeProposalWrapper
|
|
39
|
-
from datahub.emitter.mcp_builder import ContainerKey
|
|
39
|
+
from datahub.emitter.mcp_builder import ContainerKey
|
|
40
40
|
from datahub.ingestion.api.report import Report
|
|
41
41
|
from datahub.ingestion.api.source import SourceReport
|
|
42
42
|
from datahub.ingestion.source.common.subtypes import DatasetSubTypes
|
|
@@ -72,7 +72,6 @@ from datahub.metadata.com.linkedin.pegasus2avro.dataset import (
|
|
|
72
72
|
UpstreamClass,
|
|
73
73
|
UpstreamLineage,
|
|
74
74
|
)
|
|
75
|
-
from datahub.metadata.com.linkedin.pegasus2avro.metadata.snapshot import DatasetSnapshot
|
|
76
75
|
from datahub.metadata.com.linkedin.pegasus2avro.mxe import MetadataChangeEvent
|
|
77
76
|
from datahub.metadata.com.linkedin.pegasus2avro.schema import (
|
|
78
77
|
ArrayTypeClass,
|
|
@@ -90,21 +89,18 @@ from datahub.metadata.com.linkedin.pegasus2avro.schema import (
|
|
|
90
89
|
)
|
|
91
90
|
from datahub.metadata.schema_classes import (
|
|
92
91
|
BrowsePathEntryClass,
|
|
93
|
-
BrowsePathsClass,
|
|
94
92
|
BrowsePathsV2Class,
|
|
95
|
-
|
|
96
|
-
DatasetPropertiesClass,
|
|
93
|
+
EmbedClass,
|
|
97
94
|
EnumTypeClass,
|
|
98
95
|
FineGrainedLineageClass,
|
|
99
96
|
GlobalTagsClass,
|
|
100
97
|
SchemaMetadataClass,
|
|
101
|
-
StatusClass,
|
|
102
|
-
SubTypesClass,
|
|
103
98
|
TagAssociationClass,
|
|
104
99
|
TagPropertiesClass,
|
|
105
100
|
TagSnapshotClass,
|
|
106
101
|
)
|
|
107
102
|
from datahub.metadata.urns import TagUrn
|
|
103
|
+
from datahub.sdk.dataset import Dataset
|
|
108
104
|
from datahub.sql_parsing.sqlglot_lineage import ColumnRef
|
|
109
105
|
from datahub.utilities.lossy_collections import LossyList, LossySet
|
|
110
106
|
from datahub.utilities.url_util import remove_port_from_url
|
|
@@ -1307,50 +1303,28 @@ class LookerExplore:
|
|
|
1307
1303
|
reporter: SourceReport,
|
|
1308
1304
|
base_url: str,
|
|
1309
1305
|
extract_embed_urls: bool,
|
|
1310
|
-
) ->
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
dataset_snapshot = DatasetSnapshot(
|
|
1315
|
-
urn=self.get_explore_urn(config),
|
|
1316
|
-
aspects=[], # we append to this list later on
|
|
1317
|
-
)
|
|
1318
|
-
|
|
1319
|
-
model_key = gen_model_key(config, self.model_name)
|
|
1320
|
-
browse_paths = BrowsePathsClass(paths=[self.get_explore_browse_path(config)])
|
|
1321
|
-
container = ContainerClass(container=model_key.as_urn())
|
|
1322
|
-
dataset_snapshot.aspects.append(browse_paths)
|
|
1323
|
-
dataset_snapshot.aspects.append(StatusClass(removed=False))
|
|
1324
|
-
|
|
1325
|
-
custom_properties = {
|
|
1326
|
-
"project": self.project_name,
|
|
1327
|
-
"model": self.model_name,
|
|
1328
|
-
"looker.explore.label": self.label,
|
|
1329
|
-
"looker.explore.name": self.name,
|
|
1330
|
-
"looker.explore.file": self.source_file,
|
|
1331
|
-
}
|
|
1332
|
-
dataset_props = DatasetPropertiesClass(
|
|
1333
|
-
name=str(self.label) if self.label else LookerUtil._display_name(self.name),
|
|
1334
|
-
description=self.description,
|
|
1335
|
-
customProperties={
|
|
1336
|
-
k: str(v) for k, v in custom_properties.items() if v is not None
|
|
1337
|
-
},
|
|
1338
|
-
)
|
|
1339
|
-
dataset_props.externalUrl = self._get_url(base_url)
|
|
1306
|
+
) -> Dataset:
|
|
1307
|
+
"""
|
|
1308
|
+
Generate a Dataset metadata event for this Looker Explore.
|
|
1340
1309
|
|
|
1341
|
-
|
|
1310
|
+
Only generates datasets for explores that contain FROM clauses and do NOT contain joins.
|
|
1311
|
+
Passthrough explores and joins are handled via lineage and do not need additional nodes.
|
|
1312
|
+
"""
|
|
1313
|
+
upstream_lineage = None
|
|
1342
1314
|
view_name_to_urn_map: Dict[str, str] = {}
|
|
1315
|
+
|
|
1343
1316
|
if self.upstream_views is not None:
|
|
1344
1317
|
assert self.project_name is not None
|
|
1345
|
-
upstreams = []
|
|
1318
|
+
upstreams: list[UpstreamClass] = []
|
|
1346
1319
|
observed_lineage_ts = datetime.datetime.now(tz=datetime.timezone.utc)
|
|
1320
|
+
|
|
1347
1321
|
for view_ref in sorted(self.upstream_views):
|
|
1348
1322
|
# set file_path to ViewFieldType.UNKNOWN if file_path is not available to keep backward compatibility
|
|
1349
1323
|
# if we raise error on file_path equal to None then existing test-cases will fail as mock data
|
|
1350
1324
|
# doesn't have required attributes.
|
|
1351
1325
|
file_path: str = (
|
|
1352
1326
|
cast(str, self.upstream_views_file_path[view_ref.include])
|
|
1353
|
-
if self.upstream_views_file_path
|
|
1327
|
+
if self.upstream_views_file_path.get(view_ref.include) is not None
|
|
1354
1328
|
else ViewFieldValue.NOT_AVAILABLE.value
|
|
1355
1329
|
)
|
|
1356
1330
|
|
|
@@ -1377,7 +1351,7 @@ class LookerExplore:
|
|
|
1377
1351
|
)
|
|
1378
1352
|
view_name_to_urn_map[view_ref.include] = view_urn
|
|
1379
1353
|
|
|
1380
|
-
fine_grained_lineages = []
|
|
1354
|
+
fine_grained_lineages: list[FineGrainedLineageClass] = []
|
|
1381
1355
|
if config.extract_column_level_lineage:
|
|
1382
1356
|
for field in self.fields or []:
|
|
1383
1357
|
# Skip creating fine-grained lineage for empty field names to prevent invalid schema field URNs
|
|
@@ -1418,9 +1392,11 @@ class LookerExplore:
|
|
|
1418
1392
|
)
|
|
1419
1393
|
|
|
1420
1394
|
upstream_lineage = UpstreamLineage(
|
|
1421
|
-
upstreams=upstreams,
|
|
1395
|
+
upstreams=upstreams,
|
|
1396
|
+
fineGrainedLineages=fine_grained_lineages or None,
|
|
1422
1397
|
)
|
|
1423
|
-
|
|
1398
|
+
|
|
1399
|
+
schema_metadata = None
|
|
1424
1400
|
if self.fields is not None:
|
|
1425
1401
|
schema_metadata = LookerUtil._get_schema(
|
|
1426
1402
|
platform_name=config.platform_name,
|
|
@@ -1428,42 +1404,46 @@ class LookerExplore:
|
|
|
1428
1404
|
view_fields=self.fields,
|
|
1429
1405
|
reporter=reporter,
|
|
1430
1406
|
)
|
|
1431
|
-
if schema_metadata is not None:
|
|
1432
|
-
dataset_snapshot.aspects.append(schema_metadata)
|
|
1433
|
-
|
|
1434
|
-
mce = MetadataChangeEvent(proposedSnapshot=dataset_snapshot)
|
|
1435
|
-
mcp = MetadataChangeProposalWrapper(
|
|
1436
|
-
entityUrn=dataset_snapshot.urn,
|
|
1437
|
-
aspect=SubTypesClass(typeNames=[DatasetSubTypes.LOOKER_EXPLORE]),
|
|
1438
|
-
)
|
|
1439
1407
|
|
|
1440
|
-
|
|
1441
|
-
mce,
|
|
1442
|
-
mcp,
|
|
1443
|
-
]
|
|
1444
|
-
|
|
1445
|
-
# Add tags
|
|
1446
|
-
explore_tag_urns: List[TagAssociationClass] = [
|
|
1447
|
-
TagAssociationClass(tag=TagUrn(tag).urn()) for tag in self.tags
|
|
1448
|
-
]
|
|
1449
|
-
if explore_tag_urns:
|
|
1450
|
-
dataset_snapshot.aspects.append(GlobalTagsClass(explore_tag_urns))
|
|
1408
|
+
extra_aspects: List[Union[GlobalTagsClass, EmbedClass]] = []
|
|
1451
1409
|
|
|
1452
|
-
|
|
1410
|
+
explore_tag_urns: List[TagUrn] = [TagUrn(tag) for tag in self.tags]
|
|
1453
1411
|
if extract_embed_urls:
|
|
1454
|
-
|
|
1455
|
-
dataset_snapshot.urn, self._get_embed_url(base_url)
|
|
1456
|
-
)
|
|
1457
|
-
proposals.append(embed_mcp)
|
|
1412
|
+
extra_aspects.append(EmbedClass(renderUrl=self._get_embed_url(base_url)))
|
|
1458
1413
|
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1414
|
+
custom_properties: Dict[str, Optional[str]] = {
|
|
1415
|
+
"project": self.project_name,
|
|
1416
|
+
"model": self.model_name,
|
|
1417
|
+
"looker.explore.label": self.label,
|
|
1418
|
+
"looker.explore.name": self.name,
|
|
1419
|
+
"looker.explore.file": self.source_file,
|
|
1420
|
+
}
|
|
1465
1421
|
|
|
1466
|
-
return
|
|
1422
|
+
return Dataset(
|
|
1423
|
+
platform=config.platform_name,
|
|
1424
|
+
name=config.explore_naming_pattern.replace_variables(
|
|
1425
|
+
self.get_mapping(config)
|
|
1426
|
+
),
|
|
1427
|
+
display_name=str(self.label)
|
|
1428
|
+
if self.label
|
|
1429
|
+
else LookerUtil._display_name(self.name),
|
|
1430
|
+
description=self.description,
|
|
1431
|
+
subtype=DatasetSubTypes.LOOKER_EXPLORE,
|
|
1432
|
+
env=config.env,
|
|
1433
|
+
platform_instance=config.platform_instance,
|
|
1434
|
+
custom_properties={
|
|
1435
|
+
k: str(v) for k, v in custom_properties.items() if v is not None
|
|
1436
|
+
},
|
|
1437
|
+
external_url=self._get_url(base_url),
|
|
1438
|
+
upstreams=upstream_lineage,
|
|
1439
|
+
schema=schema_metadata,
|
|
1440
|
+
parent_container=[
|
|
1441
|
+
"Explore",
|
|
1442
|
+
gen_model_key(config, self.model_name).as_urn(),
|
|
1443
|
+
],
|
|
1444
|
+
tags=explore_tag_urns if explore_tag_urns else None,
|
|
1445
|
+
extra_aspects=extra_aspects,
|
|
1446
|
+
)
|
|
1467
1447
|
|
|
1468
1448
|
|
|
1469
1449
|
def gen_project_key(config: LookerCommonConfig, project_name: str) -> LookMLProjectKey:
|