openmetadata-ingestion 1.3.4.0__py3-none-any.whl → 1.4.0.0__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 openmetadata-ingestion might be problematic. Click here for more details.

Files changed (989) hide show
  1. metadata/__version__.py +13 -0
  2. metadata/automations/runner.py +9 -0
  3. metadata/cli/app.py +0 -1
  4. metadata/cli/lineage.py +5 -1
  5. metadata/cli/restore.py +7 -0
  6. metadata/cmd.py +2 -345
  7. metadata/data_insight/processor/reports/cost_analysis_report_data_processor.py +0 -1
  8. metadata/data_insight/processor/reports/web_analytic_report_data_processor.py +12 -5
  9. metadata/data_quality/api/models.py +1 -0
  10. metadata/data_quality/processor/test_case_runner.py +9 -2
  11. metadata/data_quality/source/test_suite.py +14 -3
  12. metadata/data_quality/validations/base_test_handler.py +1 -1
  13. metadata/data_quality/validations/column/base/columnValuesMissingCount.py +4 -1
  14. metadata/data_quality/validations/column/sqlalchemy/columnValuesToBeUnique.py +28 -17
  15. metadata/data_quality/validations/mixins/sqa_validator_mixin.py +4 -1
  16. metadata/data_quality/validations/table/base/tableCustomSQLQuery.py +1 -1
  17. metadata/examples/workflows/airbyte.yaml +1 -0
  18. metadata/examples/workflows/airflow.yaml +1 -1
  19. metadata/examples/workflows/airflow_backend.yaml +1 -1
  20. metadata/examples/workflows/airflow_postgres.yaml +1 -1
  21. metadata/examples/workflows/amundsen.yaml +1 -0
  22. metadata/examples/workflows/athena.yaml +1 -0
  23. metadata/examples/workflows/athena_lineage.yaml +1 -1
  24. metadata/examples/workflows/athena_usage.yaml +1 -0
  25. metadata/examples/workflows/atlas.yaml +1 -0
  26. metadata/examples/workflows/azuresql.yaml +1 -0
  27. metadata/examples/workflows/azuresql_lineage.yaml +1 -0
  28. metadata/examples/workflows/azuresql_usage.yaml +1 -0
  29. metadata/examples/workflows/bigquery.yaml +1 -0
  30. metadata/examples/workflows/bigquery_lineage.yaml +1 -0
  31. metadata/examples/workflows/bigquery_profiler.yaml +1 -0
  32. metadata/examples/workflows/bigquery_usage.yaml +1 -0
  33. metadata/examples/workflows/bigtable.yaml +1 -1
  34. metadata/examples/workflows/clickhouse.yaml +1 -0
  35. metadata/examples/workflows/clickhouse_lineage.yaml +1 -0
  36. metadata/examples/workflows/clickhouse_usage.yaml +1 -0
  37. metadata/examples/workflows/couchbase.yaml +1 -1
  38. metadata/examples/workflows/dagster.yaml +1 -0
  39. metadata/examples/workflows/data_insight.yaml +1 -1
  40. metadata/examples/workflows/databricks.yaml +1 -0
  41. metadata/examples/workflows/databricks_lineage.yaml +1 -0
  42. metadata/examples/workflows/databricks_pipeline.yaml +1 -0
  43. metadata/examples/workflows/databricks_usage.yaml +1 -0
  44. metadata/examples/workflows/datalake_azure_client_secret.yaml +1 -0
  45. metadata/examples/workflows/datalake_gcs.yaml +1 -0
  46. metadata/examples/workflows/datalake_profiler.yaml +1 -0
  47. metadata/examples/workflows/datalake_s3.yaml +1 -0
  48. metadata/examples/workflows/db2.yaml +1 -0
  49. metadata/examples/workflows/db2_profiler.yaml +1 -0
  50. metadata/examples/workflows/dbt.yaml +2 -0
  51. metadata/examples/workflows/deltalake.yaml +1 -0
  52. metadata/examples/workflows/domodashboard.yaml +1 -0
  53. metadata/examples/workflows/dynamodb.yaml +1 -0
  54. metadata/examples/workflows/elasticsearch.yaml +1 -1
  55. metadata/examples/workflows/fivetran.yaml +1 -0
  56. metadata/examples/workflows/glue.yaml +1 -0
  57. metadata/examples/workflows/gluepipeline.yaml +1 -0
  58. metadata/examples/workflows/hive.yaml +1 -0
  59. metadata/examples/workflows/impala.yaml +1 -0
  60. metadata/examples/workflows/kafka.yaml +1 -1
  61. metadata/examples/workflows/kafka_connect.yaml +30 -0
  62. metadata/examples/workflows/kinesis.yaml +1 -1
  63. metadata/examples/workflows/lightdash.yaml +1 -0
  64. metadata/examples/workflows/looker.yaml +1 -0
  65. metadata/examples/workflows/mariadb.yaml +1 -0
  66. metadata/examples/workflows/metabase.yaml +1 -0
  67. metadata/examples/workflows/mlflow.yaml +1 -0
  68. metadata/examples/workflows/mode.yaml +3 -1
  69. metadata/examples/workflows/mongodb.yaml +1 -0
  70. metadata/examples/workflows/mssql.yaml +1 -0
  71. metadata/examples/workflows/mssql_lineage.yaml +1 -0
  72. metadata/examples/workflows/mssql_usage.yaml +1 -0
  73. metadata/examples/workflows/mstr.yaml +1 -0
  74. metadata/examples/workflows/mysql.yaml +1 -0
  75. metadata/examples/workflows/mysql_profiler.yaml +1 -0
  76. metadata/examples/workflows/openmetadata.yaml +1 -0
  77. metadata/examples/workflows/oracle.yaml +1 -0
  78. metadata/examples/workflows/oracle_lineage.yaml +1 -1
  79. metadata/examples/workflows/oracle_usage.yaml +1 -0
  80. metadata/examples/workflows/pinotdb.yaml +1 -0
  81. metadata/examples/workflows/postgres.yaml +1 -0
  82. metadata/examples/workflows/postgres_lineage.yaml +1 -1
  83. metadata/examples/workflows/postgres_usage.yaml +1 -1
  84. metadata/examples/workflows/powerbi.yaml +52 -0
  85. metadata/examples/workflows/presto.yaml +1 -0
  86. metadata/examples/workflows/qlik_sense.yaml +6 -4
  87. metadata/examples/workflows/qlikcloud.yaml +31 -0
  88. metadata/examples/workflows/query_log_usage.yaml +1 -0
  89. metadata/examples/workflows/quicksight.yaml +1 -0
  90. metadata/examples/workflows/redash.yaml +1 -0
  91. metadata/examples/workflows/redpanda.yaml +1 -0
  92. metadata/examples/workflows/redshift.yaml +1 -0
  93. metadata/examples/workflows/redshift_lineage.yaml +1 -0
  94. metadata/examples/workflows/redshift_profiler.yaml +1 -0
  95. metadata/examples/workflows/redshift_usage.yaml +1 -0
  96. metadata/examples/workflows/sagemaker.yaml +1 -1
  97. metadata/examples/workflows/salesforce.yaml +1 -0
  98. metadata/examples/workflows/sas.yaml +1 -1
  99. metadata/examples/workflows/singlestore.yaml +1 -0
  100. metadata/examples/workflows/snowflake.yaml +1 -0
  101. metadata/examples/workflows/snowflake_lineage.yaml +1 -0
  102. metadata/examples/workflows/snowflake_usage.yaml +1 -0
  103. metadata/examples/workflows/spline.yaml +5 -4
  104. metadata/examples/workflows/sqlite.yaml +1 -0
  105. metadata/examples/workflows/superset.yaml +1 -0
  106. metadata/examples/workflows/tableau.yaml +1 -0
  107. metadata/examples/workflows/test_suite.yaml +13 -16
  108. metadata/examples/workflows/trino.yaml +1 -0
  109. metadata/examples/workflows/trino_lineage.yaml +1 -0
  110. metadata/examples/workflows/trino_usage.yaml +1 -0
  111. metadata/examples/workflows/unity_catalog.yaml +1 -1
  112. metadata/examples/workflows/unity_catalog_lineage.yaml +1 -1
  113. metadata/examples/workflows/unity_catalog_usage.yaml +1 -1
  114. metadata/examples/workflows/vertica.yaml +1 -0
  115. metadata/generated/antlr/EntityLinkLexer.py +354 -349
  116. metadata/generated/schema/analytics/__init__.py +1 -1
  117. metadata/generated/schema/analytics/basic.py +1 -1
  118. metadata/generated/schema/analytics/reportData.py +1 -1
  119. metadata/generated/schema/analytics/reportDataType/__init__.py +1 -1
  120. metadata/generated/schema/analytics/reportDataType/aggregatedCostAnalysisReportData.py +1 -1
  121. metadata/generated/schema/analytics/reportDataType/entityReportData.py +1 -1
  122. metadata/generated/schema/analytics/reportDataType/rawCostAnalysisReportData.py +1 -1
  123. metadata/generated/schema/analytics/reportDataType/webAnalyticEntityViewReportData.py +1 -1
  124. metadata/generated/schema/analytics/reportDataType/webAnalyticUserActivityReportData.py +1 -1
  125. metadata/generated/schema/analytics/webAnalyticEvent.py +1 -1
  126. metadata/generated/schema/analytics/webAnalyticEventData.py +1 -1
  127. metadata/generated/schema/analytics/webAnalyticEventType/__init__.py +1 -1
  128. metadata/generated/schema/analytics/webAnalyticEventType/customEvent.py +1 -1
  129. metadata/generated/schema/analytics/webAnalyticEventType/pageViewEvent.py +1 -1
  130. metadata/generated/schema/api/__init__.py +1 -1
  131. metadata/generated/schema/api/addGlossaryToAssetsRequest.py +1 -1
  132. metadata/generated/schema/api/analytics/__init__.py +1 -1
  133. metadata/generated/schema/api/analytics/createWebAnalyticEvent.py +1 -1
  134. metadata/generated/schema/api/automations/__init__.py +1 -1
  135. metadata/generated/schema/api/automations/createWorkflow.py +1 -1
  136. metadata/generated/schema/api/bulkAssets.py +1 -1
  137. metadata/generated/schema/api/classification/__init__.py +1 -1
  138. metadata/generated/schema/api/classification/createClassification.py +2 -3
  139. metadata/generated/schema/api/classification/createTag.py +2 -3
  140. metadata/generated/schema/api/classification/loadTags.py +1 -1
  141. metadata/generated/schema/api/createBot.py +1 -1
  142. metadata/generated/schema/api/createEventPublisherJob.py +1 -1
  143. metadata/generated/schema/api/createType.py +1 -1
  144. metadata/generated/schema/api/data/__init__.py +1 -1
  145. metadata/generated/schema/api/data/createChart.py +1 -1
  146. metadata/generated/schema/api/data/createContainer.py +4 -1
  147. metadata/generated/schema/api/data/createCustomProperty.py +1 -1
  148. metadata/generated/schema/api/data/createDashboard.py +1 -1
  149. metadata/generated/schema/api/data/createDashboardDataModel.py +1 -1
  150. metadata/generated/schema/api/data/createDatabase.py +1 -1
  151. metadata/generated/schema/api/data/createDatabaseSchema.py +1 -1
  152. metadata/generated/schema/api/data/createGlossary.py +1 -1
  153. metadata/generated/schema/api/data/createGlossaryTerm.py +1 -1
  154. metadata/generated/schema/api/data/createMlModel.py +1 -1
  155. metadata/generated/schema/api/data/createPipeline.py +1 -1
  156. metadata/generated/schema/api/data/createQuery.py +1 -1
  157. metadata/generated/schema/api/data/createSearchIndex.py +1 -1
  158. metadata/generated/schema/api/data/createStoredProcedure.py +1 -1
  159. metadata/generated/schema/api/data/createTable.py +4 -3
  160. metadata/generated/schema/api/data/createTableProfile.py +1 -1
  161. metadata/generated/schema/api/data/createTopic.py +1 -1
  162. metadata/generated/schema/api/data/loadGlossary.py +1 -1
  163. metadata/generated/schema/api/data/restoreEntity.py +1 -1
  164. metadata/generated/schema/api/dataInsight/__init__.py +1 -1
  165. metadata/generated/schema/api/dataInsight/createDataInsightChart.py +1 -1
  166. metadata/generated/schema/api/dataInsight/kpi/__init__.py +1 -1
  167. metadata/generated/schema/api/dataInsight/kpi/createKpiRequest.py +1 -1
  168. metadata/generated/schema/api/docStore/__init__.py +1 -1
  169. metadata/generated/schema/api/docStore/createDocument.py +1 -1
  170. metadata/generated/schema/api/domains/__init__.py +1 -1
  171. metadata/generated/schema/api/domains/createDataProduct.py +1 -1
  172. metadata/generated/schema/api/domains/createDomain.py +1 -1
  173. metadata/generated/schema/api/feed/__init__.py +1 -1
  174. metadata/generated/schema/api/feed/closeTask.py +1 -1
  175. metadata/generated/schema/api/feed/createPost.py +1 -1
  176. metadata/generated/schema/api/feed/createSuggestion.py +1 -1
  177. metadata/generated/schema/api/feed/createThread.py +1 -1
  178. metadata/generated/schema/api/feed/resolveTask.py +1 -1
  179. metadata/generated/schema/api/feed/threadCount.py +1 -1
  180. metadata/generated/schema/api/lineage/__init__.py +1 -1
  181. metadata/generated/schema/api/lineage/addLineage.py +1 -1
  182. metadata/generated/schema/api/openMetadataServerVersion.py +1 -1
  183. metadata/generated/schema/api/policies/__init__.py +1 -1
  184. metadata/generated/schema/api/policies/createPolicy.py +1 -1
  185. metadata/generated/schema/api/services/__init__.py +1 -1
  186. metadata/generated/schema/api/services/createDashboardService.py +1 -1
  187. metadata/generated/schema/api/services/createDatabaseService.py +1 -1
  188. metadata/generated/schema/api/services/createMessagingService.py +1 -1
  189. metadata/generated/schema/api/services/createMetadataService.py +1 -1
  190. metadata/generated/schema/api/services/createMlModelService.py +1 -1
  191. metadata/generated/schema/api/services/createPipelineService.py +1 -1
  192. metadata/generated/schema/api/services/createSearchService.py +1 -1
  193. metadata/generated/schema/api/services/createStorageService.py +1 -1
  194. metadata/generated/schema/api/services/ingestionPipelines/__init__.py +1 -1
  195. metadata/generated/schema/api/services/ingestionPipelines/createIngestionPipeline.py +1 -1
  196. metadata/generated/schema/api/setOwner.py +1 -1
  197. metadata/generated/schema/api/teams/__init__.py +1 -1
  198. metadata/generated/schema/api/teams/createPersona.py +1 -1
  199. metadata/generated/schema/api/teams/createRole.py +1 -1
  200. metadata/generated/schema/api/teams/createTeam.py +1 -1
  201. metadata/generated/schema/api/teams/createUser.py +2 -2
  202. metadata/generated/schema/api/tests/__init__.py +1 -1
  203. metadata/generated/schema/api/tests/createCustomMetric.py +1 -1
  204. metadata/generated/schema/api/tests/createLogicalTestCases.py +1 -1
  205. metadata/generated/schema/api/tests/createTestCase.py +2 -2
  206. metadata/generated/schema/api/tests/createTestCaseResolutionStatus.py +1 -1
  207. metadata/generated/schema/api/tests/createTestDefinition.py +2 -2
  208. metadata/generated/schema/api/tests/createTestSuite.py +1 -1
  209. metadata/generated/schema/api/voteRequest.py +1 -1
  210. metadata/generated/schema/auth/__init__.py +1 -1
  211. metadata/generated/schema/auth/basicAuth.py +1 -1
  212. metadata/generated/schema/auth/basicLoginRequest.py +1 -1
  213. metadata/generated/schema/auth/changePasswordRequest.py +1 -1
  214. metadata/generated/schema/auth/createPersonalToken.py +1 -1
  215. metadata/generated/schema/auth/emailRequest.py +1 -1
  216. metadata/generated/schema/auth/emailVerificationToken.py +1 -1
  217. metadata/generated/schema/auth/generateToken.py +1 -1
  218. metadata/generated/schema/auth/jwtAuth.py +1 -1
  219. metadata/generated/schema/auth/loginRequest.py +1 -1
  220. metadata/generated/schema/auth/logoutRequest.py +1 -1
  221. metadata/generated/schema/auth/passwordResetRequest.py +1 -1
  222. metadata/generated/schema/auth/passwordResetToken.py +1 -1
  223. metadata/generated/schema/auth/personalAccessToken.py +1 -1
  224. metadata/generated/schema/auth/refreshToken.py +1 -1
  225. metadata/generated/schema/auth/registrationRequest.py +1 -1
  226. metadata/generated/schema/auth/revokePersonalToken.py +1 -1
  227. metadata/generated/schema/auth/revokeToken.py +1 -1
  228. metadata/generated/schema/auth/serviceTokenEnum.py +1 -1
  229. metadata/generated/schema/auth/ssoAuth.py +1 -1
  230. metadata/generated/schema/auth/tokenRefreshRequest.py +1 -1
  231. metadata/generated/schema/configuration/__init__.py +1 -1
  232. metadata/generated/schema/configuration/appsPrivateConfiguration.py +1 -1
  233. metadata/generated/schema/configuration/authConfig.py +1 -1
  234. metadata/generated/schema/configuration/authenticationConfiguration.py +1 -1
  235. metadata/generated/schema/configuration/authorizerConfiguration.py +4 -1
  236. metadata/generated/schema/configuration/changeEventConfiguration.py +1 -1
  237. metadata/generated/schema/configuration/dataQualityConfiguration.py +1 -1
  238. metadata/generated/schema/configuration/elasticSearchConfiguration.py +4 -1
  239. metadata/generated/schema/configuration/eventHandlerConfiguration.py +1 -1
  240. metadata/generated/schema/configuration/fernetConfiguration.py +1 -1
  241. metadata/generated/schema/configuration/jwtTokenConfiguration.py +1 -1
  242. metadata/generated/schema/configuration/kafkaEventConfiguration.py +1 -1
  243. metadata/generated/schema/configuration/ldapConfiguration.py +1 -1
  244. metadata/generated/schema/configuration/ldapTrustStoreConfig/__init__.py +1 -1
  245. metadata/generated/schema/configuration/ldapTrustStoreConfig/customTrustManagerConfig.py +1 -1
  246. metadata/generated/schema/configuration/ldapTrustStoreConfig/hostNameConfig.py +1 -1
  247. metadata/generated/schema/configuration/ldapTrustStoreConfig/jvmDefaultConfig.py +1 -1
  248. metadata/generated/schema/configuration/ldapTrustStoreConfig/trustAllConfig.py +1 -1
  249. metadata/generated/schema/configuration/ldapTrustStoreConfig/truststoreConfig.py +1 -1
  250. metadata/generated/schema/configuration/loginConfiguration.py +1 -1
  251. metadata/generated/schema/configuration/logoConfiguration.py +1 -1
  252. metadata/generated/schema/configuration/pipelineServiceClientConfiguration.py +1 -1
  253. metadata/generated/schema/configuration/profilerConfiguration.py +66 -0
  254. metadata/generated/schema/configuration/slackAppConfiguration.py +1 -1
  255. metadata/generated/schema/configuration/taskNotificationConfiguration.py +1 -1
  256. metadata/generated/schema/configuration/testResultNotificationConfiguration.py +1 -1
  257. metadata/generated/schema/configuration/themeConfiguration.py +32 -0
  258. metadata/generated/schema/configuration/uiThemePreference.py +23 -0
  259. metadata/generated/schema/dataInsight/__init__.py +1 -1
  260. metadata/generated/schema/dataInsight/dataInsightChart.py +1 -1
  261. metadata/generated/schema/dataInsight/dataInsightChartResult.py +1 -1
  262. metadata/generated/schema/dataInsight/kpi/__init__.py +1 -1
  263. metadata/generated/schema/dataInsight/kpi/basic.py +1 -1
  264. metadata/generated/schema/dataInsight/kpi/kpi.py +1 -1
  265. metadata/generated/schema/dataInsight/type/__init__.py +1 -1
  266. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsCount.py +1 -1
  267. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsSize.py +1 -1
  268. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsCount.py +1 -1
  269. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsSize.py +1 -1
  270. metadata/generated/schema/dataInsight/type/dailyActiveUsers.py +1 -1
  271. metadata/generated/schema/dataInsight/type/mostActiveUsers.py +1 -1
  272. metadata/generated/schema/dataInsight/type/mostViewedEntities.py +1 -1
  273. metadata/generated/schema/dataInsight/type/pageViewsByEntities.py +1 -1
  274. metadata/generated/schema/dataInsight/type/percentageOfEntitiesWithDescriptionByType.py +1 -1
  275. metadata/generated/schema/dataInsight/type/percentageOfEntitiesWithOwnerByType.py +1 -1
  276. metadata/generated/schema/dataInsight/type/percentageOfServicesWithDescription.py +1 -1
  277. metadata/generated/schema/dataInsight/type/percentageOfServicesWithOwner.py +1 -1
  278. metadata/generated/schema/dataInsight/type/totalEntitiesByTier.py +1 -1
  279. metadata/generated/schema/dataInsight/type/totalEntitiesByType.py +1 -1
  280. metadata/generated/schema/dataInsight/type/unusedAssets.py +1 -1
  281. metadata/generated/schema/email/__init__.py +1 -1
  282. metadata/generated/schema/email/emailRequest.py +1 -1
  283. metadata/generated/schema/email/smtpSettings.py +3 -3
  284. metadata/generated/schema/entity/__init__.py +1 -1
  285. metadata/generated/schema/entity/applications/__init__.py +1 -1
  286. metadata/generated/schema/entity/applications/app.py +1 -1
  287. metadata/generated/schema/entity/applications/appRunRecord.py +1 -1
  288. metadata/generated/schema/entity/applications/configuration/__init__.py +1 -1
  289. metadata/generated/schema/entity/applications/configuration/applicationConfig.py +3 -3
  290. metadata/generated/schema/entity/applications/configuration/external/__init__.py +1 -1
  291. metadata/generated/schema/entity/applications/configuration/external/automator/__init__.py +5 -0
  292. metadata/generated/schema/entity/applications/configuration/external/automator/addDescriptionAction.py +36 -0
  293. metadata/generated/schema/entity/applications/configuration/external/automator/addDomainAction.py +31 -0
  294. metadata/generated/schema/entity/applications/configuration/external/automator/addOwnerAction.py +31 -0
  295. metadata/generated/schema/entity/applications/configuration/external/automator/addTagsAction.py +36 -0
  296. metadata/generated/schema/entity/applications/configuration/external/automator/addTierAction.py +31 -0
  297. metadata/generated/schema/entity/applications/configuration/external/automator/lineagePropagationAction.py +28 -0
  298. metadata/generated/schema/entity/applications/configuration/external/automator/mlTaggingAction.py +22 -0
  299. metadata/generated/schema/entity/applications/configuration/external/automator/removeDescriptionAction.py +30 -0
  300. metadata/generated/schema/entity/applications/configuration/external/automator/removeDomainAction.py +22 -0
  301. metadata/generated/schema/entity/applications/configuration/external/automator/removeOwnerAction.py +22 -0
  302. metadata/generated/schema/entity/applications/configuration/external/automator/removeTagsAction.py +31 -0
  303. metadata/generated/schema/entity/applications/configuration/external/automator/removeTierAction.py +22 -0
  304. metadata/generated/schema/entity/applications/configuration/external/automatorAppConfig.py +75 -0
  305. metadata/generated/schema/entity/applications/configuration/external/metaPilotAppConfig.py +1 -1
  306. metadata/generated/schema/entity/applications/configuration/internal/__init__.py +1 -1
  307. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsAppConfig.py +1 -1
  308. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsReportAppConfig.py +1 -1
  309. metadata/generated/schema/entity/applications/configuration/internal/searchIndexingAppConfig.py +1 -1
  310. metadata/generated/schema/entity/applications/configuration/private/external/__init__.py +1 -1
  311. metadata/generated/schema/entity/applications/configuration/private/external/metaPilotAppPrivateConfig.py +1 -1
  312. metadata/generated/schema/entity/applications/createAppRequest.py +1 -1
  313. metadata/generated/schema/entity/applications/jobStatus.py +1 -1
  314. metadata/generated/schema/entity/applications/liveExecutionContext.py +1 -1
  315. metadata/generated/schema/entity/applications/marketplace/__init__.py +1 -1
  316. metadata/generated/schema/entity/applications/marketplace/appMarketPlaceDefinition.py +1 -1
  317. metadata/generated/schema/entity/applications/marketplace/createAppMarketPlaceDefinitionReq.py +1 -1
  318. metadata/generated/schema/entity/applications/scheduledExecutionContext.py +1 -1
  319. metadata/generated/schema/entity/automations/__init__.py +1 -1
  320. metadata/generated/schema/entity/automations/testServiceConnection.py +1 -1
  321. metadata/generated/schema/entity/automations/workflow.py +1 -1
  322. metadata/generated/schema/entity/bot.py +1 -1
  323. metadata/generated/schema/entity/classification/__init__.py +1 -1
  324. metadata/generated/schema/entity/classification/classification.py +2 -3
  325. metadata/generated/schema/entity/classification/tag.py +3 -9
  326. metadata/generated/schema/entity/data/__init__.py +1 -1
  327. metadata/generated/schema/entity/data/chart.py +1 -1
  328. metadata/generated/schema/entity/data/container.py +4 -1
  329. metadata/generated/schema/entity/data/dashboard.py +1 -1
  330. metadata/generated/schema/entity/data/dashboardDataModel.py +2 -2
  331. metadata/generated/schema/entity/data/database.py +1 -1
  332. metadata/generated/schema/entity/data/databaseSchema.py +1 -1
  333. metadata/generated/schema/entity/data/glossary.py +1 -1
  334. metadata/generated/schema/entity/data/glossaryTerm.py +4 -1
  335. metadata/generated/schema/entity/data/metrics.py +1 -1
  336. metadata/generated/schema/entity/data/mlmodel.py +2 -2
  337. metadata/generated/schema/entity/data/pipeline.py +1 -1
  338. metadata/generated/schema/entity/data/query.py +1 -1
  339. metadata/generated/schema/entity/data/report.py +1 -1
  340. metadata/generated/schema/entity/data/searchIndex.py +1 -1
  341. metadata/generated/schema/entity/data/storedProcedure.py +1 -1
  342. metadata/generated/schema/entity/data/table.py +26 -24
  343. metadata/generated/schema/entity/data/topic.py +1 -1
  344. metadata/generated/schema/entity/docStore/__init__.py +1 -1
  345. metadata/generated/schema/entity/docStore/document.py +1 -1
  346. metadata/generated/schema/entity/domains/__init__.py +1 -1
  347. metadata/generated/schema/entity/domains/dataProduct.py +1 -1
  348. metadata/generated/schema/entity/domains/domain.py +1 -1
  349. metadata/generated/schema/entity/events/__init__.py +1 -1
  350. metadata/generated/schema/entity/events/webhook.py +1 -1
  351. metadata/generated/schema/entity/feed/__init__.py +1 -1
  352. metadata/generated/schema/entity/feed/assets.py +18 -0
  353. metadata/generated/schema/entity/feed/customProperty.py +17 -0
  354. metadata/generated/schema/entity/feed/description.py +24 -0
  355. metadata/generated/schema/entity/feed/domain.py +23 -0
  356. metadata/generated/schema/entity/feed/entityInfo.py +19 -0
  357. metadata/generated/schema/entity/feed/owner.py +23 -0
  358. metadata/generated/schema/entity/feed/suggestion.py +1 -1
  359. metadata/generated/schema/entity/feed/tag.py +23 -0
  360. metadata/generated/schema/entity/feed/testCaseResult.py +26 -0
  361. metadata/generated/schema/entity/feed/thread.py +81 -2
  362. metadata/generated/schema/entity/policies/__init__.py +1 -1
  363. metadata/generated/schema/entity/policies/accessControl/__init__.py +1 -1
  364. metadata/generated/schema/entity/policies/accessControl/resourceDescriptor.py +3 -1
  365. metadata/generated/schema/entity/policies/accessControl/resourcePermission.py +1 -1
  366. metadata/generated/schema/entity/policies/accessControl/rule.py +1 -1
  367. metadata/generated/schema/entity/policies/filters.py +3 -3
  368. metadata/generated/schema/entity/policies/policy.py +1 -1
  369. metadata/generated/schema/entity/services/__init__.py +1 -1
  370. metadata/generated/schema/entity/services/connections/__init__.py +1 -1
  371. metadata/generated/schema/entity/services/connections/common/__init__.py +1 -1
  372. metadata/generated/schema/entity/services/connections/common/sslCertPaths.py +1 -1
  373. metadata/generated/schema/entity/services/connections/common/sslCertValues.py +1 -1
  374. metadata/generated/schema/entity/services/connections/common/sslConfig.py +1 -1
  375. metadata/generated/schema/entity/services/connections/connectionBasicType.py +1 -1
  376. metadata/generated/schema/entity/services/connections/dashboard/__init__.py +1 -1
  377. metadata/generated/schema/entity/services/connections/dashboard/customDashboardConnection.py +1 -1
  378. metadata/generated/schema/entity/services/connections/dashboard/domoDashboardConnection.py +1 -1
  379. metadata/generated/schema/entity/services/connections/dashboard/lightdashConnection.py +1 -1
  380. metadata/generated/schema/entity/services/connections/dashboard/lookerConnection.py +1 -1
  381. metadata/generated/schema/entity/services/connections/dashboard/metabaseConnection.py +1 -1
  382. metadata/generated/schema/entity/services/connections/dashboard/modeConnection.py +1 -1
  383. metadata/generated/schema/entity/services/connections/dashboard/mstrConnection.py +1 -1
  384. metadata/generated/schema/entity/services/connections/dashboard/powerBIConnection.py +33 -2
  385. metadata/generated/schema/entity/services/connections/dashboard/powerbi/__init__.py +3 -0
  386. metadata/generated/schema/entity/services/connections/dashboard/powerbi/azureConfig.py +37 -0
  387. metadata/generated/schema/entity/services/connections/dashboard/powerbi/bucketDetails.py +25 -0
  388. metadata/generated/schema/entity/services/connections/dashboard/powerbi/gcsConfig.py +37 -0
  389. metadata/generated/schema/entity/services/connections/dashboard/powerbi/s3Config.py +37 -0
  390. metadata/generated/schema/entity/services/connections/dashboard/qlikCloudConnection.py +38 -0
  391. metadata/generated/schema/entity/services/connections/dashboard/qlikSenseConnection.py +6 -15
  392. metadata/generated/schema/entity/services/connections/dashboard/quickSightConnection.py +1 -1
  393. metadata/generated/schema/entity/services/connections/dashboard/redashConnection.py +1 -1
  394. metadata/generated/schema/entity/services/connections/dashboard/supersetConnection.py +1 -1
  395. metadata/generated/schema/entity/services/connections/dashboard/tableauConnection.py +1 -1
  396. metadata/generated/schema/entity/services/connections/database/__init__.py +1 -1
  397. metadata/generated/schema/entity/services/connections/database/athenaConnection.py +1 -1
  398. metadata/generated/schema/entity/services/connections/database/azureSQLConnection.py +1 -1
  399. metadata/generated/schema/entity/services/connections/database/bigQueryConnection.py +1 -1
  400. metadata/generated/schema/entity/services/connections/database/bigTableConnection.py +1 -1
  401. metadata/generated/schema/entity/services/connections/database/clickhouseConnection.py +1 -1
  402. metadata/generated/schema/entity/services/connections/database/common/__init__.py +1 -1
  403. metadata/generated/schema/entity/services/connections/database/common/azureConfig.py +1 -1
  404. metadata/generated/schema/entity/services/connections/database/common/basicAuth.py +1 -1
  405. metadata/generated/schema/entity/services/connections/database/common/iamAuthConfig.py +1 -1
  406. metadata/generated/schema/entity/services/connections/database/common/jwtAuth.py +1 -1
  407. metadata/generated/schema/entity/services/connections/database/couchbaseConnection.py +1 -1
  408. metadata/generated/schema/entity/services/connections/database/customDatabaseConnection.py +1 -1
  409. metadata/generated/schema/entity/services/connections/database/databricksConnection.py +1 -1
  410. metadata/generated/schema/entity/services/connections/database/datalake/__init__.py +1 -1
  411. metadata/generated/schema/entity/services/connections/database/datalake/azureConfig.py +1 -1
  412. metadata/generated/schema/entity/services/connections/database/datalake/gcsConfig.py +1 -1
  413. metadata/generated/schema/entity/services/connections/database/datalake/s3Config.py +1 -1
  414. metadata/generated/schema/entity/services/connections/database/datalakeConnection.py +1 -1
  415. metadata/generated/schema/entity/services/connections/database/db2Connection.py +1 -1
  416. metadata/generated/schema/entity/services/connections/database/deltaLakeConnection.py +2 -2
  417. metadata/generated/schema/entity/services/connections/database/domoDatabaseConnection.py +1 -1
  418. metadata/generated/schema/entity/services/connections/database/dorisConnection.py +4 -13
  419. metadata/generated/schema/entity/services/connections/database/druidConnection.py +1 -1
  420. metadata/generated/schema/entity/services/connections/database/dynamoDBConnection.py +4 -1
  421. metadata/generated/schema/entity/services/connections/database/glueConnection.py +1 -1
  422. metadata/generated/schema/entity/services/connections/database/greenplumConnection.py +2 -15
  423. metadata/generated/schema/entity/services/connections/database/hiveConnection.py +1 -1
  424. metadata/generated/schema/entity/services/connections/database/iceberg/__init__.py +1 -1
  425. metadata/generated/schema/entity/services/connections/database/iceberg/dynamoDbCatalogConnection.py +1 -1
  426. metadata/generated/schema/entity/services/connections/database/iceberg/glueCatalogConnection.py +1 -1
  427. metadata/generated/schema/entity/services/connections/database/iceberg/hiveCatalogConnection.py +1 -1
  428. metadata/generated/schema/entity/services/connections/database/iceberg/icebergCatalog.py +1 -1
  429. metadata/generated/schema/entity/services/connections/database/iceberg/icebergFileSystem.py +1 -1
  430. metadata/generated/schema/entity/services/connections/database/iceberg/restCatalogConnection.py +1 -1
  431. metadata/generated/schema/entity/services/connections/database/icebergConnection.py +1 -1
  432. metadata/generated/schema/entity/services/connections/database/impalaConnection.py +1 -1
  433. metadata/generated/schema/entity/services/connections/database/mariaDBConnection.py +1 -1
  434. metadata/generated/schema/entity/services/connections/database/mongoDBConnection.py +4 -1
  435. metadata/generated/schema/entity/services/connections/database/mssqlConnection.py +1 -1
  436. metadata/generated/schema/entity/services/connections/database/mysqlConnection.py +4 -13
  437. metadata/generated/schema/entity/services/connections/database/oracleConnection.py +1 -1
  438. metadata/generated/schema/entity/services/connections/database/pinotDBConnection.py +1 -1
  439. metadata/generated/schema/entity/services/connections/database/postgresConnection.py +2 -15
  440. metadata/generated/schema/entity/services/connections/database/prestoConnection.py +11 -1
  441. metadata/generated/schema/entity/services/connections/database/redshiftConnection.py +2 -15
  442. metadata/generated/schema/entity/services/connections/database/salesforceConnection.py +1 -1
  443. metadata/generated/schema/entity/services/connections/database/sapHana/__init__.py +1 -1
  444. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaHDBConnection.py +1 -1
  445. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaSQLConnection.py +1 -1
  446. metadata/generated/schema/entity/services/connections/database/sapHanaConnection.py +1 -1
  447. metadata/generated/schema/entity/services/connections/database/sasConnection.py +1 -1
  448. metadata/generated/schema/entity/services/connections/database/singleStoreConnection.py +1 -1
  449. metadata/generated/schema/entity/services/connections/database/snowflakeConnection.py +1 -1
  450. metadata/generated/schema/entity/services/connections/database/sqliteConnection.py +1 -1
  451. metadata/generated/schema/entity/services/connections/database/trinoConnection.py +12 -3
  452. metadata/generated/schema/entity/services/connections/database/unityCatalogConnection.py +1 -1
  453. metadata/generated/schema/entity/services/connections/database/verticaConnection.py +1 -1
  454. metadata/generated/schema/entity/services/connections/messaging/__init__.py +1 -1
  455. metadata/generated/schema/entity/services/connections/messaging/customMessagingConnection.py +1 -1
  456. metadata/generated/schema/entity/services/connections/messaging/kafkaConnection.py +7 -1
  457. metadata/generated/schema/entity/services/connections/messaging/kinesisConnection.py +1 -1
  458. metadata/generated/schema/entity/services/connections/messaging/pulsarConnection.py +1 -1
  459. metadata/generated/schema/entity/services/connections/messaging/redpandaConnection.py +1 -1
  460. metadata/generated/schema/entity/services/connections/messaging/saslMechanismType.py +1 -1
  461. metadata/generated/schema/entity/services/connections/metadata/__init__.py +1 -1
  462. metadata/generated/schema/entity/services/connections/metadata/alationConnection.py +7 -3
  463. metadata/generated/schema/entity/services/connections/metadata/amundsenConnection.py +1 -1
  464. metadata/generated/schema/entity/services/connections/metadata/atlasConnection.py +1 -1
  465. metadata/generated/schema/entity/services/connections/metadata/metadataESConnection.py +1 -1
  466. metadata/generated/schema/entity/services/connections/metadata/openMetadataConnection.py +1 -1
  467. metadata/generated/schema/entity/services/connections/mlmodel/__init__.py +1 -1
  468. metadata/generated/schema/entity/services/connections/mlmodel/customMlModelConnection.py +1 -1
  469. metadata/generated/schema/entity/services/connections/mlmodel/mlflowConnection.py +1 -1
  470. metadata/generated/schema/entity/services/connections/mlmodel/sageMakerConnection.py +1 -1
  471. metadata/generated/schema/entity/services/connections/mlmodel/sklearnConnection.py +1 -1
  472. metadata/generated/schema/entity/services/connections/pipeline/__init__.py +1 -1
  473. metadata/generated/schema/entity/services/connections/pipeline/airbyteConnection.py +1 -1
  474. metadata/generated/schema/entity/services/connections/pipeline/airflowConnection.py +1 -1
  475. metadata/generated/schema/entity/services/connections/pipeline/backendConnection.py +1 -1
  476. metadata/generated/schema/entity/services/connections/pipeline/customPipelineConnection.py +1 -1
  477. metadata/generated/schema/entity/services/connections/pipeline/dagsterConnection.py +1 -1
  478. metadata/generated/schema/entity/services/connections/pipeline/databricksPipelineConnection.py +1 -1
  479. metadata/generated/schema/entity/services/connections/pipeline/domoPipelineConnection.py +1 -1
  480. metadata/generated/schema/entity/services/connections/pipeline/fivetranConnection.py +1 -1
  481. metadata/generated/schema/entity/services/connections/pipeline/gluePipelineConnection.py +1 -1
  482. metadata/generated/schema/entity/services/connections/pipeline/kafkaConnectConnection.py +61 -0
  483. metadata/generated/schema/entity/services/connections/pipeline/nifiConnection.py +1 -1
  484. metadata/generated/schema/entity/services/connections/pipeline/openLineageConnection.py +73 -0
  485. metadata/generated/schema/entity/services/connections/pipeline/sparkConnection.py +1 -1
  486. metadata/generated/schema/entity/services/connections/pipeline/splineConnection.py +1 -1
  487. metadata/generated/schema/entity/services/connections/search/__init__.py +1 -1
  488. metadata/generated/schema/entity/services/connections/search/customSearchConnection.py +1 -1
  489. metadata/generated/schema/entity/services/connections/search/elasticSearch/__init__.py +1 -1
  490. metadata/generated/schema/entity/services/connections/search/elasticSearch/apiAuth.py +1 -1
  491. metadata/generated/schema/entity/services/connections/search/elasticSearch/basicAuth.py +1 -1
  492. metadata/generated/schema/entity/services/connections/search/elasticSearchConnection.py +1 -1
  493. metadata/generated/schema/entity/services/connections/search/openSearchConnection.py +1 -1
  494. metadata/generated/schema/entity/services/connections/serviceConnection.py +1 -1
  495. metadata/generated/schema/entity/services/connections/storage/__init__.py +1 -1
  496. metadata/generated/schema/entity/services/connections/storage/adlsConnection.py +1 -1
  497. metadata/generated/schema/entity/services/connections/storage/customStorageConnection.py +1 -1
  498. metadata/generated/schema/entity/services/connections/storage/gcsConnection.py +1 -1
  499. metadata/generated/schema/entity/services/connections/storage/s3Connection.py +5 -2
  500. metadata/generated/schema/entity/services/connections/testConnectionDefinition.py +1 -1
  501. metadata/generated/schema/entity/services/connections/testConnectionResult.py +1 -1
  502. metadata/generated/schema/entity/services/dashboardService.py +4 -1
  503. metadata/generated/schema/entity/services/databaseService.py +1 -1
  504. metadata/generated/schema/entity/services/ingestionPipelines/__init__.py +1 -1
  505. metadata/generated/schema/entity/services/ingestionPipelines/ingestionPipeline.py +1 -1
  506. metadata/generated/schema/entity/services/ingestionPipelines/pipelineServiceClientResponse.py +1 -1
  507. metadata/generated/schema/entity/services/ingestionPipelines/status.py +1 -1
  508. metadata/generated/schema/entity/services/messagingService.py +1 -1
  509. metadata/generated/schema/entity/services/metadataService.py +1 -1
  510. metadata/generated/schema/entity/services/mlmodelService.py +1 -1
  511. metadata/generated/schema/entity/services/pipelineService.py +7 -1
  512. metadata/generated/schema/entity/services/searchService.py +1 -1
  513. metadata/generated/schema/entity/services/serviceType.py +1 -1
  514. metadata/generated/schema/entity/services/storageService.py +1 -1
  515. metadata/generated/schema/entity/teams/__init__.py +1 -1
  516. metadata/generated/schema/entity/teams/persona.py +1 -1
  517. metadata/generated/schema/entity/teams/role.py +1 -1
  518. metadata/generated/schema/entity/teams/team.py +1 -1
  519. metadata/generated/schema/entity/teams/teamHierarchy.py +1 -1
  520. metadata/generated/schema/entity/teams/user.py +2 -2
  521. metadata/generated/schema/entity/type.py +1 -1
  522. metadata/generated/schema/entity/utils/__init__.py +1 -1
  523. metadata/generated/schema/entity/utils/entitiesCount.py +1 -1
  524. metadata/generated/schema/entity/utils/servicesCount.py +1 -1
  525. metadata/generated/schema/entity/utils/supersetApiConnection.py +1 -1
  526. metadata/generated/schema/events/__init__.py +1 -1
  527. metadata/generated/schema/events/alertMetrics.py +1 -1
  528. metadata/generated/schema/events/api/__init__.py +1 -1
  529. metadata/generated/schema/events/api/createEventSubscription.py +1 -1
  530. metadata/generated/schema/events/emailAlertConfig.py +1 -1
  531. metadata/generated/schema/events/eventFilterRule.py +10 -1
  532. metadata/generated/schema/events/eventSubscription.py +6 -2
  533. metadata/generated/schema/events/eventSubscriptionOffset.py +1 -1
  534. metadata/generated/schema/events/failedEvent.py +1 -1
  535. metadata/generated/schema/events/filterResourceDescriptor.py +1 -1
  536. metadata/generated/schema/events/subscriptionResourceDescriptor.py +1 -1
  537. metadata/generated/schema/metadataIngestion/__init__.py +1 -1
  538. metadata/generated/schema/metadataIngestion/application.py +1 -1
  539. metadata/generated/schema/metadataIngestion/applicationPipeline.py +1 -1
  540. metadata/generated/schema/metadataIngestion/dashboardServiceMetadataPipeline.py +19 -6
  541. metadata/generated/schema/metadataIngestion/dataInsightPipeline.py +1 -1
  542. metadata/generated/schema/metadataIngestion/databaseServiceMetadataPipeline.py +37 -1
  543. metadata/generated/schema/metadataIngestion/databaseServiceProfilerPipeline.py +23 -23
  544. metadata/generated/schema/metadataIngestion/databaseServiceQueryLineagePipeline.py +1 -1
  545. metadata/generated/schema/metadataIngestion/databaseServiceQueryUsagePipeline.py +1 -1
  546. metadata/generated/schema/metadataIngestion/dbtPipeline.py +1 -1
  547. metadata/generated/schema/metadataIngestion/dbtconfig/__init__.py +1 -1
  548. metadata/generated/schema/metadataIngestion/dbtconfig/dbtAzureConfig.py +1 -1
  549. metadata/generated/schema/metadataIngestion/dbtconfig/dbtBucketDetails.py +1 -1
  550. metadata/generated/schema/metadataIngestion/dbtconfig/dbtCloudConfig.py +1 -1
  551. metadata/generated/schema/metadataIngestion/dbtconfig/dbtGCSConfig.py +1 -1
  552. metadata/generated/schema/metadataIngestion/dbtconfig/dbtHttpConfig.py +1 -1
  553. metadata/generated/schema/metadataIngestion/dbtconfig/dbtLocalConfig.py +1 -1
  554. metadata/generated/schema/metadataIngestion/dbtconfig/dbtS3Config.py +1 -1
  555. metadata/generated/schema/metadataIngestion/messagingServiceMetadataPipeline.py +1 -1
  556. metadata/generated/schema/metadataIngestion/metadataToElasticSearchPipeline.py +1 -1
  557. metadata/generated/schema/metadataIngestion/mlmodelServiceMetadataPipeline.py +1 -1
  558. metadata/generated/schema/metadataIngestion/pipelineServiceMetadataPipeline.py +22 -4
  559. metadata/generated/schema/metadataIngestion/searchServiceMetadataPipeline.py +1 -1
  560. metadata/generated/schema/metadataIngestion/storage/__init__.py +1 -1
  561. metadata/generated/schema/metadataIngestion/storage/containerMetadataConfig.py +1 -1
  562. metadata/generated/schema/metadataIngestion/storage/manifestMetadataConfig.py +1 -1
  563. metadata/generated/schema/metadataIngestion/storage/storageBucketDetails.py +1 -1
  564. metadata/generated/schema/metadataIngestion/storage/storageMetadataADLSConfig.py +1 -1
  565. metadata/generated/schema/metadataIngestion/storage/storageMetadataGCSConfig.py +1 -1
  566. metadata/generated/schema/metadataIngestion/storage/storageMetadataHttpConfig.py +1 -1
  567. metadata/generated/schema/metadataIngestion/storage/storageMetadataLocalConfig.py +1 -1
  568. metadata/generated/schema/metadataIngestion/storage/storageMetadataS3Config.py +1 -1
  569. metadata/generated/schema/metadataIngestion/storageServiceMetadataPipeline.py +1 -1
  570. metadata/generated/schema/metadataIngestion/testSuitePipeline.py +1 -1
  571. metadata/generated/schema/metadataIngestion/workflow.py +1 -1
  572. metadata/generated/schema/monitoring/__init__.py +1 -1
  573. metadata/generated/schema/monitoring/eventMonitorProvider.py +1 -1
  574. metadata/generated/schema/security/__init__.py +1 -1
  575. metadata/generated/schema/security/client/__init__.py +1 -1
  576. metadata/generated/schema/security/client/auth0SSOClientConfig.py +1 -1
  577. metadata/generated/schema/security/client/azureSSOClientConfig.py +1 -1
  578. metadata/generated/schema/security/client/customOidcSSOClientConfig.py +1 -1
  579. metadata/generated/schema/security/client/googleSSOClientConfig.py +1 -1
  580. metadata/generated/schema/security/client/oidcClientConfig.py +1 -1
  581. metadata/generated/schema/security/client/oktaSSOClientConfig.py +1 -1
  582. metadata/generated/schema/security/client/openMetadataJWTClientConfig.py +1 -1
  583. metadata/generated/schema/security/client/samlSSOClientConfig.py +1 -1
  584. metadata/generated/schema/security/credentials/__init__.py +1 -1
  585. metadata/generated/schema/security/credentials/accessTokenAuth.py +1 -1
  586. metadata/generated/schema/security/credentials/apiAccessTokenAuth.py +1 -1
  587. metadata/generated/schema/security/credentials/awsCredentials.py +1 -1
  588. metadata/generated/schema/security/credentials/azureCredentials.py +1 -1
  589. metadata/generated/schema/security/credentials/basicAuth.py +1 -1
  590. metadata/generated/schema/security/credentials/bitbucketCredentials.py +1 -1
  591. metadata/generated/schema/security/credentials/gcpCredentials.py +1 -1
  592. metadata/generated/schema/security/credentials/gcpExternalAccount.py +1 -1
  593. metadata/generated/schema/security/credentials/gcpValues.py +1 -1
  594. metadata/generated/schema/security/credentials/gitCredentials.py +1 -1
  595. metadata/generated/schema/security/credentials/githubCredentials.py +1 -1
  596. metadata/generated/schema/security/secrets/__init__.py +1 -1
  597. metadata/generated/schema/security/secrets/secretsManagerClientLoader.py +1 -1
  598. metadata/generated/schema/security/secrets/secretsManagerConfiguration.py +1 -1
  599. metadata/generated/schema/security/secrets/secretsManagerProvider.py +1 -1
  600. metadata/generated/schema/security/securityConfiguration.py +1 -1
  601. metadata/generated/schema/security/ssl/__init__.py +1 -1
  602. metadata/generated/schema/security/ssl/validateSSLClientConfig.py +16 -4
  603. metadata/generated/schema/security/ssl/verifySSLConfig.py +10 -1
  604. metadata/generated/schema/settings/__init__.py +1 -1
  605. metadata/generated/schema/settings/settings.py +5 -2
  606. metadata/generated/schema/system/__init__.py +1 -1
  607. metadata/generated/schema/system/entityError.py +1 -1
  608. metadata/generated/schema/system/eventPublisherJob.py +1 -1
  609. metadata/generated/schema/system/indexingError.py +1 -1
  610. metadata/generated/schema/system/ui/__init__.py +1 -1
  611. metadata/generated/schema/system/ui/knowledgePanel.py +1 -1
  612. metadata/generated/schema/system/ui/page.py +1 -1
  613. metadata/generated/schema/system/validationResponse.py +1 -1
  614. metadata/generated/schema/tests/__init__.py +1 -1
  615. metadata/generated/schema/tests/assigned.py +1 -1
  616. metadata/generated/schema/tests/basic.py +23 -7
  617. metadata/generated/schema/tests/customMetric.py +1 -1
  618. metadata/generated/schema/tests/resolved.py +1 -1
  619. metadata/generated/schema/tests/testCase.py +13 -2
  620. metadata/generated/schema/tests/testCaseResolutionStatus.py +1 -1
  621. metadata/generated/schema/tests/testDefinition.py +22 -2
  622. metadata/generated/schema/tests/testSuite.py +1 -1
  623. metadata/generated/schema/type/__init__.py +1 -1
  624. metadata/generated/schema/type/auditLog.py +1 -1
  625. metadata/generated/schema/type/basic.py +7 -1
  626. metadata/generated/schema/type/bulkOperationResult.py +1 -1
  627. metadata/generated/schema/type/changeEvent.py +1 -1
  628. metadata/generated/schema/type/changeEventType.py +1 -1
  629. metadata/generated/schema/type/collectionDescriptor.py +1 -1
  630. metadata/generated/schema/type/csvDocumentation.py +1 -1
  631. metadata/generated/schema/type/csvErrorType.py +1 -1
  632. metadata/generated/schema/type/csvFile.py +1 -1
  633. metadata/generated/schema/type/csvImportResult.py +1 -1
  634. metadata/generated/schema/type/customProperties/__init__.py +1 -1
  635. metadata/generated/schema/type/customProperties/complexTypes.py +86 -0
  636. metadata/generated/schema/type/customProperties/enumConfig.py +1 -1
  637. metadata/generated/schema/type/customProperty.py +3 -3
  638. metadata/generated/schema/type/dailyCount.py +1 -1
  639. metadata/generated/schema/type/databaseConnectionConfig.py +1 -1
  640. metadata/generated/schema/type/entityHierarchy.py +39 -0
  641. metadata/generated/schema/type/entityHistory.py +1 -1
  642. metadata/generated/schema/type/entityLineage.py +3 -1
  643. metadata/generated/schema/type/entityReference.py +1 -1
  644. metadata/generated/schema/type/entityReferenceList.py +1 -1
  645. metadata/generated/schema/type/entityRelationship.py +1 -1
  646. metadata/generated/schema/type/entityUsage.py +1 -1
  647. metadata/generated/schema/type/filterPattern.py +1 -1
  648. metadata/generated/schema/type/function.py +1 -1
  649. metadata/generated/schema/type/include.py +1 -1
  650. metadata/generated/schema/type/jdbcConnection.py +1 -1
  651. metadata/generated/schema/type/lifeCycle.py +1 -1
  652. metadata/generated/schema/type/paging.py +4 -1
  653. metadata/generated/schema/type/profile.py +1 -1
  654. metadata/generated/schema/type/queryParserData.py +1 -1
  655. metadata/generated/schema/type/reaction.py +1 -1
  656. metadata/generated/schema/type/schedule.py +1 -1
  657. metadata/generated/schema/type/schema.py +1 -1
  658. metadata/generated/schema/type/tableQuery.py +1 -1
  659. metadata/generated/schema/type/tableUsageCount.py +1 -1
  660. metadata/generated/schema/type/tagLabel.py +1 -1
  661. metadata/generated/schema/type/usageDetails.py +1 -1
  662. metadata/generated/schema/type/usageRequest.py +1 -1
  663. metadata/generated/schema/type/votes.py +1 -1
  664. metadata/great_expectations/action.py +0 -1
  665. metadata/ingestion/api/delete.py +33 -1
  666. metadata/ingestion/api/step.py +6 -1
  667. metadata/ingestion/api/topology_runner.py +122 -25
  668. metadata/ingestion/bulksink/metadata_usage.py +6 -1
  669. metadata/ingestion/lineage/models.py +34 -1
  670. metadata/ingestion/lineage/parser.py +15 -8
  671. metadata/ingestion/lineage/sql_lineage.py +21 -3
  672. metadata/ingestion/models/custom_properties.py +3 -0
  673. metadata/ingestion/models/life_cycle.py +4 -1
  674. metadata/ingestion/models/patch_request.py +177 -35
  675. metadata/ingestion/models/topology.py +81 -1
  676. metadata/ingestion/ometa/client.py +3 -0
  677. metadata/ingestion/ometa/mixins/es_mixin.py +95 -42
  678. metadata/ingestion/ometa/mixins/lineage_mixin.py +169 -4
  679. metadata/ingestion/ometa/mixins/patch_mixin.py +9 -4
  680. metadata/ingestion/ometa/mixins/server_mixin.py +50 -5
  681. metadata/ingestion/ometa/mixins/tests_mixin.py +55 -1
  682. metadata/ingestion/ometa/mixins/user_mixin.py +18 -6
  683. metadata/ingestion/ometa/ometa_api.py +6 -1
  684. metadata/ingestion/ometa/routes.py +3 -0
  685. metadata/ingestion/ometa/utils.py +2 -0
  686. metadata/ingestion/processor/query_parser.py +36 -26
  687. metadata/ingestion/sink/file.py +4 -1
  688. metadata/ingestion/sink/metadata_rest.py +19 -5
  689. metadata/ingestion/source/dashboard/dashboard_service.py +75 -16
  690. metadata/ingestion/source/dashboard/domodashboard/metadata.py +7 -5
  691. metadata/ingestion/source/dashboard/lightdash/metadata.py +7 -5
  692. metadata/ingestion/source/dashboard/looker/metadata.py +25 -18
  693. metadata/ingestion/source/dashboard/metabase/client.py +39 -8
  694. metadata/ingestion/source/dashboard/metabase/connection.py +2 -1
  695. metadata/ingestion/source/dashboard/metabase/metadata.py +9 -7
  696. metadata/ingestion/source/dashboard/metabase/models.py +1 -1
  697. metadata/ingestion/source/dashboard/mode/metadata.py +7 -5
  698. metadata/ingestion/source/dashboard/mstr/metadata.py +10 -5
  699. metadata/ingestion/source/dashboard/powerbi/client.py +13 -3
  700. metadata/ingestion/source/dashboard/powerbi/connection.py +13 -5
  701. metadata/ingestion/source/dashboard/powerbi/file_client.py +327 -0
  702. metadata/ingestion/source/dashboard/powerbi/metadata.py +156 -53
  703. metadata/ingestion/source/dashboard/powerbi/models.py +26 -0
  704. metadata/ingestion/source/dashboard/qlikcloud/__init__.py +0 -0
  705. metadata/ingestion/source/dashboard/qlikcloud/client.py +167 -0
  706. metadata/ingestion/source/dashboard/qlikcloud/connection.py +56 -0
  707. metadata/ingestion/source/dashboard/qlikcloud/constants.py +66 -0
  708. metadata/ingestion/source/dashboard/qlikcloud/metadata.py +249 -0
  709. metadata/ingestion/source/dashboard/qlikcloud/models.py +33 -0
  710. metadata/ingestion/source/dashboard/qliksense/client.py +9 -26
  711. metadata/ingestion/source/dashboard/qliksense/metadata.py +30 -17
  712. metadata/ingestion/source/dashboard/qliksense/models.py +1 -0
  713. metadata/ingestion/source/dashboard/quicksight/metadata.py +105 -91
  714. metadata/ingestion/source/dashboard/quicksight/models.py +43 -4
  715. metadata/ingestion/source/dashboard/redash/metadata.py +10 -5
  716. metadata/ingestion/source/dashboard/superset/api_source.py +10 -5
  717. metadata/ingestion/source/dashboard/superset/db_source.py +12 -6
  718. metadata/ingestion/source/dashboard/superset/metadata.py +8 -1
  719. metadata/ingestion/source/dashboard/superset/mixin.py +20 -3
  720. metadata/ingestion/source/dashboard/superset/models.py +2 -0
  721. metadata/ingestion/source/dashboard/superset/queries.py +23 -6
  722. metadata/ingestion/source/dashboard/tableau/metadata.py +71 -10
  723. metadata/ingestion/source/database/athena/client.py +1 -1
  724. metadata/ingestion/source/database/athena/lineage.py +2 -0
  725. metadata/ingestion/source/database/athena/metadata.py +83 -15
  726. metadata/ingestion/source/database/athena/models.py +1 -1
  727. metadata/ingestion/source/database/athena/query_parser.py +6 -1
  728. metadata/ingestion/source/database/athena/usage.py +2 -0
  729. metadata/ingestion/source/database/azuresql/connection.py +4 -1
  730. metadata/ingestion/source/database/azuresql/metadata.py +4 -2
  731. metadata/ingestion/source/database/azuresql/query_parser.py +4 -1
  732. metadata/ingestion/source/database/bigquery/helper.py +23 -12
  733. metadata/ingestion/source/database/bigquery/incremental_table_processor.py +86 -0
  734. metadata/ingestion/source/database/bigquery/metadata.py +226 -52
  735. metadata/ingestion/source/database/bigquery/models.py +35 -1
  736. metadata/ingestion/source/database/bigquery/queries.py +25 -12
  737. metadata/ingestion/source/database/bigquery/query_parser.py +3 -1
  738. metadata/ingestion/source/database/bigtable/metadata.py +6 -4
  739. metadata/ingestion/source/database/clickhouse/metadata.py +29 -17
  740. metadata/ingestion/source/database/clickhouse/query_parser.py +4 -2
  741. metadata/ingestion/source/database/common_db_source.py +120 -65
  742. metadata/ingestion/source/database/common_nosql_source.py +15 -15
  743. metadata/ingestion/source/database/couchbase/metadata.py +8 -6
  744. metadata/ingestion/source/database/database_service.py +43 -27
  745. metadata/ingestion/source/database/databricks/metadata.py +80 -34
  746. metadata/ingestion/source/database/databricks/queries.py +0 -1
  747. metadata/ingestion/source/database/databricks/query_parser.py +9 -2
  748. metadata/ingestion/source/database/datalake/connection.py +1 -2
  749. metadata/ingestion/source/database/datalake/metadata.py +21 -19
  750. metadata/ingestion/source/database/db2/metadata.py +4 -1
  751. metadata/ingestion/source/database/dbt/dbt_service.py +13 -11
  752. metadata/ingestion/source/database/dbt/metadata.py +97 -33
  753. metadata/ingestion/source/database/dbt/models.py +10 -1
  754. metadata/ingestion/source/database/deltalake/connection.py +2 -2
  755. metadata/ingestion/source/database/deltalake/metadata.py +19 -17
  756. metadata/ingestion/source/database/domodatabase/metadata.py +16 -11
  757. metadata/ingestion/source/database/doris/connection.py +0 -10
  758. metadata/ingestion/source/database/doris/metadata.py +23 -4
  759. metadata/ingestion/source/database/druid/metadata.py +5 -1
  760. metadata/ingestion/source/database/dynamodb/metadata.py +3 -1
  761. metadata/ingestion/source/database/extended_sample_data.py +4 -2
  762. metadata/ingestion/source/database/external_table_lineage_mixin.py +82 -0
  763. metadata/ingestion/source/database/glue/metadata.py +23 -21
  764. metadata/ingestion/source/database/greenplum/connection.py +0 -10
  765. metadata/ingestion/source/database/greenplum/metadata.py +26 -11
  766. metadata/ingestion/source/database/hive/metadata.py +31 -4
  767. metadata/ingestion/source/database/iceberg/helper.py +42 -5
  768. metadata/ingestion/source/database/iceberg/metadata.py +18 -16
  769. metadata/ingestion/source/database/iceberg/models.py +12 -4
  770. metadata/ingestion/source/database/impala/metadata.py +4 -1
  771. metadata/ingestion/source/database/incremental_metadata_extraction.py +144 -0
  772. metadata/ingestion/source/database/life_cycle_query_mixin.py +39 -36
  773. metadata/ingestion/source/database/mariadb/metadata.py +5 -1
  774. metadata/ingestion/source/database/mongodb/metadata.py +4 -2
  775. metadata/ingestion/source/database/mssql/metadata.py +15 -7
  776. metadata/ingestion/source/database/mssql/queries.py +18 -16
  777. metadata/ingestion/source/database/mssql/query_parser.py +4 -1
  778. metadata/ingestion/source/database/mssql/utils.py +3 -0
  779. metadata/ingestion/source/database/mysql/connection.py +0 -11
  780. metadata/ingestion/source/database/mysql/metadata.py +9 -2
  781. metadata/ingestion/source/database/oracle/connection.py +2 -2
  782. metadata/ingestion/source/database/oracle/metadata.py +35 -17
  783. metadata/ingestion/source/database/oracle/queries.py +14 -13
  784. metadata/ingestion/source/database/oracle/query_parser.py +4 -1
  785. metadata/ingestion/source/database/pinotdb/metadata.py +4 -1
  786. metadata/ingestion/source/database/postgres/connection.py +0 -10
  787. metadata/ingestion/source/database/postgres/metadata.py +38 -15
  788. metadata/ingestion/source/database/postgres/queries.py +17 -1
  789. metadata/ingestion/source/database/postgres/query_parser.py +4 -2
  790. metadata/ingestion/source/database/postgres/utils.py +98 -0
  791. metadata/ingestion/source/database/presto/connection.py +14 -0
  792. metadata/ingestion/source/database/presto/metadata.py +8 -5
  793. metadata/ingestion/source/database/query/lineage.py +5 -1
  794. metadata/ingestion/source/database/query/usage.py +4 -1
  795. metadata/ingestion/source/database/redshift/connection.py +0 -10
  796. metadata/ingestion/source/database/redshift/incremental_table_processor.py +192 -0
  797. metadata/ingestion/source/database/redshift/metadata.py +175 -26
  798. metadata/ingestion/source/database/redshift/models.py +74 -1
  799. metadata/ingestion/source/database/redshift/queries.py +17 -2
  800. metadata/ingestion/source/database/redshift/query_parser.py +3 -1
  801. metadata/ingestion/source/database/redshift/utils.py +13 -7
  802. metadata/ingestion/source/database/salesforce/metadata.py +13 -11
  803. metadata/ingestion/source/database/sample_data.py +56 -13
  804. metadata/ingestion/source/database/sample_usage.py +3 -1
  805. metadata/ingestion/source/database/saphana/connection.py +12 -8
  806. metadata/ingestion/source/database/saphana/metadata.py +6 -5
  807. metadata/ingestion/source/database/sas/metadata.py +8 -3
  808. metadata/ingestion/source/database/singlestore/metadata.py +5 -1
  809. metadata/ingestion/source/database/snowflake/metadata.py +193 -59
  810. metadata/ingestion/source/database/snowflake/models.py +24 -1
  811. metadata/ingestion/source/database/snowflake/queries.py +147 -25
  812. metadata/ingestion/source/database/snowflake/query_parser.py +3 -1
  813. metadata/ingestion/source/database/snowflake/utils.py +187 -11
  814. metadata/ingestion/source/database/sql_column_handler.py +2 -0
  815. metadata/ingestion/source/database/sqlalchemy_source.py +4 -4
  816. metadata/ingestion/source/database/sqlite/metadata.py +5 -1
  817. metadata/ingestion/source/database/stored_procedures_mixin.py +11 -9
  818. metadata/ingestion/source/database/trino/connection.py +24 -1
  819. metadata/ingestion/source/database/trino/metadata.py +7 -4
  820. metadata/ingestion/source/database/trino/query_parser.py +4 -1
  821. metadata/ingestion/source/database/unitycatalog/lineage.py +3 -1
  822. metadata/ingestion/source/database/unitycatalog/metadata.py +43 -32
  823. metadata/ingestion/source/database/unitycatalog/query_parser.py +4 -1
  824. metadata/ingestion/source/database/vertica/metadata.py +4 -2
  825. metadata/ingestion/source/database/vertica/query_parser.py +4 -2
  826. metadata/ingestion/source/messaging/common_broker_source.py +45 -6
  827. metadata/ingestion/source/messaging/kafka/connection.py +12 -17
  828. metadata/ingestion/source/messaging/kafka/metadata.py +21 -1
  829. metadata/ingestion/source/messaging/kinesis/metadata.py +11 -5
  830. metadata/ingestion/source/messaging/messaging_service.py +3 -3
  831. metadata/ingestion/source/messaging/redpanda/metadata.py +5 -1
  832. metadata/ingestion/source/metadata/amundsen/metadata.py +3 -1
  833. metadata/ingestion/source/metadata/atlas/metadata.py +3 -1
  834. metadata/ingestion/source/mlmodel/mlflow/metadata.py +4 -2
  835. metadata/ingestion/source/mlmodel/mlmodel_service.py +3 -3
  836. metadata/ingestion/source/mlmodel/sagemaker/metadata.py +8 -3
  837. metadata/ingestion/source/pipeline/airbyte/metadata.py +9 -7
  838. metadata/ingestion/source/pipeline/airflow/lineage_parser.py +54 -1
  839. metadata/ingestion/source/pipeline/airflow/metadata.py +30 -14
  840. metadata/ingestion/source/pipeline/dagster/metadata.py +17 -15
  841. metadata/ingestion/source/pipeline/dagster/queries.py +53 -82
  842. metadata/ingestion/source/pipeline/databrickspipeline/metadata.py +10 -8
  843. metadata/ingestion/source/pipeline/domopipeline/metadata.py +6 -4
  844. metadata/ingestion/source/pipeline/fivetran/metadata.py +6 -4
  845. metadata/ingestion/source/pipeline/gluepipeline/metadata.py +7 -5
  846. metadata/ingestion/source/pipeline/kafkaconnect/__init__.py +0 -0
  847. metadata/ingestion/source/pipeline/kafkaconnect/client.py +278 -0
  848. metadata/ingestion/source/pipeline/kafkaconnect/connection.py +58 -0
  849. metadata/ingestion/source/pipeline/kafkaconnect/metadata.py +319 -0
  850. metadata/ingestion/source/pipeline/kafkaconnect/models.py +62 -0
  851. metadata/ingestion/source/pipeline/nifi/metadata.py +4 -2
  852. metadata/ingestion/source/pipeline/openlineage/__init__.py +0 -0
  853. metadata/ingestion/source/pipeline/openlineage/connection.py +88 -0
  854. metadata/ingestion/source/pipeline/openlineage/metadata.py +520 -0
  855. metadata/ingestion/source/pipeline/openlineage/models.py +88 -0
  856. metadata/ingestion/source/pipeline/openlineage/utils.py +59 -0
  857. metadata/ingestion/source/pipeline/pipeline_service.py +13 -3
  858. metadata/ingestion/source/pipeline/spline/metadata.py +8 -6
  859. metadata/ingestion/source/search/elasticsearch/metadata.py +8 -6
  860. metadata/ingestion/source/search/search_service.py +3 -3
  861. metadata/ingestion/source/sqa_types.py +20 -1
  862. metadata/ingestion/source/storage/s3/connection.py +10 -1
  863. metadata/ingestion/source/storage/s3/metadata.py +45 -30
  864. metadata/ingestion/source/storage/s3/models.py +8 -4
  865. metadata/ingestion/source/storage/storage_service.py +8 -5
  866. metadata/ingestion/stage/table_usage.py +6 -1
  867. metadata/mixins/pandas/pandas_mixin.py +3 -3
  868. metadata/pii/processor.py +6 -1
  869. metadata/profiler/__init__.py +0 -0
  870. metadata/profiler/adaptors/__init__.py +0 -0
  871. metadata/profiler/adaptors/adaptor_factory.py +43 -0
  872. metadata/profiler/adaptors/dynamodb.py +40 -0
  873. metadata/profiler/adaptors/factory.py +76 -0
  874. metadata/profiler/adaptors/mongodb.py +178 -0
  875. metadata/profiler/adaptors/nosql_adaptor.py +65 -0
  876. metadata/profiler/api/models.py +1 -1
  877. metadata/profiler/factory.py +41 -0
  878. metadata/profiler/interface/nosql/profiler_interface.py +236 -0
  879. metadata/profiler/interface/pandas/profiler_interface.py +51 -30
  880. metadata/profiler/interface/profiler_interface.py +6 -2
  881. metadata/profiler/interface/profiler_interface_factory.py +11 -22
  882. metadata/profiler/interface/sqlalchemy/databricks/profiler_interface.py +77 -0
  883. metadata/profiler/interface/sqlalchemy/profiler_interface.py +2 -1
  884. metadata/profiler/interface/sqlalchemy/unity_catalog/profiler_interface.py +3 -6
  885. metadata/profiler/metrics/composed/distinct_ratio.py +2 -1
  886. metadata/profiler/metrics/composed/duplicate_count.py +2 -1
  887. metadata/profiler/metrics/composed/ilike_ratio.py +2 -1
  888. metadata/profiler/metrics/composed/iqr.py +2 -1
  889. metadata/profiler/metrics/composed/like_ratio.py +2 -1
  890. metadata/profiler/metrics/composed/non_parametric_skew.py +2 -1
  891. metadata/profiler/metrics/composed/null_ratio.py +7 -4
  892. metadata/profiler/metrics/composed/unique_ratio.py +2 -1
  893. metadata/profiler/metrics/core.py +14 -1
  894. metadata/profiler/metrics/hybrid/histogram.py +2 -1
  895. metadata/profiler/metrics/registry.py +4 -0
  896. metadata/profiler/metrics/static/column_count.py +2 -1
  897. metadata/profiler/metrics/static/column_names.py +2 -1
  898. metadata/profiler/metrics/static/count.py +2 -1
  899. metadata/profiler/metrics/static/count_in_set.py +2 -1
  900. metadata/profiler/metrics/static/distinct_count.py +11 -2
  901. metadata/profiler/metrics/static/ilike_count.py +2 -1
  902. metadata/profiler/metrics/static/like_count.py +2 -1
  903. metadata/profiler/metrics/static/max.py +26 -7
  904. metadata/profiler/metrics/static/max_length.py +3 -2
  905. metadata/profiler/metrics/static/mean.py +30 -22
  906. metadata/profiler/metrics/static/min.py +25 -6
  907. metadata/profiler/metrics/static/min_length.py +3 -2
  908. metadata/profiler/metrics/static/not_like_count.py +2 -1
  909. metadata/profiler/metrics/static/not_regexp_match_count.py +2 -1
  910. metadata/profiler/metrics/static/null_count.py +2 -1
  911. metadata/profiler/metrics/static/null_missing_count.py +73 -0
  912. metadata/profiler/metrics/static/regexp_match_count.py +2 -1
  913. metadata/profiler/metrics/static/row_count.py +9 -3
  914. metadata/profiler/metrics/static/stddev.py +2 -1
  915. metadata/profiler/metrics/static/sum.py +22 -4
  916. metadata/profiler/metrics/static/unique_count.py +13 -4
  917. metadata/profiler/metrics/system/system.py +2 -1
  918. metadata/profiler/metrics/window/first_quartile.py +2 -1
  919. metadata/profiler/metrics/window/median.py +8 -2
  920. metadata/profiler/metrics/window/third_quartile.py +2 -1
  921. metadata/profiler/orm/converter/base.py +4 -1
  922. metadata/profiler/orm/converter/bigquery/converter.py +11 -0
  923. metadata/profiler/orm/converter/common.py +47 -0
  924. metadata/profiler/orm/converter/converter_registry.py +2 -0
  925. metadata/profiler/orm/converter/redshift/converter.py +48 -0
  926. metadata/profiler/orm/converter/snowflake/converter.py +13 -0
  927. metadata/profiler/orm/functions/conn_test.py +1 -1
  928. metadata/profiler/orm/functions/sum.py +4 -2
  929. metadata/profiler/orm/functions/table_metric_computer.py +13 -1
  930. metadata/profiler/orm/registry.py +6 -3
  931. metadata/profiler/processor/core.py +58 -97
  932. metadata/profiler/processor/default.py +5 -0
  933. metadata/profiler/processor/handle_partition.py +3 -3
  934. metadata/profiler/processor/metric_filter.py +267 -0
  935. metadata/profiler/processor/processor.py +4 -2
  936. metadata/profiler/processor/sampler/nosql/sampler.py +72 -0
  937. metadata/profiler/processor/sampler/pandas/sampler.py +5 -6
  938. metadata/profiler/processor/sampler/sampler_factory.py +9 -0
  939. metadata/profiler/processor/sampler/sampler_interface.py +2 -2
  940. metadata/profiler/processor/sampler/sqlalchemy/sampler.py +3 -3
  941. metadata/profiler/source/base/profiler_source.py +11 -3
  942. metadata/profiler/source/databricks/profiler_source.py +5 -1
  943. metadata/profiler/source/metadata.py +8 -1
  944. metadata/profiler/source/metadata_ext.py +2 -0
  945. metadata/readers/dataframe/avro.py +5 -5
  946. metadata/readers/dataframe/json.py +1 -1
  947. metadata/readers/file/adls.py +20 -0
  948. metadata/readers/file/base.py +6 -0
  949. metadata/readers/file/config_source_factory.py +12 -0
  950. metadata/readers/file/gcs.py +18 -0
  951. metadata/readers/file/local.py +12 -0
  952. metadata/readers/file/s3.py +16 -0
  953. metadata/utils/constants.py +32 -24
  954. metadata/utils/datalake/datalake_utils.py +40 -4
  955. metadata/utils/elasticsearch.py +8 -0
  956. metadata/utils/execution_time_tracker.py +69 -28
  957. metadata/utils/fqn.py +61 -7
  958. metadata/utils/helpers.py +2 -0
  959. metadata/utils/importer.py +15 -6
  960. metadata/utils/logger.py +1 -1
  961. metadata/utils/lru_cache.py +2 -0
  962. metadata/utils/messaging_utils.py +43 -0
  963. metadata/utils/partition.py +93 -28
  964. metadata/utils/sqlalchemy_utils.py +60 -1
  965. metadata/utils/ssl_manager.py +181 -0
  966. metadata/utils/stored_procedures.py +1 -1
  967. metadata/utils/tag_utils.py +30 -13
  968. metadata/utils/test_utils.py +65 -0
  969. metadata/workflow/application.py +6 -1
  970. metadata/workflow/base.py +1 -1
  971. metadata/workflow/ingestion.py +19 -0
  972. metadata/workflow/metadata.py +9 -1
  973. metadata/workflow/output_handler.py +24 -2
  974. metadata/workflow/workflow_output_handler.py +2 -0
  975. {openmetadata_ingestion-1.3.4.0.dist-info → openmetadata_ingestion-1.4.0.0.dist-info}/METADATA +325 -320
  976. openmetadata_ingestion-1.4.0.0.dist-info/RECORD +1501 -0
  977. metadata/applications/auto_tagger.py +0 -212
  978. metadata/cli/backup.py +0 -202
  979. metadata/cli/db_dump.py +0 -239
  980. metadata/cli/docker.py +0 -382
  981. metadata/cli/openmetadata_dag_config_migration.py +0 -109
  982. metadata/cli/openmetadata_imports_migration.py +0 -71
  983. metadata/cli/utils.py +0 -56
  984. metadata/generated/schema/entity/applications/configuration/external/autoTaggerAppConfig.py +0 -28
  985. openmetadata_ingestion-1.3.4.0.dist-info/RECORD +0 -1435
  986. {openmetadata_ingestion-1.3.4.0.dist-info → openmetadata_ingestion-1.4.0.0.dist-info}/LICENSE +0 -0
  987. {openmetadata_ingestion-1.3.4.0.dist-info → openmetadata_ingestion-1.4.0.0.dist-info}/WHEEL +0 -0
  988. {openmetadata_ingestion-1.3.4.0.dist-info → openmetadata_ingestion-1.4.0.0.dist-info}/entry_points.txt +0 -0
  989. {openmetadata_ingestion-1.3.4.0.dist-info → openmetadata_ingestion-1.4.0.0.dist-info}/top_level.txt +0 -0
@@ -62,11 +62,12 @@ from metadata.ingestion.models.ometa_classification import OMetaTagAndClassifica
62
62
  from metadata.ingestion.models.topology import (
63
63
  NodeStage,
64
64
  ServiceTopology,
65
- TopologyContext,
65
+ TopologyContextManager,
66
66
  TopologyNode,
67
67
  )
68
68
  from metadata.ingestion.source.connections import get_test_connection_fn
69
69
  from metadata.utils import fqn
70
+ from metadata.utils.execution_time_tracker import calculate_execution_time
70
71
  from metadata.utils.filters import filter_by_schema
71
72
  from metadata.utils.logger import ingestion_logger
72
73
  from metadata.utils.tag_utils import get_tag_label
@@ -108,7 +109,11 @@ class DatabaseServiceTopology(ServiceTopology):
108
109
  # Note how we have `yield_view_lineage` and `yield_stored_procedure_lineage`
109
110
  # as post_processed. This is because we cannot ensure proper lineage processing
110
111
  # until we have finished ingesting all the metadata from the source.
111
- post_process=["yield_view_lineage", "yield_procedure_lineage_and_queries"],
112
+ post_process=[
113
+ "yield_view_lineage",
114
+ "yield_procedure_lineage_and_queries",
115
+ "yield_external_table_lineage",
116
+ ],
112
117
  )
113
118
  database = TopologyNode(
114
119
  producer="get_database_names",
@@ -152,6 +157,7 @@ class DatabaseServiceTopology(ServiceTopology):
152
157
  ],
153
158
  children=["table", "stored_procedure"],
154
159
  post_process=["mark_tables_as_deleted", "mark_stored_procedures_as_deleted"],
160
+ threads=True,
155
161
  )
156
162
  table = TopologyNode(
157
163
  producer="get_tables_name_and_type",
@@ -212,7 +218,7 @@ class DatabaseServiceSource(
212
218
  inspector: Inspector
213
219
 
214
220
  topology = DatabaseServiceTopology()
215
- context = TopologyContext.create(topology)
221
+ context = TopologyContextManager(topology)
216
222
 
217
223
  @property
218
224
  def name(self) -> str:
@@ -380,7 +386,7 @@ class DatabaseServiceSource(
380
386
  """
381
387
 
382
388
  tag_labels = []
383
- for tag_and_category in self.context.tags or []:
389
+ for tag_and_category in self.context.get().tags or []:
384
390
  if tag_and_category.fqn and tag_and_category.fqn.__root__ == entity_fqn:
385
391
  tag_label = get_tag_label(
386
392
  metadata=self.metadata,
@@ -400,7 +406,7 @@ class DatabaseServiceSource(
400
406
  database_fqn = fqn.build(
401
407
  self.metadata,
402
408
  entity_type=Database,
403
- service_name=self.context.database_service,
409
+ service_name=self.context.get().database_service,
404
410
  database_name=database_name,
405
411
  )
406
412
  return self.get_tag_by_fqn(entity_fqn=database_fqn)
@@ -414,12 +420,13 @@ class DatabaseServiceSource(
414
420
  schema_fqn = fqn.build(
415
421
  self.metadata,
416
422
  entity_type=DatabaseSchema,
417
- service_name=self.context.database_service,
418
- database_name=self.context.database,
423
+ service_name=self.context.get().database_service,
424
+ database_name=self.context.get().database,
419
425
  schema_name=schema_name,
420
426
  )
421
427
  return self.get_tag_by_fqn(entity_fqn=schema_fqn)
422
428
 
429
+ @calculate_execution_time()
423
430
  def get_tag_labels(self, table_name: str) -> Optional[List[TagLabel]]:
424
431
  """
425
432
  This will only get executed if the tags context
@@ -428,9 +435,9 @@ class DatabaseServiceSource(
428
435
  table_fqn = fqn.build(
429
436
  self.metadata,
430
437
  entity_type=Table,
431
- service_name=self.context.database_service,
432
- database_name=self.context.database,
433
- schema_name=self.context.database_schema,
438
+ service_name=self.context.get().database_service,
439
+ database_name=self.context.get().database,
440
+ schema_name=self.context.get().database_schema,
434
441
  table_name=table_name,
435
442
  skip_es_search=True,
436
443
  )
@@ -446,14 +453,15 @@ class DatabaseServiceSource(
446
453
  col_fqn = fqn.build(
447
454
  self.metadata,
448
455
  entity_type=Column,
449
- service_name=self.context.database_service,
450
- database_name=self.context.database,
451
- schema_name=self.context.database_schema,
456
+ service_name=self.context.get().database_service,
457
+ database_name=self.context.get().database,
458
+ schema_name=self.context.get().database_schema,
452
459
  table_name=table_name,
453
460
  column_name=column["name"],
454
461
  )
455
462
  return self.get_tag_by_fqn(entity_fqn=col_fqn)
456
463
 
464
+ @calculate_execution_time()
457
465
  def register_record(self, table_request: CreateTableRequest) -> None:
458
466
  """
459
467
  Mark the table record as scanned and update the database_source_state
@@ -461,9 +469,9 @@ class DatabaseServiceSource(
461
469
  table_fqn = fqn.build(
462
470
  self.metadata,
463
471
  entity_type=Table,
464
- service_name=self.context.database_service,
465
- database_name=self.context.database,
466
- schema_name=self.context.database_schema,
472
+ service_name=self.context.get().database_service,
473
+ database_name=self.context.get().database,
474
+ schema_name=self.context.get().database_schema,
467
475
  table_name=table_request.name.__root__,
468
476
  skip_es_search=True,
469
477
  )
@@ -479,9 +487,9 @@ class DatabaseServiceSource(
479
487
  table_fqn = fqn.build(
480
488
  self.metadata,
481
489
  entity_type=StoredProcedure,
482
- service_name=self.context.database_service,
483
- database_name=self.context.database,
484
- schema_name=self.context.database_schema,
490
+ service_name=self.context.get().database_service,
491
+ database_name=self.context.get().database,
492
+ schema_name=self.context.get().database_schema,
485
493
  procedure_name=stored_proc_request.name.__root__,
486
494
  )
487
495
 
@@ -494,8 +502,8 @@ class DatabaseServiceSource(
494
502
  schema_fqn = fqn.build(
495
503
  self.metadata,
496
504
  entity_type=DatabaseSchema,
497
- service_name=self.context.database_service,
498
- database_name=self.context.database,
505
+ service_name=self.context.get().database_service,
506
+ database_name=self.context.get().database,
499
507
  schema_name=schema_name,
500
508
  )
501
509
  if filter_by_schema(
@@ -507,16 +515,19 @@ class DatabaseServiceSource(
507
515
  continue
508
516
  yield schema_fqn if return_fqn else schema_name
509
517
 
518
+ @calculate_execution_time()
510
519
  def get_owner_ref(self, table_name: str) -> Optional[EntityReference]:
511
520
  """
512
521
  Method to process the table owners
513
522
  """
514
523
  try:
515
- if self.source_config.includeOwners:
524
+ if self.source_config.includeOwners and hasattr(
525
+ self.inspector, "get_table_owner"
526
+ ):
516
527
  owner_name = self.inspector.get_table_owner(
517
- connection=self.connection, # pylint: disable=no-member
528
+ connection=self.connection, # pylint: disable=no-member.fetchall()
518
529
  table_name=table_name,
519
- schema=self.context.database_schema,
530
+ schema=self.context.get().database_schema,
520
531
  )
521
532
  owner_ref = self.metadata.get_reference_by_name(name=owner_name)
522
533
  return owner_ref
@@ -529,14 +540,14 @@ class DatabaseServiceSource(
529
540
  """
530
541
  Use the current inspector to mark tables as deleted
531
542
  """
532
- if not self.context.__dict__.get("database"):
543
+ if not self.context.get().__dict__.get("database"):
533
544
  raise ValueError(
534
545
  "No Database found in the context. We cannot run the table deletion."
535
546
  )
536
547
 
537
548
  if self.source_config.markDeletedTables:
538
549
  logger.info(
539
- f"Mark Deleted Tables set to True. Processing database [{self.context.database}]"
550
+ f"Mark Deleted Tables set to True. Processing database [{self.context.get().database}]"
540
551
  )
541
552
  schema_fqn_list = self._get_filtered_schema_names(
542
553
  return_fqn=True, add_to_status=False
@@ -557,7 +568,7 @@ class DatabaseServiceSource(
557
568
  """
558
569
  if self.source_config.markDeletedStoredProcedures:
559
570
  logger.info(
560
- f"Mark Deleted Stored Procedures Processing database [{self.context.database}]"
571
+ f"Mark Deleted Stored Procedures Processing database [{self.context.get().database}]"
561
572
  )
562
573
 
563
574
  schema_fqn_list = self._get_filtered_schema_names(
@@ -578,6 +589,11 @@ class DatabaseServiceSource(
578
589
  Get the life cycle data of the table
579
590
  """
580
591
 
592
+ def yield_external_table_lineage(self) -> Iterable[Either[AddLineageRequest]]:
593
+ """
594
+ Process external table lineage
595
+ """
596
+
581
597
  def test_connection(self) -> None:
582
598
  test_connection_fn = get_test_connection_fn(self.service_connection)
583
599
  test_connection_fn(self.metadata, self.connection_obj, self.service_connection)
@@ -18,8 +18,8 @@ from typing import Iterable, Optional, Tuple, Union
18
18
  from pyhive.sqlalchemy_hive import _type_map
19
19
  from sqlalchemy import types, util
20
20
  from sqlalchemy.engine import reflection
21
+ from sqlalchemy.engine.reflection import Inspector
21
22
  from sqlalchemy.exc import DatabaseError
22
- from sqlalchemy.inspection import inspect
23
23
  from sqlalchemy.sql.sqltypes import String
24
24
  from sqlalchemy_databricks._dialect import DatabricksDialect
25
25
 
@@ -51,13 +51,18 @@ from metadata.ingestion.source.database.databricks.queries import (
51
51
  DATABRICKS_GET_TABLE_TAGS,
52
52
  DATABRICKS_VIEW_DEFINITIONS,
53
53
  )
54
+ from metadata.ingestion.source.database.external_table_lineage_mixin import (
55
+ ExternalTableLineageMixin,
56
+ )
54
57
  from metadata.ingestion.source.database.multi_db_source import MultiDBSource
55
58
  from metadata.utils import fqn
56
59
  from metadata.utils.constants import DEFAULT_DATABASE
57
60
  from metadata.utils.filters import filter_by_database
58
61
  from metadata.utils.logger import ingestion_logger
59
62
  from metadata.utils.sqlalchemy_utils import (
63
+ get_all_table_ddls,
60
64
  get_all_view_definitions,
65
+ get_table_ddl,
61
66
  get_view_definition_wrapper,
62
67
  )
63
68
  from metadata.utils.tag_utils import get_ometa_tag_and_classification
@@ -126,7 +131,6 @@ def get_columns(self, connection, table_name, schema=None, **kw):
126
131
  value should match what is provided in the 'source.config.database' field in the
127
132
  Databricks ingest config file.
128
133
  """
129
- db_name = kw["db_name"] if "db_name" in kw else None
130
134
 
131
135
  rows = _get_column_rows(self, connection, table_name, schema)
132
136
  result = []
@@ -154,20 +158,13 @@ def get_columns(self, connection, table_name, schema=None, **kw):
154
158
  "system_data_type": raw_col_type,
155
159
  }
156
160
  if col_type in {"array", "struct", "map"}:
157
- if db_name and schema:
158
- rows = dict(
159
- connection.execute(
160
- f"DESCRIBE {db_name}.{schema}.{table_name} {col_name}"
161
- ).fetchall()
162
- )
163
- else:
164
- rows = dict(
165
- connection.execute(
166
- f"DESCRIBE {schema}.{table_name} {col_name}"
167
- if schema
168
- else f"DESCRIBE {table_name} {col_name}"
169
- ).fetchall()
170
- )
161
+ rows = dict(
162
+ connection.execute(
163
+ f"DESCRIBE {schema}.{table_name} {col_name}"
164
+ if schema
165
+ else f"DESCRIBE {table_name} {col_name}"
166
+ ).fetchall()
167
+ )
171
168
 
172
169
  col_info["system_data_type"] = rows["data_type"]
173
170
  col_info["is_complex"] = True
@@ -256,9 +253,11 @@ DatabricksDialect.get_schema_names = get_schema_names
256
253
  DatabricksDialect.get_view_definition = get_view_definition
257
254
  DatabricksDialect.get_all_view_definitions = get_all_view_definitions
258
255
  reflection.Inspector.get_schema_names = get_schema_names_reflection
256
+ reflection.Inspector.get_all_table_ddls = get_all_table_ddls
257
+ reflection.Inspector.get_table_ddl = get_table_ddl
259
258
 
260
259
 
261
- class DatabricksSource(CommonDbSourceService, MultiDBSource):
260
+ class DatabricksSource(ExternalTableLineageMixin, CommonDbSourceService, MultiDBSource):
262
261
  """
263
262
  Implements the necessary methods to extract
264
263
  Database metadata from Databricks Source using
@@ -272,6 +271,7 @@ class DatabricksSource(CommonDbSourceService, MultiDBSource):
272
271
  self.catalog_tags = {}
273
272
  self.schema_tags = {}
274
273
  self.table_tags = {}
274
+ self.external_location_map = {}
275
275
  self.column_tags = {}
276
276
 
277
277
  def _init_version(self):
@@ -283,7 +283,9 @@ class DatabricksSource(CommonDbSourceService, MultiDBSource):
283
283
  self.is_older_version = True
284
284
 
285
285
  @classmethod
286
- def create(cls, config_dict, metadata: OpenMetadata):
286
+ def create(
287
+ cls, config_dict, metadata: OpenMetadata, pipeline_name: Optional[str] = None
288
+ ):
287
289
  config: WorkflowSource = WorkflowSource.parse_obj(config_dict)
288
290
  connection: DatabricksConnection = config.serviceConnection.__root__.config
289
291
  if not isinstance(connection, DatabricksConnection):
@@ -303,8 +305,9 @@ class DatabricksSource(CommonDbSourceService, MultiDBSource):
303
305
  new_service_connection = deepcopy(self.service_connection)
304
306
  new_service_connection.catalog = database_name
305
307
  self.engine = get_connection(new_service_connection)
306
- self.inspector = inspect(self.engine)
307
- self._connection = None # Lazy init as well
308
+
309
+ self._connection_map = {} # Lazy init as well
310
+ self._inspector_map = {}
308
311
 
309
312
  def get_configured_database(self) -> Optional[str]:
310
313
  return self.service_connection.catalog
@@ -422,7 +425,7 @@ class DatabricksSource(CommonDbSourceService, MultiDBSource):
422
425
  database_fqn = fqn.build(
423
426
  self.metadata,
424
427
  entity_type=Database,
425
- service_name=self.context.database_service,
428
+ service_name=self.context.get().database_service,
426
429
  database_name=new_catalog,
427
430
  )
428
431
  if filter_by_database(
@@ -448,7 +451,7 @@ class DatabricksSource(CommonDbSourceService, MultiDBSource):
448
451
  yield self.service_connection.databaseSchema
449
452
  else:
450
453
  for schema_name in self.inspector.get_schema_names(
451
- database=self.context.database,
454
+ database=self.context.get().database,
452
455
  is_old_version=self.is_older_version,
453
456
  ):
454
457
  yield schema_name
@@ -466,7 +469,7 @@ class DatabricksSource(CommonDbSourceService, MultiDBSource):
466
469
  tag_fqn=fqn.build(
467
470
  self.metadata,
468
471
  Database,
469
- service_name=self.context.database_service,
472
+ service_name=self.context.get().database_service,
470
473
  database_name=database_name,
471
474
  ),
472
475
  tags=[tag_value],
@@ -491,14 +494,16 @@ class DatabricksSource(CommonDbSourceService, MultiDBSource):
491
494
  Method to yield schema tags
492
495
  """
493
496
  try:
494
- schema_tags = self.schema_tags.get((self.context.database, schema_name), [])
497
+ schema_tags = self.schema_tags.get(
498
+ (self.context.get().database, schema_name), []
499
+ )
495
500
  for tag_name, tag_value in schema_tags:
496
501
  yield from get_ometa_tag_and_classification(
497
502
  tag_fqn=fqn.build(
498
503
  self.metadata,
499
504
  DatabaseSchema,
500
- service_name=self.context.database_service,
501
- database_name=self.context.database,
505
+ service_name=self.context.get().database_service,
506
+ database_name=self.context.get().database,
502
507
  schema_name=schema_name,
503
508
  ),
504
509
  tags=[tag_value],
@@ -522,16 +527,21 @@ class DatabricksSource(CommonDbSourceService, MultiDBSource):
522
527
  table_name, _ = table_name_and_type
523
528
  try:
524
529
  table_tags = self.table_tags.get(
525
- (self.context.database, self.context.database_schema, table_name), []
530
+ (
531
+ self.context.get().database,
532
+ self.context.get().database_schema,
533
+ table_name,
534
+ ),
535
+ [],
526
536
  )
527
537
  for tag_name, tag_value in table_tags:
528
538
  yield from get_ometa_tag_and_classification(
529
539
  tag_fqn=fqn.build(
530
540
  self.metadata,
531
541
  Table,
532
- service_name=self.context.database_service,
533
- database_name=self.context.database,
534
- schema_name=self.context.database_schema,
542
+ service_name=self.context.get().database_service,
543
+ database_name=self.context.get().database,
544
+ schema_name=self.context.get().database_schema,
535
545
  table_name=table_name,
536
546
  ),
537
547
  tags=[tag_value],
@@ -541,7 +551,12 @@ class DatabricksSource(CommonDbSourceService, MultiDBSource):
541
551
  )
542
552
 
543
553
  column_tags = self.column_tags.get(
544
- (self.context.database, self.context.database_schema, table_name), {}
554
+ (
555
+ self.context.get().database,
556
+ self.context.get().database_schema,
557
+ table_name,
558
+ ),
559
+ {},
545
560
  )
546
561
  for column_name, tags in column_tags.items():
547
562
  for tag_name, tag_value in tags or []:
@@ -549,9 +564,9 @@ class DatabricksSource(CommonDbSourceService, MultiDBSource):
549
564
  tag_fqn=fqn.build(
550
565
  self.metadata,
551
566
  Column,
552
- service_name=self.context.database_service,
553
- database_name=self.context.database,
554
- schema_name=self.context.database_schema,
567
+ service_name=self.context.get().database_service,
568
+ database_name=self.context.get().database,
569
+ schema_name=self.context.get().database_schema,
555
570
  table_name=table_name,
556
571
  column_name=column_name,
557
572
  ),
@@ -569,3 +584,34 @@ class DatabricksSource(CommonDbSourceService, MultiDBSource):
569
584
  stackTrace=traceback.format_exc(),
570
585
  )
571
586
  )
587
+
588
+ def get_table_description(
589
+ self, schema_name: str, table_name: str, inspector: Inspector
590
+ ) -> str:
591
+ description = None
592
+ try:
593
+ cursor = self.connection.execute(
594
+ DATABRICKS_GET_TABLE_COMMENTS.format(
595
+ schema_name=schema_name, table_name=table_name
596
+ )
597
+ )
598
+ for result in list(cursor):
599
+ data = result.values()
600
+ if data[0] and data[0].strip() == "Comment":
601
+ description = data[1] if data and data[1] else None
602
+ elif data[0] and data[0].strip() == "Location":
603
+ self.external_location_map[
604
+ (self.context.get().database, schema_name, table_name)
605
+ ] = (
606
+ data[1]
607
+ if data and data[1] and not data[1].startswith("dbfs")
608
+ else None
609
+ )
610
+
611
+ # Catch any exception without breaking the ingestion
612
+ except Exception as exc: # pylint: disable=broad-except
613
+ logger.debug(traceback.format_exc())
614
+ logger.warning(
615
+ f"Table description error for table [{schema_name}.{table_name}]: {exc}"
616
+ )
617
+ return description
@@ -24,7 +24,6 @@ DATABRICKS_VIEW_DEFINITIONS = textwrap.dedent(
24
24
  """
25
25
  )
26
26
 
27
-
28
27
  DATABRICKS_GET_TABLE_COMMENTS = "DESCRIBE TABLE EXTENDED {schema_name}.{table_name}"
29
28
 
30
29
  DATABRICKS_GET_CATALOGS = "SHOW CATALOGS"
@@ -12,6 +12,7 @@
12
12
  Databricks Query parser module
13
13
  """
14
14
  from abc import ABC
15
+ from typing import Optional
15
16
 
16
17
  from metadata.generated.schema.entity.services.connections.database.databricksConnection import (
17
18
  DatabricksConnection,
@@ -35,7 +36,11 @@ class DatabricksQueryParserSource(QueryParserSource, ABC):
35
36
 
36
37
  filters: str
37
38
 
38
- def _init_super(self, config: WorkflowSource, metadata: OpenMetadata):
39
+ def _init_super(
40
+ self,
41
+ config: WorkflowSource,
42
+ metadata: OpenMetadata,
43
+ ):
39
44
  super().__init__(config, metadata, False)
40
45
 
41
46
  # pylint: disable=super-init-not-called
@@ -44,7 +49,9 @@ class DatabricksQueryParserSource(QueryParserSource, ABC):
44
49
  self.client = DatabricksClient(self.service_connection)
45
50
 
46
51
  @classmethod
47
- def create(cls, config_dict, metadata: OpenMetadata):
52
+ def create(
53
+ cls, config_dict, metadata: OpenMetadata, pipeline_name: Optional[str] = None
54
+ ):
48
55
  """Create class instance"""
49
56
  config: WorkflowSource = WorkflowSource.parse_obj(config_dict)
50
57
  connection: DatabricksConnection = config.serviceConnection.__root__.config
@@ -89,7 +89,6 @@ def _(config: GCSConfig):
89
89
 
90
90
  @get_datalake_client.register
91
91
  def _(config: AzureConfig):
92
-
93
92
  try:
94
93
  return AzureClient(config.securityConfig).create_blob_client()
95
94
  except Exception as exc:
@@ -104,7 +103,7 @@ def set_gcs_datalake_client(config: GCSConfig, project_id: str):
104
103
  gcs_config.securityConfig.gcpConfig.projectId = SingleProjectId.parse_obj(
105
104
  project_id
106
105
  )
107
- return get_datalake_client(config=gcs_config)
106
+ return get_datalake_client(gcs_config)
108
107
 
109
108
 
110
109
  def get_connection(connection: DatalakeConnection) -> DatalakeClient:
@@ -15,7 +15,7 @@ DataLake connector to fetch metadata from a files stored s3, gcs and Hdfs
15
15
  import json
16
16
  import os
17
17
  import traceback
18
- from typing import Any, Iterable, Tuple, Union
18
+ from typing import Any, Iterable, Optional, Tuple, Union
19
19
 
20
20
  from metadata.generated.schema.api.data.createDatabase import CreateDatabaseRequest
21
21
  from metadata.generated.schema.api.data.createDatabaseSchema import (
@@ -117,7 +117,9 @@ class DatalakeSource(DatabaseServiceSource):
117
117
  self.reader = get_reader(config_source=self.config_source, client=self.client)
118
118
 
119
119
  @classmethod
120
- def create(cls, config_dict, metadata: OpenMetadata):
120
+ def create(
121
+ cls, config_dict, metadata: OpenMetadata, pipeline_name: Optional[str] = None
122
+ ):
121
123
  config: WorkflowSource = WorkflowSource.parse_obj(config_dict)
122
124
  connection: DatalakeConnection = config.serviceConnection.__root__.config
123
125
  if not isinstance(connection, DatalakeConnection):
@@ -148,7 +150,7 @@ class DatalakeSource(DatabaseServiceSource):
148
150
  database_fqn = fqn.build(
149
151
  self.metadata,
150
152
  entity_type=Database,
151
- service_name=self.context.database_service,
153
+ service_name=self.context.get().database_service,
152
154
  database_name=project_id,
153
155
  )
154
156
  if filter_by_database(
@@ -189,7 +191,7 @@ class DatalakeSource(DatabaseServiceSource):
189
191
  yield Either(
190
192
  right=CreateDatabaseRequest(
191
193
  name=database_name,
192
- service=self.context.database_service,
194
+ service=self.context.get().database_service,
193
195
  )
194
196
  )
195
197
 
@@ -204,8 +206,8 @@ class DatalakeSource(DatabaseServiceSource):
204
206
  schema_fqn = fqn.build(
205
207
  self.metadata,
206
208
  entity_type=DatabaseSchema,
207
- service_name=self.context.database_service,
208
- database_name=self.context.database,
209
+ service_name=self.context.get().database_service,
210
+ database_name=self.context.get().database,
209
211
  schema_name=bucket.name,
210
212
  )
211
213
 
@@ -236,8 +238,8 @@ class DatalakeSource(DatabaseServiceSource):
236
238
  schema_fqn = fqn.build(
237
239
  self.metadata,
238
240
  entity_type=DatabaseSchema,
239
- service_name=self.context.database_service,
240
- database_name=self.context.database,
241
+ service_name=self.context.get().database_service,
242
+ database_name=self.context.get().database,
241
243
  schema_name=bucket["Name"],
242
244
  )
243
245
  if filter_by_schema(
@@ -284,8 +286,8 @@ class DatalakeSource(DatabaseServiceSource):
284
286
  schema_fqn = fqn.build(
285
287
  self.metadata,
286
288
  entity_type=DatabaseSchema,
287
- service_name=self.context.database_service,
288
- database_name=self.context.database,
289
+ service_name=self.context.get().database_service,
290
+ database_name=self.context.get().database,
289
291
  schema_name=schema["name"],
290
292
  )
291
293
  if filter_by_schema(
@@ -312,8 +314,8 @@ class DatalakeSource(DatabaseServiceSource):
312
314
  database=fqn.build(
313
315
  metadata=self.metadata,
314
316
  entity_type=Database,
315
- service_name=self.context.database_service,
316
- database_name=self.context.database,
317
+ service_name=self.context.get().database_service,
318
+ database_name=self.context.get().database,
317
319
  ),
318
320
  )
319
321
  )
@@ -329,7 +331,7 @@ class DatalakeSource(DatabaseServiceSource):
329
331
 
330
332
  :return: tables or views, depending on config
331
333
  """
332
- bucket_name = self.context.database_schema
334
+ bucket_name = self.context.get().database_schema
333
335
  prefix = self.service_connection.prefix
334
336
  try:
335
337
  metadata_config_response = self.reader.read(
@@ -404,7 +406,7 @@ class DatalakeSource(DatabaseServiceSource):
404
406
  Prepare a table request and pass it to the sink
405
407
  """
406
408
  table_name, table_type, table_extension = table_name_and_type
407
- schema_name = self.context.database_schema
409
+ schema_name = self.context.get().database_schema
408
410
  try:
409
411
  table_constraints = None
410
412
  data_frame, raw_data = fetch_dataframe(
@@ -434,8 +436,8 @@ class DatalakeSource(DatabaseServiceSource):
434
436
  databaseSchema=fqn.build(
435
437
  metadata=self.metadata,
436
438
  entity_type=DatabaseSchema,
437
- service_name=self.context.database_service,
438
- database_name=self.context.database,
439
+ service_name=self.context.get().database_service,
440
+ database_name=self.context.get().database,
439
441
  schema_name=schema_name,
440
442
  ),
441
443
  fileFormat=table_extension.value if table_extension else None,
@@ -486,9 +488,9 @@ class DatalakeSource(DatabaseServiceSource):
486
488
  table_fqn = fqn.build(
487
489
  self.metadata,
488
490
  entity_type=Table,
489
- service_name=self.context.database_service,
490
- database_name=self.context.database,
491
- schema_name=self.context.database_schema,
491
+ service_name=self.context.get().database_service,
492
+ database_name=self.context.get().database,
493
+ schema_name=self.context.get().database_schema,
492
494
  table_name=table_name,
493
495
  skip_es_search=True,
494
496
  )
@@ -10,6 +10,7 @@
10
10
  # limitations under the License.
11
11
  """Db2 source module"""
12
12
  import traceback
13
+ from typing import Optional
13
14
 
14
15
  from ibm_db_sa.base import DB2Dialect
15
16
  from sqlalchemy.engine import reflection
@@ -47,7 +48,9 @@ class Db2Source(CommonDbSourceService):
47
48
  """
48
49
 
49
50
  @classmethod
50
- def create(cls, config_dict, metadata: OpenMetadata):
51
+ def create(
52
+ cls, config_dict, metadata: OpenMetadata, pipeline_name: Optional[str] = None
53
+ ):
51
54
  config: WorkflowSource = WorkflowSource.parse_obj(config_dict)
52
55
  connection: Db2Connection = config.serviceConnection.__root__.config
53
56
  if not isinstance(connection, Db2Connection):