acryl-datahub 1.1.1rc4__py3-none-any.whl → 1.3.0.1rc9__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.1.1rc4.dist-info → acryl_datahub-1.3.0.1rc9.dist-info}/METADATA +2615 -2547
- {acryl_datahub-1.1.1rc4.dist-info → acryl_datahub-1.3.0.1rc9.dist-info}/RECORD +412 -338
- {acryl_datahub-1.1.1rc4.dist-info → acryl_datahub-1.3.0.1rc9.dist-info}/entry_points.txt +5 -0
- datahub/_version.py +1 -1
- datahub/api/entities/assertion/assertion.py +1 -1
- datahub/api/entities/common/serialized_value.py +1 -1
- datahub/api/entities/corpgroup/corpgroup.py +1 -1
- datahub/api/entities/dataproduct/dataproduct.py +32 -3
- datahub/api/entities/dataset/dataset.py +26 -23
- datahub/api/entities/external/__init__.py +0 -0
- datahub/api/entities/external/external_entities.py +724 -0
- datahub/api/entities/external/external_tag.py +147 -0
- datahub/api/entities/external/lake_formation_external_entites.py +162 -0
- datahub/api/entities/external/restricted_text.py +172 -0
- datahub/api/entities/external/unity_catalog_external_entites.py +172 -0
- datahub/api/entities/forms/forms.py +3 -3
- datahub/api/entities/structuredproperties/structuredproperties.py +4 -4
- datahub/api/graphql/operation.py +10 -6
- datahub/cli/check_cli.py +88 -7
- datahub/cli/cli_utils.py +63 -0
- datahub/cli/config_utils.py +18 -10
- datahub/cli/container_cli.py +5 -0
- datahub/cli/delete_cli.py +125 -27
- datahub/cli/docker_check.py +110 -14
- datahub/cli/docker_cli.py +153 -229
- datahub/cli/exists_cli.py +0 -2
- datahub/cli/get_cli.py +0 -2
- datahub/cli/graphql_cli.py +1422 -0
- datahub/cli/iceberg_cli.py +5 -0
- datahub/cli/ingest_cli.py +3 -15
- datahub/cli/migrate.py +2 -0
- datahub/cli/put_cli.py +1 -4
- datahub/cli/quickstart_versioning.py +53 -10
- datahub/cli/specific/assertions_cli.py +37 -6
- datahub/cli/specific/datacontract_cli.py +54 -7
- datahub/cli/specific/dataproduct_cli.py +2 -15
- datahub/cli/specific/dataset_cli.py +1 -8
- datahub/cli/specific/forms_cli.py +0 -4
- datahub/cli/specific/group_cli.py +0 -2
- datahub/cli/specific/structuredproperties_cli.py +1 -4
- datahub/cli/specific/user_cli.py +172 -3
- datahub/cli/state_cli.py +0 -2
- datahub/cli/timeline_cli.py +0 -2
- datahub/configuration/common.py +40 -1
- datahub/configuration/connection_resolver.py +5 -2
- datahub/configuration/env_vars.py +331 -0
- datahub/configuration/import_resolver.py +7 -4
- datahub/configuration/kafka.py +21 -1
- datahub/configuration/pydantic_migration_helpers.py +6 -13
- datahub/configuration/source_common.py +3 -2
- datahub/configuration/validate_field_deprecation.py +5 -2
- datahub/configuration/validate_field_removal.py +8 -2
- datahub/configuration/validate_field_rename.py +6 -5
- datahub/configuration/validate_multiline_string.py +5 -2
- datahub/emitter/mce_builder.py +8 -4
- datahub/emitter/rest_emitter.py +103 -30
- datahub/entrypoints.py +6 -3
- datahub/ingestion/api/auto_work_units/auto_ensure_aspect_size.py +297 -1
- datahub/ingestion/api/auto_work_units/auto_validate_input_fields.py +87 -0
- datahub/ingestion/api/decorators.py +15 -3
- datahub/ingestion/api/report.py +381 -3
- datahub/ingestion/api/sink.py +27 -2
- datahub/ingestion/api/source.py +165 -58
- datahub/ingestion/api/source_protocols.py +23 -0
- datahub/ingestion/autogenerated/__init__.py +0 -0
- datahub/ingestion/autogenerated/capability_summary.json +3652 -0
- datahub/ingestion/autogenerated/lineage.json +402 -0
- datahub/ingestion/autogenerated/lineage_helper.py +177 -0
- datahub/ingestion/extractor/schema_util.py +13 -4
- datahub/ingestion/glossary/classification_mixin.py +5 -0
- datahub/ingestion/graph/client.py +330 -25
- datahub/ingestion/graph/config.py +3 -2
- datahub/ingestion/graph/filters.py +30 -11
- datahub/ingestion/reporting/datahub_ingestion_run_summary_provider.py +21 -11
- datahub/ingestion/run/pipeline.py +81 -11
- datahub/ingestion/run/pipeline_config.py +2 -2
- datahub/ingestion/sink/datahub_kafka.py +1 -0
- datahub/ingestion/sink/datahub_rest.py +13 -5
- datahub/ingestion/sink/file.py +1 -0
- datahub/ingestion/source/abs/config.py +1 -1
- datahub/ingestion/source/abs/datalake_profiler_config.py +1 -1
- datahub/ingestion/source/abs/source.py +15 -30
- datahub/ingestion/source/aws/aws_common.py +185 -13
- datahub/ingestion/source/aws/glue.py +517 -244
- datahub/ingestion/source/aws/platform_resource_repository.py +30 -0
- datahub/ingestion/source/aws/s3_boto_utils.py +100 -5
- datahub/ingestion/source/aws/tag_entities.py +270 -0
- datahub/ingestion/source/azure/azure_common.py +3 -3
- datahub/ingestion/source/bigquery_v2/bigquery.py +67 -24
- datahub/ingestion/source/bigquery_v2/bigquery_config.py +47 -19
- datahub/ingestion/source/bigquery_v2/bigquery_connection.py +12 -1
- datahub/ingestion/source/bigquery_v2/bigquery_queries.py +3 -0
- datahub/ingestion/source/bigquery_v2/bigquery_report.py +0 -2
- datahub/ingestion/source/bigquery_v2/bigquery_schema.py +23 -16
- datahub/ingestion/source/bigquery_v2/bigquery_schema_gen.py +20 -5
- datahub/ingestion/source/bigquery_v2/common.py +1 -1
- datahub/ingestion/source/bigquery_v2/profiler.py +4 -2
- datahub/ingestion/source/bigquery_v2/queries.py +3 -3
- datahub/ingestion/source/bigquery_v2/queries_extractor.py +45 -9
- datahub/ingestion/source/cassandra/cassandra.py +6 -8
- datahub/ingestion/source/cassandra/cassandra_api.py +17 -1
- datahub/ingestion/source/cassandra/cassandra_config.py +5 -0
- datahub/ingestion/source/cassandra/cassandra_profiling.py +7 -6
- datahub/ingestion/source/cassandra/cassandra_utils.py +1 -2
- datahub/ingestion/source/common/gcp_credentials_config.py +3 -1
- datahub/ingestion/source/common/subtypes.py +53 -0
- datahub/ingestion/source/data_lake_common/data_lake_utils.py +37 -0
- datahub/ingestion/source/data_lake_common/object_store.py +115 -27
- datahub/ingestion/source/data_lake_common/path_spec.py +72 -43
- datahub/ingestion/source/datahub/config.py +12 -9
- datahub/ingestion/source/datahub/datahub_database_reader.py +26 -11
- datahub/ingestion/source/datahub/datahub_source.py +10 -0
- datahub/ingestion/source/dbt/dbt_cloud.py +16 -5
- datahub/ingestion/source/dbt/dbt_common.py +224 -9
- datahub/ingestion/source/dbt/dbt_core.py +3 -0
- datahub/ingestion/source/debug/__init__.py +0 -0
- datahub/ingestion/source/debug/datahub_debug.py +300 -0
- datahub/ingestion/source/delta_lake/config.py +9 -5
- datahub/ingestion/source/delta_lake/source.py +8 -0
- datahub/ingestion/source/dremio/dremio_api.py +114 -73
- datahub/ingestion/source/dremio/dremio_aspects.py +3 -2
- datahub/ingestion/source/dremio/dremio_config.py +5 -4
- datahub/ingestion/source/dremio/dremio_reporting.py +22 -3
- datahub/ingestion/source/dremio/dremio_source.py +132 -98
- datahub/ingestion/source/dremio/dremio_sql_queries.py +82 -21
- datahub/ingestion/source/dynamodb/dynamodb.py +11 -8
- datahub/ingestion/source/excel/__init__.py +0 -0
- datahub/ingestion/source/excel/config.py +92 -0
- datahub/ingestion/source/excel/excel_file.py +539 -0
- datahub/ingestion/source/excel/profiling.py +308 -0
- datahub/ingestion/source/excel/report.py +49 -0
- datahub/ingestion/source/excel/source.py +662 -0
- datahub/ingestion/source/excel/util.py +18 -0
- datahub/ingestion/source/feast.py +8 -10
- datahub/ingestion/source/file.py +3 -0
- datahub/ingestion/source/fivetran/config.py +66 -7
- datahub/ingestion/source/fivetran/fivetran.py +227 -43
- datahub/ingestion/source/fivetran/fivetran_log_api.py +37 -8
- datahub/ingestion/source/fivetran/fivetran_query.py +51 -29
- datahub/ingestion/source/fivetran/fivetran_rest_api.py +65 -0
- datahub/ingestion/source/fivetran/response_models.py +97 -0
- datahub/ingestion/source/gc/datahub_gc.py +0 -2
- datahub/ingestion/source/gcs/gcs_source.py +32 -4
- datahub/ingestion/source/ge_data_profiler.py +108 -31
- datahub/ingestion/source/ge_profiling_config.py +26 -11
- datahub/ingestion/source/grafana/entity_mcp_builder.py +272 -0
- datahub/ingestion/source/grafana/field_utils.py +307 -0
- datahub/ingestion/source/grafana/grafana_api.py +142 -0
- datahub/ingestion/source/grafana/grafana_config.py +104 -0
- datahub/ingestion/source/grafana/grafana_source.py +522 -84
- datahub/ingestion/source/grafana/lineage.py +202 -0
- datahub/ingestion/source/grafana/models.py +137 -0
- datahub/ingestion/source/grafana/report.py +90 -0
- datahub/ingestion/source/grafana/types.py +16 -0
- datahub/ingestion/source/hex/api.py +28 -1
- datahub/ingestion/source/hex/hex.py +16 -5
- datahub/ingestion/source/hex/mapper.py +16 -2
- datahub/ingestion/source/hex/model.py +2 -0
- datahub/ingestion/source/hex/query_fetcher.py +1 -1
- datahub/ingestion/source/iceberg/iceberg.py +123 -59
- datahub/ingestion/source/iceberg/iceberg_profiler.py +4 -2
- datahub/ingestion/source/identity/azure_ad.py +1 -1
- datahub/ingestion/source/identity/okta.py +1 -14
- datahub/ingestion/source/kafka/kafka.py +16 -0
- datahub/ingestion/source/kafka_connect/common.py +2 -2
- datahub/ingestion/source/kafka_connect/sink_connectors.py +156 -47
- datahub/ingestion/source/kafka_connect/source_connectors.py +62 -4
- datahub/ingestion/source/looker/looker_common.py +148 -79
- datahub/ingestion/source/looker/looker_config.py +15 -4
- datahub/ingestion/source/looker/looker_constant.py +4 -0
- datahub/ingestion/source/looker/looker_lib_wrapper.py +36 -3
- datahub/ingestion/source/looker/looker_liquid_tag.py +56 -5
- datahub/ingestion/source/looker/looker_source.py +503 -547
- datahub/ingestion/source/looker/looker_view_id_cache.py +1 -1
- datahub/ingestion/source/looker/lookml_concept_context.py +1 -1
- datahub/ingestion/source/looker/lookml_config.py +31 -3
- datahub/ingestion/source/looker/lookml_refinement.py +1 -1
- datahub/ingestion/source/looker/lookml_source.py +96 -117
- datahub/ingestion/source/looker/view_upstream.py +494 -1
- datahub/ingestion/source/metabase.py +32 -6
- datahub/ingestion/source/metadata/business_glossary.py +7 -7
- datahub/ingestion/source/metadata/lineage.py +9 -9
- datahub/ingestion/source/mlflow.py +12 -2
- datahub/ingestion/source/mock_data/__init__.py +0 -0
- datahub/ingestion/source/mock_data/datahub_mock_data.py +533 -0
- datahub/ingestion/source/mock_data/datahub_mock_data_report.py +12 -0
- datahub/ingestion/source/mock_data/table_naming_helper.py +97 -0
- datahub/ingestion/source/mode.py +26 -5
- datahub/ingestion/source/mongodb.py +11 -1
- datahub/ingestion/source/neo4j/neo4j_source.py +83 -144
- datahub/ingestion/source/nifi.py +2 -2
- datahub/ingestion/source/openapi.py +1 -1
- datahub/ingestion/source/powerbi/config.py +47 -21
- datahub/ingestion/source/powerbi/m_query/data_classes.py +1 -0
- datahub/ingestion/source/powerbi/m_query/parser.py +2 -2
- datahub/ingestion/source/powerbi/m_query/pattern_handler.py +100 -10
- datahub/ingestion/source/powerbi/powerbi.py +10 -6
- datahub/ingestion/source/powerbi/rest_api_wrapper/powerbi_api.py +0 -1
- datahub/ingestion/source/powerbi_report_server/report_server.py +0 -23
- datahub/ingestion/source/powerbi_report_server/report_server_domain.py +2 -4
- datahub/ingestion/source/preset.py +3 -3
- datahub/ingestion/source/qlik_sense/data_classes.py +28 -8
- datahub/ingestion/source/qlik_sense/qlik_sense.py +2 -1
- datahub/ingestion/source/redash.py +1 -1
- datahub/ingestion/source/redshift/config.py +15 -9
- datahub/ingestion/source/redshift/datashares.py +1 -1
- datahub/ingestion/source/redshift/lineage.py +386 -687
- datahub/ingestion/source/redshift/query.py +23 -19
- datahub/ingestion/source/redshift/redshift.py +52 -111
- datahub/ingestion/source/redshift/redshift_schema.py +17 -12
- datahub/ingestion/source/redshift/report.py +0 -2
- datahub/ingestion/source/redshift/usage.py +6 -5
- datahub/ingestion/source/s3/report.py +4 -2
- datahub/ingestion/source/s3/source.py +449 -248
- datahub/ingestion/source/sac/sac.py +3 -1
- datahub/ingestion/source/salesforce.py +28 -13
- datahub/ingestion/source/schema/json_schema.py +14 -14
- datahub/ingestion/source/schema_inference/object.py +22 -6
- datahub/ingestion/source/sigma/data_classes.py +3 -0
- datahub/ingestion/source/sigma/sigma.py +7 -1
- datahub/ingestion/source/slack/slack.py +10 -16
- datahub/ingestion/source/snaplogic/__init__.py +0 -0
- datahub/ingestion/source/snaplogic/snaplogic.py +355 -0
- datahub/ingestion/source/snaplogic/snaplogic_config.py +37 -0
- datahub/ingestion/source/snaplogic/snaplogic_lineage_extractor.py +107 -0
- datahub/ingestion/source/snaplogic/snaplogic_parser.py +168 -0
- datahub/ingestion/source/snaplogic/snaplogic_utils.py +31 -0
- datahub/ingestion/source/snowflake/constants.py +3 -0
- datahub/ingestion/source/snowflake/snowflake_config.py +76 -23
- datahub/ingestion/source/snowflake/snowflake_connection.py +24 -8
- datahub/ingestion/source/snowflake/snowflake_lineage_v2.py +19 -6
- datahub/ingestion/source/snowflake/snowflake_queries.py +464 -97
- datahub/ingestion/source/snowflake/snowflake_query.py +77 -5
- datahub/ingestion/source/snowflake/snowflake_report.py +1 -2
- datahub/ingestion/source/snowflake/snowflake_schema.py +352 -16
- datahub/ingestion/source/snowflake/snowflake_schema_gen.py +51 -10
- datahub/ingestion/source/snowflake/snowflake_summary.py +7 -1
- datahub/ingestion/source/snowflake/snowflake_usage_v2.py +8 -2
- datahub/ingestion/source/snowflake/snowflake_utils.py +36 -15
- datahub/ingestion/source/snowflake/snowflake_v2.py +39 -4
- datahub/ingestion/source/snowflake/stored_proc_lineage.py +143 -0
- datahub/ingestion/source/sql/athena.py +217 -25
- datahub/ingestion/source/sql/athena_properties_extractor.py +795 -0
- datahub/ingestion/source/sql/clickhouse.py +24 -8
- datahub/ingestion/source/sql/cockroachdb.py +5 -4
- datahub/ingestion/source/sql/druid.py +2 -2
- datahub/ingestion/source/sql/hana.py +3 -1
- datahub/ingestion/source/sql/hive.py +4 -3
- datahub/ingestion/source/sql/hive_metastore.py +19 -20
- datahub/ingestion/source/sql/mariadb.py +0 -1
- datahub/ingestion/source/sql/mssql/job_models.py +3 -1
- datahub/ingestion/source/sql/mssql/source.py +336 -57
- datahub/ingestion/source/sql/mysql.py +154 -4
- datahub/ingestion/source/sql/oracle.py +5 -5
- datahub/ingestion/source/sql/postgres.py +142 -6
- datahub/ingestion/source/sql/presto.py +2 -1
- datahub/ingestion/source/sql/sql_common.py +281 -49
- datahub/ingestion/source/sql/sql_generic_profiler.py +2 -1
- datahub/ingestion/source/sql/sql_types.py +22 -0
- datahub/ingestion/source/sql/sqlalchemy_uri.py +39 -7
- datahub/ingestion/source/sql/teradata.py +1028 -245
- datahub/ingestion/source/sql/trino.py +11 -1
- datahub/ingestion/source/sql/two_tier_sql_source.py +2 -3
- datahub/ingestion/source/sql/vertica.py +14 -7
- datahub/ingestion/source/sql_queries.py +219 -121
- datahub/ingestion/source/state/checkpoint.py +8 -29
- datahub/ingestion/source/state/entity_removal_state.py +5 -2
- datahub/ingestion/source/state/redundant_run_skip_handler.py +21 -0
- datahub/ingestion/source/state/stateful_ingestion_base.py +36 -11
- datahub/ingestion/source/superset.py +314 -67
- datahub/ingestion/source/tableau/tableau.py +135 -59
- datahub/ingestion/source/tableau/tableau_common.py +9 -2
- datahub/ingestion/source/tableau/tableau_constant.py +1 -4
- datahub/ingestion/source/tableau/tableau_server_wrapper.py +3 -0
- datahub/ingestion/source/unity/config.py +160 -40
- datahub/ingestion/source/unity/connection.py +61 -0
- datahub/ingestion/source/unity/connection_test.py +1 -0
- datahub/ingestion/source/unity/platform_resource_repository.py +19 -0
- datahub/ingestion/source/unity/proxy.py +794 -51
- datahub/ingestion/source/unity/proxy_patch.py +321 -0
- datahub/ingestion/source/unity/proxy_types.py +36 -2
- datahub/ingestion/source/unity/report.py +15 -3
- datahub/ingestion/source/unity/source.py +465 -131
- datahub/ingestion/source/unity/tag_entities.py +197 -0
- datahub/ingestion/source/unity/usage.py +46 -4
- datahub/ingestion/source/usage/clickhouse_usage.py +4 -1
- datahub/ingestion/source/usage/starburst_trino_usage.py +5 -2
- datahub/ingestion/source/usage/usage_common.py +4 -3
- datahub/ingestion/source/vertexai/vertexai.py +1 -1
- datahub/ingestion/source_config/pulsar.py +3 -1
- datahub/ingestion/source_report/ingestion_stage.py +50 -11
- datahub/ingestion/transformer/add_dataset_ownership.py +18 -2
- datahub/ingestion/transformer/base_transformer.py +8 -5
- datahub/ingestion/transformer/set_browse_path.py +112 -0
- datahub/integrations/assertion/snowflake/compiler.py +4 -3
- datahub/metadata/_internal_schema_classes.py +6806 -4871
- datahub/metadata/_urns/urn_defs.py +1767 -1539
- datahub/metadata/com/linkedin/pegasus2avro/application/__init__.py +19 -0
- datahub/metadata/com/linkedin/pegasus2avro/common/__init__.py +2 -0
- datahub/metadata/com/linkedin/pegasus2avro/file/__init__.py +19 -0
- datahub/metadata/com/linkedin/pegasus2avro/identity/__init__.py +2 -0
- datahub/metadata/com/linkedin/pegasus2avro/logical/__init__.py +15 -0
- datahub/metadata/com/linkedin/pegasus2avro/metadata/key/__init__.py +6 -0
- datahub/metadata/com/linkedin/pegasus2avro/module/__init__.py +31 -0
- datahub/metadata/com/linkedin/pegasus2avro/platform/event/v1/__init__.py +4 -0
- datahub/metadata/com/linkedin/pegasus2avro/role/__init__.py +2 -0
- datahub/metadata/com/linkedin/pegasus2avro/settings/asset/__init__.py +19 -0
- datahub/metadata/com/linkedin/pegasus2avro/settings/global/__init__.py +8 -0
- datahub/metadata/com/linkedin/pegasus2avro/template/__init__.py +31 -0
- datahub/metadata/schema.avsc +18395 -16979
- datahub/metadata/schemas/Actors.avsc +38 -1
- datahub/metadata/schemas/ApplicationKey.avsc +31 -0
- datahub/metadata/schemas/ApplicationProperties.avsc +72 -0
- datahub/metadata/schemas/Applications.avsc +38 -0
- datahub/metadata/schemas/AssetSettings.avsc +63 -0
- datahub/metadata/schemas/ChartInfo.avsc +2 -1
- datahub/metadata/schemas/ChartKey.avsc +1 -0
- datahub/metadata/schemas/ContainerKey.avsc +1 -0
- datahub/metadata/schemas/ContainerProperties.avsc +8 -0
- datahub/metadata/schemas/CorpUserEditableInfo.avsc +1 -1
- datahub/metadata/schemas/CorpUserSettings.avsc +50 -0
- datahub/metadata/schemas/DashboardKey.avsc +1 -0
- datahub/metadata/schemas/DataFlowInfo.avsc +8 -0
- datahub/metadata/schemas/DataFlowKey.avsc +1 -0
- datahub/metadata/schemas/DataHubFileInfo.avsc +230 -0
- datahub/metadata/schemas/DataHubFileKey.avsc +21 -0
- datahub/metadata/schemas/DataHubPageModuleKey.avsc +21 -0
- datahub/metadata/schemas/DataHubPageModuleProperties.avsc +298 -0
- datahub/metadata/schemas/DataHubPageTemplateKey.avsc +21 -0
- datahub/metadata/schemas/DataHubPageTemplateProperties.avsc +251 -0
- datahub/metadata/schemas/DataHubPolicyInfo.avsc +12 -1
- datahub/metadata/schemas/DataJobInfo.avsc +8 -0
- datahub/metadata/schemas/DataJobInputOutput.avsc +8 -0
- datahub/metadata/schemas/DataJobKey.avsc +1 -0
- datahub/metadata/schemas/DataProcessKey.avsc +8 -0
- datahub/metadata/schemas/DataProductKey.avsc +3 -1
- datahub/metadata/schemas/DataProductProperties.avsc +1 -1
- datahub/metadata/schemas/DatasetKey.avsc +11 -1
- datahub/metadata/schemas/DatasetUsageStatistics.avsc +8 -0
- datahub/metadata/schemas/DomainKey.avsc +2 -1
- datahub/metadata/schemas/GlobalSettingsInfo.avsc +134 -0
- datahub/metadata/schemas/GlossaryNodeKey.avsc +2 -1
- datahub/metadata/schemas/GlossaryTermKey.avsc +3 -1
- datahub/metadata/schemas/IcebergWarehouseInfo.avsc +8 -0
- datahub/metadata/schemas/IncidentInfo.avsc +3 -3
- datahub/metadata/schemas/InstitutionalMemory.avsc +31 -0
- datahub/metadata/schemas/LogicalParent.avsc +145 -0
- datahub/metadata/schemas/MLFeatureKey.avsc +1 -0
- datahub/metadata/schemas/MLFeatureTableKey.avsc +1 -0
- datahub/metadata/schemas/MLModelDeploymentKey.avsc +8 -0
- datahub/metadata/schemas/MLModelGroupKey.avsc +11 -1
- datahub/metadata/schemas/MLModelKey.avsc +9 -0
- datahub/metadata/schemas/MLPrimaryKeyKey.avsc +1 -0
- datahub/metadata/schemas/MetadataChangeEvent.avsc +151 -47
- datahub/metadata/schemas/MetadataChangeLog.avsc +62 -44
- datahub/metadata/schemas/MetadataChangeProposal.avsc +61 -0
- datahub/metadata/schemas/NotebookKey.avsc +1 -0
- datahub/metadata/schemas/Operation.avsc +4 -2
- datahub/metadata/schemas/Ownership.avsc +69 -0
- datahub/metadata/schemas/QuerySubjects.avsc +1 -12
- datahub/metadata/schemas/RelationshipChangeEvent.avsc +215 -0
- datahub/metadata/schemas/SchemaFieldKey.avsc +4 -1
- datahub/metadata/schemas/StructuredProperties.avsc +69 -0
- datahub/metadata/schemas/StructuredPropertySettings.avsc +9 -0
- datahub/metadata/schemas/SystemMetadata.avsc +61 -0
- datahub/metadata/schemas/UpstreamLineage.avsc +9 -0
- datahub/sdk/__init__.py +2 -0
- datahub/sdk/_all_entities.py +7 -0
- datahub/sdk/_shared.py +249 -5
- datahub/sdk/chart.py +386 -0
- datahub/sdk/container.py +7 -0
- datahub/sdk/dashboard.py +453 -0
- datahub/sdk/dataflow.py +7 -0
- datahub/sdk/datajob.py +45 -13
- datahub/sdk/dataset.py +56 -2
- datahub/sdk/entity_client.py +111 -9
- datahub/sdk/lineage_client.py +663 -82
- datahub/sdk/main_client.py +50 -16
- datahub/sdk/mlmodel.py +120 -38
- datahub/sdk/mlmodelgroup.py +7 -0
- datahub/sdk/search_client.py +7 -3
- datahub/sdk/search_filters.py +304 -36
- datahub/secret/datahub_secret_store.py +3 -0
- datahub/secret/environment_secret_store.py +29 -0
- datahub/secret/file_secret_store.py +49 -0
- datahub/specific/aspect_helpers/fine_grained_lineage.py +76 -0
- datahub/specific/aspect_helpers/siblings.py +73 -0
- datahub/specific/aspect_helpers/structured_properties.py +27 -0
- datahub/specific/chart.py +1 -1
- datahub/specific/datajob.py +15 -1
- datahub/specific/dataproduct.py +4 -0
- datahub/specific/dataset.py +39 -59
- datahub/sql_parsing/split_statements.py +13 -0
- datahub/sql_parsing/sql_parsing_aggregator.py +70 -26
- datahub/sql_parsing/sqlglot_lineage.py +196 -42
- datahub/sql_parsing/sqlglot_utils.py +12 -4
- datahub/sql_parsing/tool_meta_extractor.py +1 -3
- datahub/telemetry/telemetry.py +28 -14
- datahub/testing/sdk_v2_helpers.py +7 -1
- datahub/upgrade/upgrade.py +73 -17
- datahub/utilities/file_backed_collections.py +8 -9
- datahub/utilities/is_pytest.py +3 -2
- datahub/utilities/logging_manager.py +22 -6
- datahub/utilities/mapping.py +29 -2
- datahub/utilities/sample_data.py +5 -4
- datahub/utilities/server_config_util.py +10 -1
- datahub/utilities/sqlalchemy_query_combiner.py +5 -2
- datahub/utilities/stats_collections.py +4 -0
- datahub/utilities/urns/urn.py +41 -2
- datahub/emitter/sql_parsing_builder.py +0 -306
- datahub/ingestion/source/redshift/lineage_v2.py +0 -466
- {acryl_datahub-1.1.1rc4.dist-info → acryl_datahub-1.3.0.1rc9.dist-info}/WHEEL +0 -0
- {acryl_datahub-1.1.1rc4.dist-info → acryl_datahub-1.3.0.1rc9.dist-info}/licenses/LICENSE +0 -0
- {acryl_datahub-1.1.1rc4.dist-info → acryl_datahub-1.3.0.1rc9.dist-info}/top_level.txt +0 -0
|
@@ -332,7 +332,8 @@
|
|
|
332
332
|
"createdActor": "inputEdges/*/created/actor",
|
|
333
333
|
"createdOn": "inputEdges/*/created/time",
|
|
334
334
|
"entityTypes": [
|
|
335
|
-
"dataset"
|
|
335
|
+
"dataset",
|
|
336
|
+
"chart"
|
|
336
337
|
],
|
|
337
338
|
"isLineage": true,
|
|
338
339
|
"name": "Consumes",
|
|
@@ -747,6 +748,75 @@
|
|
|
747
748
|
"name": "source",
|
|
748
749
|
"default": null,
|
|
749
750
|
"doc": "Source information for the ownership"
|
|
751
|
+
},
|
|
752
|
+
{
|
|
753
|
+
"Searchable": {
|
|
754
|
+
"/actor": {
|
|
755
|
+
"fieldName": "ownerAttributionActors",
|
|
756
|
+
"fieldType": "URN",
|
|
757
|
+
"queryByDefault": false
|
|
758
|
+
},
|
|
759
|
+
"/source": {
|
|
760
|
+
"fieldName": "ownerAttributionSources",
|
|
761
|
+
"fieldType": "URN",
|
|
762
|
+
"queryByDefault": false
|
|
763
|
+
},
|
|
764
|
+
"/time": {
|
|
765
|
+
"fieldName": "ownerAttributionDates",
|
|
766
|
+
"fieldType": "DATETIME",
|
|
767
|
+
"queryByDefault": false
|
|
768
|
+
}
|
|
769
|
+
},
|
|
770
|
+
"type": [
|
|
771
|
+
"null",
|
|
772
|
+
{
|
|
773
|
+
"type": "record",
|
|
774
|
+
"name": "MetadataAttribution",
|
|
775
|
+
"namespace": "com.linkedin.pegasus2avro.common",
|
|
776
|
+
"fields": [
|
|
777
|
+
{
|
|
778
|
+
"type": "long",
|
|
779
|
+
"name": "time",
|
|
780
|
+
"doc": "When this metadata was updated."
|
|
781
|
+
},
|
|
782
|
+
{
|
|
783
|
+
"java": {
|
|
784
|
+
"class": "com.linkedin.pegasus2avro.common.urn.Urn"
|
|
785
|
+
},
|
|
786
|
+
"type": "string",
|
|
787
|
+
"name": "actor",
|
|
788
|
+
"doc": "The entity (e.g. a member URN) responsible for applying the assocated metadata. This can\neither be a user (in case of UI edits) or the datahub system for automation.",
|
|
789
|
+
"Urn": "Urn"
|
|
790
|
+
},
|
|
791
|
+
{
|
|
792
|
+
"java": {
|
|
793
|
+
"class": "com.linkedin.pegasus2avro.common.urn.Urn"
|
|
794
|
+
},
|
|
795
|
+
"type": [
|
|
796
|
+
"null",
|
|
797
|
+
"string"
|
|
798
|
+
],
|
|
799
|
+
"name": "source",
|
|
800
|
+
"default": null,
|
|
801
|
+
"doc": "The DataHub source responsible for applying the associated metadata. This will only be filled out\nwhen a DataHub source is responsible. This includes the specific metadata test urn, the automation urn.",
|
|
802
|
+
"Urn": "Urn"
|
|
803
|
+
},
|
|
804
|
+
{
|
|
805
|
+
"type": {
|
|
806
|
+
"type": "map",
|
|
807
|
+
"values": "string"
|
|
808
|
+
},
|
|
809
|
+
"name": "sourceDetail",
|
|
810
|
+
"default": {},
|
|
811
|
+
"doc": "The details associated with why this metadata was applied. For example, this could include\nthe actual regex rule, sql statement, ingestion pipeline ID, etc."
|
|
812
|
+
}
|
|
813
|
+
],
|
|
814
|
+
"doc": "Information about who, why, and how this metadata was applied"
|
|
815
|
+
}
|
|
816
|
+
],
|
|
817
|
+
"name": "attribution",
|
|
818
|
+
"default": null,
|
|
819
|
+
"doc": "Information about who, why, and how this metadata was applied"
|
|
750
820
|
}
|
|
751
821
|
],
|
|
752
822
|
"doc": "Ownership information"
|
|
@@ -883,50 +953,7 @@
|
|
|
883
953
|
},
|
|
884
954
|
"type": [
|
|
885
955
|
"null",
|
|
886
|
-
|
|
887
|
-
"type": "record",
|
|
888
|
-
"name": "MetadataAttribution",
|
|
889
|
-
"namespace": "com.linkedin.pegasus2avro.common",
|
|
890
|
-
"fields": [
|
|
891
|
-
{
|
|
892
|
-
"type": "long",
|
|
893
|
-
"name": "time",
|
|
894
|
-
"doc": "When this metadata was updated."
|
|
895
|
-
},
|
|
896
|
-
{
|
|
897
|
-
"java": {
|
|
898
|
-
"class": "com.linkedin.pegasus2avro.common.urn.Urn"
|
|
899
|
-
},
|
|
900
|
-
"type": "string",
|
|
901
|
-
"name": "actor",
|
|
902
|
-
"doc": "The entity (e.g. a member URN) responsible for applying the assocated metadata. This can\neither be a user (in case of UI edits) or the datahub system for automation.",
|
|
903
|
-
"Urn": "Urn"
|
|
904
|
-
},
|
|
905
|
-
{
|
|
906
|
-
"java": {
|
|
907
|
-
"class": "com.linkedin.pegasus2avro.common.urn.Urn"
|
|
908
|
-
},
|
|
909
|
-
"type": [
|
|
910
|
-
"null",
|
|
911
|
-
"string"
|
|
912
|
-
],
|
|
913
|
-
"name": "source",
|
|
914
|
-
"default": null,
|
|
915
|
-
"doc": "The DataHub source responsible for applying the associated metadata. This will only be filled out\nwhen a DataHub source is responsible. This includes the specific metadata test urn, the automation urn.",
|
|
916
|
-
"Urn": "Urn"
|
|
917
|
-
},
|
|
918
|
-
{
|
|
919
|
-
"type": {
|
|
920
|
-
"type": "map",
|
|
921
|
-
"values": "string"
|
|
922
|
-
},
|
|
923
|
-
"name": "sourceDetail",
|
|
924
|
-
"default": {},
|
|
925
|
-
"doc": "The details associated with why this metadata was applied. For example, this could include\nthe actual regex rule, sql statement, ingestion pipeline ID, etc."
|
|
926
|
-
}
|
|
927
|
-
],
|
|
928
|
-
"doc": "Information about who, why, and how this metadata was applied"
|
|
929
|
-
}
|
|
956
|
+
"com.linkedin.pegasus2avro.common.MetadataAttribution"
|
|
930
957
|
],
|
|
931
958
|
"name": "attribution",
|
|
932
959
|
"default": null,
|
|
@@ -1107,6 +1134,37 @@
|
|
|
1107
1134
|
"type": "com.linkedin.pegasus2avro.common.AuditStamp",
|
|
1108
1135
|
"name": "createStamp",
|
|
1109
1136
|
"doc": "Audit stamp associated with creation of this record"
|
|
1137
|
+
},
|
|
1138
|
+
{
|
|
1139
|
+
"type": [
|
|
1140
|
+
"null",
|
|
1141
|
+
"com.linkedin.pegasus2avro.common.AuditStamp"
|
|
1142
|
+
],
|
|
1143
|
+
"name": "updateStamp",
|
|
1144
|
+
"default": null,
|
|
1145
|
+
"doc": "Audit stamp associated with updation of this record"
|
|
1146
|
+
},
|
|
1147
|
+
{
|
|
1148
|
+
"type": [
|
|
1149
|
+
"null",
|
|
1150
|
+
{
|
|
1151
|
+
"type": "record",
|
|
1152
|
+
"name": "InstitutionalMemoryMetadataSettings",
|
|
1153
|
+
"namespace": "com.linkedin.pegasus2avro.common",
|
|
1154
|
+
"fields": [
|
|
1155
|
+
{
|
|
1156
|
+
"type": "boolean",
|
|
1157
|
+
"name": "showInAssetPreview",
|
|
1158
|
+
"default": false,
|
|
1159
|
+
"doc": "Show record in asset preview like on entity header and search previews"
|
|
1160
|
+
}
|
|
1161
|
+
],
|
|
1162
|
+
"doc": "Settings related to a record of InstitutionalMemoryMetadata"
|
|
1163
|
+
}
|
|
1164
|
+
],
|
|
1165
|
+
"name": "settings",
|
|
1166
|
+
"default": null,
|
|
1167
|
+
"doc": "Settings for this record"
|
|
1110
1168
|
}
|
|
1111
1169
|
],
|
|
1112
1170
|
"doc": "Metadata corresponding to a record of institutional memory."
|
|
@@ -1691,7 +1749,7 @@
|
|
|
1691
1749
|
},
|
|
1692
1750
|
"type": "string",
|
|
1693
1751
|
"name": "pictureLink",
|
|
1694
|
-
"default": "
|
|
1752
|
+
"default": "assets/platforms/default_avatar.png",
|
|
1695
1753
|
"doc": "A URL which points to a picture which user wants to set as a profile photo"
|
|
1696
1754
|
},
|
|
1697
1755
|
{
|
|
@@ -2424,13 +2482,17 @@
|
|
|
2424
2482
|
"DEV": "Designates development fabrics",
|
|
2425
2483
|
"EI": "Designates early-integration fabrics",
|
|
2426
2484
|
"NON_PROD": "Designates non-production fabrics",
|
|
2485
|
+
"PRD": "Alternative Prod spelling",
|
|
2427
2486
|
"PRE": "Designates pre-production fabrics",
|
|
2428
2487
|
"PROD": "Designates production fabrics",
|
|
2429
2488
|
"QA": "Designates quality assurance fabrics",
|
|
2430
2489
|
"RVW": "Designates review fabrics",
|
|
2431
2490
|
"SANDBOX": "Designates sandbox fabrics",
|
|
2491
|
+
"SBX": "Alternative spelling for sandbox",
|
|
2492
|
+
"SIT": "System Integration Testing",
|
|
2432
2493
|
"STG": "Designates staging fabrics",
|
|
2433
2494
|
"TEST": "Designates testing fabrics",
|
|
2495
|
+
"TST": "Alternative Test spelling",
|
|
2434
2496
|
"UAT": "Designates user acceptance testing fabrics"
|
|
2435
2497
|
},
|
|
2436
2498
|
"name": "FabricType",
|
|
@@ -2447,6 +2509,10 @@
|
|
|
2447
2509
|
"PROD",
|
|
2448
2510
|
"CORP",
|
|
2449
2511
|
"RVW",
|
|
2512
|
+
"PRD",
|
|
2513
|
+
"TST",
|
|
2514
|
+
"SIT",
|
|
2515
|
+
"SBX",
|
|
2450
2516
|
"SANDBOX"
|
|
2451
2517
|
],
|
|
2452
2518
|
"doc": "Fabric group type"
|
|
@@ -3062,6 +3128,14 @@
|
|
|
3062
3128
|
"doc": "The type of upstream entity"
|
|
3063
3129
|
},
|
|
3064
3130
|
{
|
|
3131
|
+
"Searchable": {
|
|
3132
|
+
"/*": {
|
|
3133
|
+
"fieldName": "fineGrainedUpstreams",
|
|
3134
|
+
"fieldType": "URN",
|
|
3135
|
+
"hasValuesFieldName": "hasFineGrainedUpstreams",
|
|
3136
|
+
"queryByDefault": false
|
|
3137
|
+
}
|
|
3138
|
+
},
|
|
3065
3139
|
"type": [
|
|
3066
3140
|
"null",
|
|
3067
3141
|
{
|
|
@@ -3683,6 +3757,7 @@
|
|
|
3683
3757
|
"Searchable": {
|
|
3684
3758
|
"fieldName": "upstreams",
|
|
3685
3759
|
"fieldType": "URN",
|
|
3760
|
+
"hasValuesFieldName": "hasUpstreams",
|
|
3686
3761
|
"queryByDefault": false
|
|
3687
3762
|
},
|
|
3688
3763
|
"java": {
|
|
@@ -7733,13 +7808,15 @@
|
|
|
7733
7808
|
"type": "enum",
|
|
7734
7809
|
"symbolDocs": {
|
|
7735
7810
|
"EQUALS": "Whether the field matches the value",
|
|
7811
|
+
"NOT_EQUALS": "Whether the field does not match the value",
|
|
7736
7812
|
"STARTS_WITH": "Whether the field value starts with the value"
|
|
7737
7813
|
},
|
|
7738
7814
|
"name": "PolicyMatchCondition",
|
|
7739
7815
|
"namespace": "com.linkedin.pegasus2avro.policy",
|
|
7740
7816
|
"symbols": [
|
|
7741
7817
|
"EQUALS",
|
|
7742
|
-
"STARTS_WITH"
|
|
7818
|
+
"STARTS_WITH",
|
|
7819
|
+
"NOT_EQUALS"
|
|
7743
7820
|
],
|
|
7744
7821
|
"doc": "The matching condition in a filter criterion"
|
|
7745
7822
|
},
|
|
@@ -7761,6 +7838,15 @@
|
|
|
7761
7838
|
"name": "filter",
|
|
7762
7839
|
"default": null,
|
|
7763
7840
|
"doc": "Filter to apply privileges to"
|
|
7841
|
+
},
|
|
7842
|
+
{
|
|
7843
|
+
"type": [
|
|
7844
|
+
"null",
|
|
7845
|
+
"com.linkedin.pegasus2avro.policy.PolicyMatchFilter"
|
|
7846
|
+
],
|
|
7847
|
+
"name": "privilegeConstraints",
|
|
7848
|
+
"default": null,
|
|
7849
|
+
"doc": "Constraints around what sub-resources operations are allowed to modify, i.e. NOT_EQUALS - cannot modify a particular defined tag, EQUALS - can only modify a particular defined tag, STARTS_WITH - can only modify a tag starting with xyz"
|
|
7764
7850
|
}
|
|
7765
7851
|
],
|
|
7766
7852
|
"doc": "Information used to filter DataHub resource."
|
|
@@ -8199,6 +8285,24 @@
|
|
|
8199
8285
|
"name": "version",
|
|
8200
8286
|
"default": null,
|
|
8201
8287
|
"doc": "Aspect version\n Initial implementation will use the aspect version's number, however stored as\n a string in the case where a different aspect versioning scheme is later adopted."
|
|
8288
|
+
},
|
|
8289
|
+
{
|
|
8290
|
+
"type": [
|
|
8291
|
+
"null",
|
|
8292
|
+
"com.linkedin.pegasus2avro.common.AuditStamp"
|
|
8293
|
+
],
|
|
8294
|
+
"name": "aspectCreated",
|
|
8295
|
+
"default": null,
|
|
8296
|
+
"doc": "When the aspect was initially created and who created it, detected by version 0 -> 1 change"
|
|
8297
|
+
},
|
|
8298
|
+
{
|
|
8299
|
+
"type": [
|
|
8300
|
+
"null",
|
|
8301
|
+
"com.linkedin.pegasus2avro.common.AuditStamp"
|
|
8302
|
+
],
|
|
8303
|
+
"name": "aspectModified",
|
|
8304
|
+
"default": null,
|
|
8305
|
+
"doc": "When the aspect was last modified and the actor that performed the modification"
|
|
8202
8306
|
}
|
|
8203
8307
|
],
|
|
8204
8308
|
"doc": "Metadata associated with each metadata change that is processed by the system"
|
|
@@ -267,6 +267,67 @@
|
|
|
267
267
|
"name": "version",
|
|
268
268
|
"default": null,
|
|
269
269
|
"doc": "Aspect version\n Initial implementation will use the aspect version's number, however stored as\n a string in the case where a different aspect versioning scheme is later adopted."
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"type": [
|
|
273
|
+
"null",
|
|
274
|
+
{
|
|
275
|
+
"type": "record",
|
|
276
|
+
"name": "AuditStamp",
|
|
277
|
+
"namespace": "com.linkedin.pegasus2avro.common",
|
|
278
|
+
"fields": [
|
|
279
|
+
{
|
|
280
|
+
"type": "long",
|
|
281
|
+
"name": "time",
|
|
282
|
+
"doc": "When did the resource/association/sub-resource move into the specific lifecycle stage represented by this AuditEvent."
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"java": {
|
|
286
|
+
"class": "com.linkedin.pegasus2avro.common.urn.Urn"
|
|
287
|
+
},
|
|
288
|
+
"type": "string",
|
|
289
|
+
"name": "actor",
|
|
290
|
+
"doc": "The entity (e.g. a member URN) which will be credited for moving the resource/association/sub-resource into the specific lifecycle stage. It is also the one used to authorize the change.",
|
|
291
|
+
"Urn": "Urn"
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
"java": {
|
|
295
|
+
"class": "com.linkedin.pegasus2avro.common.urn.Urn"
|
|
296
|
+
},
|
|
297
|
+
"type": [
|
|
298
|
+
"null",
|
|
299
|
+
"string"
|
|
300
|
+
],
|
|
301
|
+
"name": "impersonator",
|
|
302
|
+
"default": null,
|
|
303
|
+
"doc": "The entity (e.g. a service URN) which performs the change on behalf of the Actor and must be authorized to act as the Actor.",
|
|
304
|
+
"Urn": "Urn"
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"type": [
|
|
308
|
+
"null",
|
|
309
|
+
"string"
|
|
310
|
+
],
|
|
311
|
+
"name": "message",
|
|
312
|
+
"default": null,
|
|
313
|
+
"doc": "Additional context around how DataHub was informed of the particular change. For example: was the change created by an automated process, or manually."
|
|
314
|
+
}
|
|
315
|
+
],
|
|
316
|
+
"doc": "Data captured on a resource/association/sub-resource level giving insight into when that resource/association/sub-resource moved into a particular lifecycle stage, and who acted to move it into that specific lifecycle stage."
|
|
317
|
+
}
|
|
318
|
+
],
|
|
319
|
+
"name": "aspectCreated",
|
|
320
|
+
"default": null,
|
|
321
|
+
"doc": "When the aspect was initially created and who created it, detected by version 0 -> 1 change"
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
"type": [
|
|
325
|
+
"null",
|
|
326
|
+
"com.linkedin.pegasus2avro.common.AuditStamp"
|
|
327
|
+
],
|
|
328
|
+
"name": "aspectModified",
|
|
329
|
+
"default": null,
|
|
330
|
+
"doc": "When the aspect was last modified and the actor that performed the modification"
|
|
270
331
|
}
|
|
271
332
|
],
|
|
272
333
|
"doc": "Metadata associated with each metadata change that is processed by the system"
|
|
@@ -309,50 +370,7 @@
|
|
|
309
370
|
{
|
|
310
371
|
"type": [
|
|
311
372
|
"null",
|
|
312
|
-
|
|
313
|
-
"type": "record",
|
|
314
|
-
"name": "AuditStamp",
|
|
315
|
-
"namespace": "com.linkedin.pegasus2avro.common",
|
|
316
|
-
"fields": [
|
|
317
|
-
{
|
|
318
|
-
"type": "long",
|
|
319
|
-
"name": "time",
|
|
320
|
-
"doc": "When did the resource/association/sub-resource move into the specific lifecycle stage represented by this AuditEvent."
|
|
321
|
-
},
|
|
322
|
-
{
|
|
323
|
-
"java": {
|
|
324
|
-
"class": "com.linkedin.pegasus2avro.common.urn.Urn"
|
|
325
|
-
},
|
|
326
|
-
"type": "string",
|
|
327
|
-
"name": "actor",
|
|
328
|
-
"doc": "The entity (e.g. a member URN) which will be credited for moving the resource/association/sub-resource into the specific lifecycle stage. It is also the one used to authorize the change.",
|
|
329
|
-
"Urn": "Urn"
|
|
330
|
-
},
|
|
331
|
-
{
|
|
332
|
-
"java": {
|
|
333
|
-
"class": "com.linkedin.pegasus2avro.common.urn.Urn"
|
|
334
|
-
},
|
|
335
|
-
"type": [
|
|
336
|
-
"null",
|
|
337
|
-
"string"
|
|
338
|
-
],
|
|
339
|
-
"name": "impersonator",
|
|
340
|
-
"default": null,
|
|
341
|
-
"doc": "The entity (e.g. a service URN) which performs the change on behalf of the Actor and must be authorized to act as the Actor.",
|
|
342
|
-
"Urn": "Urn"
|
|
343
|
-
},
|
|
344
|
-
{
|
|
345
|
-
"type": [
|
|
346
|
-
"null",
|
|
347
|
-
"string"
|
|
348
|
-
],
|
|
349
|
-
"name": "message",
|
|
350
|
-
"default": null,
|
|
351
|
-
"doc": "Additional context around how DataHub was informed of the particular change. For example: was the change created by an automated process, or manually."
|
|
352
|
-
}
|
|
353
|
-
],
|
|
354
|
-
"doc": "Data captured on a resource/association/sub-resource level giving insight into when that resource/association/sub-resource moved into a particular lifecycle stage, and who acted to move it into that specific lifecycle stage."
|
|
355
|
-
}
|
|
373
|
+
"com.linkedin.pegasus2avro.common.AuditStamp"
|
|
356
374
|
],
|
|
357
375
|
"name": "created",
|
|
358
376
|
"default": null,
|
|
@@ -267,6 +267,67 @@
|
|
|
267
267
|
"name": "version",
|
|
268
268
|
"default": null,
|
|
269
269
|
"doc": "Aspect version\n Initial implementation will use the aspect version's number, however stored as\n a string in the case where a different aspect versioning scheme is later adopted."
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"type": [
|
|
273
|
+
"null",
|
|
274
|
+
{
|
|
275
|
+
"type": "record",
|
|
276
|
+
"name": "AuditStamp",
|
|
277
|
+
"namespace": "com.linkedin.pegasus2avro.common",
|
|
278
|
+
"fields": [
|
|
279
|
+
{
|
|
280
|
+
"type": "long",
|
|
281
|
+
"name": "time",
|
|
282
|
+
"doc": "When did the resource/association/sub-resource move into the specific lifecycle stage represented by this AuditEvent."
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"java": {
|
|
286
|
+
"class": "com.linkedin.pegasus2avro.common.urn.Urn"
|
|
287
|
+
},
|
|
288
|
+
"type": "string",
|
|
289
|
+
"name": "actor",
|
|
290
|
+
"doc": "The entity (e.g. a member URN) which will be credited for moving the resource/association/sub-resource into the specific lifecycle stage. It is also the one used to authorize the change.",
|
|
291
|
+
"Urn": "Urn"
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
"java": {
|
|
295
|
+
"class": "com.linkedin.pegasus2avro.common.urn.Urn"
|
|
296
|
+
},
|
|
297
|
+
"type": [
|
|
298
|
+
"null",
|
|
299
|
+
"string"
|
|
300
|
+
],
|
|
301
|
+
"name": "impersonator",
|
|
302
|
+
"default": null,
|
|
303
|
+
"doc": "The entity (e.g. a service URN) which performs the change on behalf of the Actor and must be authorized to act as the Actor.",
|
|
304
|
+
"Urn": "Urn"
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"type": [
|
|
308
|
+
"null",
|
|
309
|
+
"string"
|
|
310
|
+
],
|
|
311
|
+
"name": "message",
|
|
312
|
+
"default": null,
|
|
313
|
+
"doc": "Additional context around how DataHub was informed of the particular change. For example: was the change created by an automated process, or manually."
|
|
314
|
+
}
|
|
315
|
+
],
|
|
316
|
+
"doc": "Data captured on a resource/association/sub-resource level giving insight into when that resource/association/sub-resource moved into a particular lifecycle stage, and who acted to move it into that specific lifecycle stage."
|
|
317
|
+
}
|
|
318
|
+
],
|
|
319
|
+
"name": "aspectCreated",
|
|
320
|
+
"default": null,
|
|
321
|
+
"doc": "When the aspect was initially created and who created it, detected by version 0 -> 1 change"
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
"type": [
|
|
325
|
+
"null",
|
|
326
|
+
"com.linkedin.pegasus2avro.common.AuditStamp"
|
|
327
|
+
],
|
|
328
|
+
"name": "aspectModified",
|
|
329
|
+
"default": null,
|
|
330
|
+
"doc": "When the aspect was last modified and the actor that performed the modification"
|
|
270
331
|
}
|
|
271
332
|
],
|
|
272
333
|
"doc": "Metadata associated with each metadata change that is processed by the system"
|
|
@@ -150,7 +150,7 @@
|
|
|
150
150
|
"symbolDocs": {
|
|
151
151
|
"ALTER": "Asset was altered",
|
|
152
152
|
"CREATE": "Asset was created",
|
|
153
|
-
"CUSTOM": "Custom asset operation",
|
|
153
|
+
"CUSTOM": "Custom asset operation. If this is set, ensure customOperationType is filled out.",
|
|
154
154
|
"DELETE": "Rows were deleted",
|
|
155
155
|
"DROP": "Asset was dropped",
|
|
156
156
|
"INSERT": "Rows were inserted",
|
|
@@ -250,7 +250,9 @@
|
|
|
250
250
|
"fieldName": "lastOperationTime",
|
|
251
251
|
"fieldType": "DATETIME"
|
|
252
252
|
},
|
|
253
|
-
"TimeseriesField": {
|
|
253
|
+
"TimeseriesField": {
|
|
254
|
+
"fieldType": "DATETIME"
|
|
255
|
+
},
|
|
254
256
|
"type": "long",
|
|
255
257
|
"name": "lastUpdatedTimestamp",
|
|
256
258
|
"doc": "The time at which the operation occurred. Would be better named 'operationTime'"
|
|
@@ -162,6 +162,75 @@
|
|
|
162
162
|
"name": "source",
|
|
163
163
|
"default": null,
|
|
164
164
|
"doc": "Source information for the ownership"
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"Searchable": {
|
|
168
|
+
"/actor": {
|
|
169
|
+
"fieldName": "ownerAttributionActors",
|
|
170
|
+
"fieldType": "URN",
|
|
171
|
+
"queryByDefault": false
|
|
172
|
+
},
|
|
173
|
+
"/source": {
|
|
174
|
+
"fieldName": "ownerAttributionSources",
|
|
175
|
+
"fieldType": "URN",
|
|
176
|
+
"queryByDefault": false
|
|
177
|
+
},
|
|
178
|
+
"/time": {
|
|
179
|
+
"fieldName": "ownerAttributionDates",
|
|
180
|
+
"fieldType": "DATETIME",
|
|
181
|
+
"queryByDefault": false
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
"type": [
|
|
185
|
+
"null",
|
|
186
|
+
{
|
|
187
|
+
"type": "record",
|
|
188
|
+
"name": "MetadataAttribution",
|
|
189
|
+
"namespace": "com.linkedin.pegasus2avro.common",
|
|
190
|
+
"fields": [
|
|
191
|
+
{
|
|
192
|
+
"type": "long",
|
|
193
|
+
"name": "time",
|
|
194
|
+
"doc": "When this metadata was updated."
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"java": {
|
|
198
|
+
"class": "com.linkedin.pegasus2avro.common.urn.Urn"
|
|
199
|
+
},
|
|
200
|
+
"type": "string",
|
|
201
|
+
"name": "actor",
|
|
202
|
+
"doc": "The entity (e.g. a member URN) responsible for applying the assocated metadata. This can\neither be a user (in case of UI edits) or the datahub system for automation.",
|
|
203
|
+
"Urn": "Urn"
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"java": {
|
|
207
|
+
"class": "com.linkedin.pegasus2avro.common.urn.Urn"
|
|
208
|
+
},
|
|
209
|
+
"type": [
|
|
210
|
+
"null",
|
|
211
|
+
"string"
|
|
212
|
+
],
|
|
213
|
+
"name": "source",
|
|
214
|
+
"default": null,
|
|
215
|
+
"doc": "The DataHub source responsible for applying the associated metadata. This will only be filled out\nwhen a DataHub source is responsible. This includes the specific metadata test urn, the automation urn.",
|
|
216
|
+
"Urn": "Urn"
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"type": {
|
|
220
|
+
"type": "map",
|
|
221
|
+
"values": "string"
|
|
222
|
+
},
|
|
223
|
+
"name": "sourceDetail",
|
|
224
|
+
"default": {},
|
|
225
|
+
"doc": "The details associated with why this metadata was applied. For example, this could include\nthe actual regex rule, sql statement, ingestion pipeline ID, etc."
|
|
226
|
+
}
|
|
227
|
+
],
|
|
228
|
+
"doc": "Information about who, why, and how this metadata was applied"
|
|
229
|
+
}
|
|
230
|
+
],
|
|
231
|
+
"name": "attribution",
|
|
232
|
+
"default": null,
|
|
233
|
+
"doc": "Information about who, why, and how this metadata was applied"
|
|
165
234
|
}
|
|
166
235
|
],
|
|
167
236
|
"doc": "Ownership information"
|
|
@@ -15,13 +15,6 @@
|
|
|
15
15
|
"namespace": "com.linkedin.pegasus2avro.query",
|
|
16
16
|
"fields": [
|
|
17
17
|
{
|
|
18
|
-
"Relationship": {
|
|
19
|
-
"entityTypes": [
|
|
20
|
-
"dataset",
|
|
21
|
-
"schemaField"
|
|
22
|
-
],
|
|
23
|
-
"name": "IsAssociatedWith"
|
|
24
|
-
},
|
|
25
18
|
"Searchable": {
|
|
26
19
|
"fieldName": "entities",
|
|
27
20
|
"fieldType": "URN"
|
|
@@ -32,11 +25,7 @@
|
|
|
32
25
|
"type": "string",
|
|
33
26
|
"name": "entity",
|
|
34
27
|
"doc": "An entity which is the subject of a query.",
|
|
35
|
-
"Urn": "Urn"
|
|
36
|
-
"entityTypes": [
|
|
37
|
-
"dataset",
|
|
38
|
-
"schemaField"
|
|
39
|
-
]
|
|
28
|
+
"Urn": "Urn"
|
|
40
29
|
}
|
|
41
30
|
],
|
|
42
31
|
"doc": "A single subject of a particular query.\nIn the future, we may evolve this model to include richer details\nabout the Query Subject in relation to the query."
|