openmetadata-ingestion 1.8.0.0__py3-none-any.whl → 1.8.2.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 (776) hide show
  1. metadata/generated/schema/analytics/__init__.py +1 -1
  2. metadata/generated/schema/analytics/basic.py +1 -1
  3. metadata/generated/schema/analytics/reportData.py +1 -1
  4. metadata/generated/schema/analytics/reportDataType/__init__.py +1 -1
  5. metadata/generated/schema/analytics/reportDataType/aggregatedCostAnalysisReportData.py +1 -1
  6. metadata/generated/schema/analytics/reportDataType/entityReportData.py +1 -1
  7. metadata/generated/schema/analytics/reportDataType/rawCostAnalysisReportData.py +1 -1
  8. metadata/generated/schema/analytics/reportDataType/webAnalyticEntityViewReportData.py +1 -1
  9. metadata/generated/schema/analytics/reportDataType/webAnalyticUserActivityReportData.py +1 -1
  10. metadata/generated/schema/analytics/webAnalyticEvent.py +1 -1
  11. metadata/generated/schema/analytics/webAnalyticEventData.py +1 -1
  12. metadata/generated/schema/analytics/webAnalyticEventType/__init__.py +1 -1
  13. metadata/generated/schema/analytics/webAnalyticEventType/customEvent.py +1 -1
  14. metadata/generated/schema/analytics/webAnalyticEventType/pageViewEvent.py +1 -1
  15. metadata/generated/schema/api/__init__.py +1 -1
  16. metadata/generated/schema/api/addGlossaryToAssetsRequest.py +1 -1
  17. metadata/generated/schema/api/addTagToAssetsRequest.py +1 -1
  18. metadata/generated/schema/api/analytics/__init__.py +1 -1
  19. metadata/generated/schema/api/analytics/createWebAnalyticEvent.py +1 -1
  20. metadata/generated/schema/api/automations/__init__.py +1 -1
  21. metadata/generated/schema/api/automations/createWorkflow.py +1 -1
  22. metadata/generated/schema/api/bulkAssets.py +1 -1
  23. metadata/generated/schema/api/classification/__init__.py +1 -1
  24. metadata/generated/schema/api/classification/createClassification.py +1 -1
  25. metadata/generated/schema/api/classification/createTag.py +1 -1
  26. metadata/generated/schema/api/classification/loadTags.py +1 -1
  27. metadata/generated/schema/api/createBot.py +1 -1
  28. metadata/generated/schema/api/createEventPublisherJob.py +1 -1
  29. metadata/generated/schema/api/createType.py +1 -1
  30. metadata/generated/schema/api/data/__init__.py +1 -1
  31. metadata/generated/schema/api/data/createAPICollection.py +1 -1
  32. metadata/generated/schema/api/data/createAPIEndpoint.py +1 -1
  33. metadata/generated/schema/api/data/createChart.py +1 -1
  34. metadata/generated/schema/api/data/createContainer.py +1 -1
  35. metadata/generated/schema/api/data/createCustomProperty.py +1 -1
  36. metadata/generated/schema/api/data/createDashboard.py +1 -1
  37. metadata/generated/schema/api/data/createDashboardDataModel.py +1 -1
  38. metadata/generated/schema/api/data/createDataContract.py +1 -1
  39. metadata/generated/schema/api/data/createDatabase.py +1 -1
  40. metadata/generated/schema/api/data/createDatabaseSchema.py +1 -1
  41. metadata/generated/schema/api/data/createGlossary.py +1 -1
  42. metadata/generated/schema/api/data/createGlossaryTerm.py +1 -1
  43. metadata/generated/schema/api/data/createMetric.py +1 -1
  44. metadata/generated/schema/api/data/createMlModel.py +1 -1
  45. metadata/generated/schema/api/data/createPipeline.py +1 -1
  46. metadata/generated/schema/api/data/createQuery.py +1 -1
  47. metadata/generated/schema/api/data/createQueryCostRecord.py +1 -1
  48. metadata/generated/schema/api/data/createSearchIndex.py +1 -1
  49. metadata/generated/schema/api/data/createStoredProcedure.py +1 -1
  50. metadata/generated/schema/api/data/createTable.py +1 -1
  51. metadata/generated/schema/api/data/createTableProfile.py +1 -1
  52. metadata/generated/schema/api/data/createTopic.py +1 -1
  53. metadata/generated/schema/api/data/loadGlossary.py +1 -1
  54. metadata/generated/schema/api/data/restoreEntity.py +1 -1
  55. metadata/generated/schema/api/data/updateColumn.py +1 -1
  56. metadata/generated/schema/api/dataInsight/__init__.py +1 -1
  57. metadata/generated/schema/api/dataInsight/createDataInsightChart.py +1 -1
  58. metadata/generated/schema/api/dataInsight/custom/__init__.py +1 -1
  59. metadata/generated/schema/api/dataInsight/custom/createDataInsightCustomChart.py +1 -1
  60. metadata/generated/schema/api/dataInsight/kpi/__init__.py +1 -1
  61. metadata/generated/schema/api/dataInsight/kpi/createKpiRequest.py +1 -1
  62. metadata/generated/schema/api/docStore/__init__.py +1 -1
  63. metadata/generated/schema/api/docStore/createDocument.py +1 -1
  64. metadata/generated/schema/api/domains/__init__.py +1 -1
  65. metadata/generated/schema/api/domains/createDataProduct.py +1 -1
  66. metadata/generated/schema/api/domains/createDomain.py +1 -1
  67. metadata/generated/schema/api/feed/__init__.py +1 -1
  68. metadata/generated/schema/api/feed/closeTask.py +1 -1
  69. metadata/generated/schema/api/feed/createPost.py +1 -1
  70. metadata/generated/schema/api/feed/createSuggestion.py +1 -1
  71. metadata/generated/schema/api/feed/createThread.py +1 -1
  72. metadata/generated/schema/api/feed/resolveTask.py +1 -1
  73. metadata/generated/schema/api/feed/threadCount.py +1 -1
  74. metadata/generated/schema/api/governance/__init__.py +1 -1
  75. metadata/generated/schema/api/governance/createWorkflowDefinition.py +1 -1
  76. metadata/generated/schema/api/governance/createWorkflowInstanceState.py +1 -1
  77. metadata/generated/schema/api/lineage/__init__.py +1 -1
  78. metadata/generated/schema/api/lineage/addLineage.py +1 -1
  79. metadata/generated/schema/api/lineage/esLineageData.py +1 -1
  80. metadata/generated/schema/api/lineage/lineageDirection.py +1 -1
  81. metadata/generated/schema/api/lineage/nodeInformation.py +1 -1
  82. metadata/generated/schema/api/lineage/searchLineageRequest.py +1 -1
  83. metadata/generated/schema/api/lineage/searchLineageResult.py +1 -1
  84. metadata/generated/schema/api/mcp/__init__.py +1 -1
  85. metadata/generated/schema/api/mcp/mcpToolDefinition.py +1 -1
  86. metadata/generated/schema/api/openMetadataServerVersion.py +1 -1
  87. metadata/generated/schema/api/policies/__init__.py +1 -1
  88. metadata/generated/schema/api/policies/createPolicy.py +1 -1
  89. metadata/generated/schema/api/scim/__init__.py +1 -1
  90. metadata/generated/schema/api/scim/scimGroup.py +1 -1
  91. metadata/generated/schema/api/scim/scimPatchOp.py +1 -1
  92. metadata/generated/schema/api/scim/scimUser.py +1 -1
  93. metadata/generated/schema/api/search/__init__.py +1 -1
  94. metadata/generated/schema/api/search/previewSearchRequest.py +1 -1
  95. metadata/generated/schema/api/services/__init__.py +1 -1
  96. metadata/generated/schema/api/services/createApiService.py +1 -1
  97. metadata/generated/schema/api/services/createDashboardService.py +1 -1
  98. metadata/generated/schema/api/services/createDatabaseService.py +1 -1
  99. metadata/generated/schema/api/services/createMessagingService.py +1 -1
  100. metadata/generated/schema/api/services/createMetadataService.py +1 -1
  101. metadata/generated/schema/api/services/createMlModelService.py +1 -1
  102. metadata/generated/schema/api/services/createPipelineService.py +1 -1
  103. metadata/generated/schema/api/services/createSearchService.py +1 -1
  104. metadata/generated/schema/api/services/createStorageService.py +1 -1
  105. metadata/generated/schema/api/services/ingestionPipelines/__init__.py +1 -1
  106. metadata/generated/schema/api/services/ingestionPipelines/createIngestionPipeline.py +1 -1
  107. metadata/generated/schema/api/setOwner.py +1 -1
  108. metadata/generated/schema/api/teams/__init__.py +1 -1
  109. metadata/generated/schema/api/teams/createPersona.py +1 -1
  110. metadata/generated/schema/api/teams/createRole.py +1 -1
  111. metadata/generated/schema/api/teams/createTeam.py +1 -1
  112. metadata/generated/schema/api/teams/createUser.py +1 -1
  113. metadata/generated/schema/api/tests/__init__.py +1 -1
  114. metadata/generated/schema/api/tests/createCustomMetric.py +1 -1
  115. metadata/generated/schema/api/tests/createLogicalTestCases.py +1 -1
  116. metadata/generated/schema/api/tests/createTestCase.py +1 -1
  117. metadata/generated/schema/api/tests/createTestCaseResolutionStatus.py +1 -1
  118. metadata/generated/schema/api/tests/createTestCaseResult.py +1 -1
  119. metadata/generated/schema/api/tests/createTestDefinition.py +1 -1
  120. metadata/generated/schema/api/tests/createTestSuite.py +1 -1
  121. metadata/generated/schema/api/validateGlossaryTagsRequest.py +1 -1
  122. metadata/generated/schema/api/voteRequest.py +1 -1
  123. metadata/generated/schema/auth/__init__.py +1 -1
  124. metadata/generated/schema/auth/basicAuth.py +1 -1
  125. metadata/generated/schema/auth/basicLoginRequest.py +1 -1
  126. metadata/generated/schema/auth/changePasswordRequest.py +1 -1
  127. metadata/generated/schema/auth/createPersonalToken.py +1 -1
  128. metadata/generated/schema/auth/emailRequest.py +1 -1
  129. metadata/generated/schema/auth/emailVerificationToken.py +1 -1
  130. metadata/generated/schema/auth/generateToken.py +1 -1
  131. metadata/generated/schema/auth/jwtAuth.py +1 -1
  132. metadata/generated/schema/auth/loginRequest.py +1 -1
  133. metadata/generated/schema/auth/logoutRequest.py +1 -1
  134. metadata/generated/schema/auth/passwordResetRequest.py +1 -1
  135. metadata/generated/schema/auth/passwordResetToken.py +1 -1
  136. metadata/generated/schema/auth/personalAccessToken.py +1 -1
  137. metadata/generated/schema/auth/refreshToken.py +1 -1
  138. metadata/generated/schema/auth/registrationRequest.py +1 -1
  139. metadata/generated/schema/auth/revokePersonalToken.py +1 -1
  140. metadata/generated/schema/auth/revokeToken.py +1 -1
  141. metadata/generated/schema/auth/serviceTokenEnum.py +1 -1
  142. metadata/generated/schema/auth/ssoAuth.py +1 -1
  143. metadata/generated/schema/auth/supportToken.py +1 -1
  144. metadata/generated/schema/auth/tokenRefreshRequest.py +1 -1
  145. metadata/generated/schema/configuration/__init__.py +1 -1
  146. metadata/generated/schema/configuration/appsPrivateConfiguration.py +1 -1
  147. metadata/generated/schema/configuration/assetCertificationSettings.py +1 -1
  148. metadata/generated/schema/configuration/authConfig.py +1 -1
  149. metadata/generated/schema/configuration/authenticationConfiguration.py +1 -1
  150. metadata/generated/schema/configuration/authorizerConfiguration.py +1 -1
  151. metadata/generated/schema/configuration/changeEventConfiguration.py +1 -1
  152. metadata/generated/schema/configuration/dataQualityConfiguration.py +1 -1
  153. metadata/generated/schema/configuration/elasticSearchConfiguration.py +1 -1
  154. metadata/generated/schema/configuration/eventHandlerConfiguration.py +1 -1
  155. metadata/generated/schema/configuration/fernetConfiguration.py +1 -1
  156. metadata/generated/schema/configuration/jwtTokenConfiguration.py +1 -1
  157. metadata/generated/schema/configuration/kafkaEventConfiguration.py +1 -1
  158. metadata/generated/schema/configuration/ldapConfiguration.py +1 -1
  159. metadata/generated/schema/configuration/ldapTrustStoreConfig/__init__.py +1 -1
  160. metadata/generated/schema/configuration/ldapTrustStoreConfig/customTrustManagerConfig.py +1 -1
  161. metadata/generated/schema/configuration/ldapTrustStoreConfig/hostNameConfig.py +1 -1
  162. metadata/generated/schema/configuration/ldapTrustStoreConfig/jvmDefaultConfig.py +1 -1
  163. metadata/generated/schema/configuration/ldapTrustStoreConfig/trustAllConfig.py +1 -1
  164. metadata/generated/schema/configuration/ldapTrustStoreConfig/truststoreConfig.py +1 -1
  165. metadata/generated/schema/configuration/limitsConfiguration.py +1 -1
  166. metadata/generated/schema/configuration/lineageSettings.py +1 -1
  167. metadata/generated/schema/configuration/loginConfiguration.py +1 -1
  168. metadata/generated/schema/configuration/logoConfiguration.py +1 -1
  169. metadata/generated/schema/configuration/openMetadataBaseUrlConfiguration.py +1 -1
  170. metadata/generated/schema/configuration/opertionalConfiguration.py +1 -1
  171. metadata/generated/schema/configuration/opsConfig.py +1 -1
  172. metadata/generated/schema/configuration/pipelineServiceClientConfiguration.py +1 -1
  173. metadata/generated/schema/configuration/profilerConfiguration.py +1 -1
  174. metadata/generated/schema/configuration/searchSettings.py +1 -1
  175. metadata/generated/schema/configuration/slackAppConfiguration.py +1 -1
  176. metadata/generated/schema/configuration/taskNotificationConfiguration.py +1 -1
  177. metadata/generated/schema/configuration/testResultNotificationConfiguration.py +1 -1
  178. metadata/generated/schema/configuration/themeConfiguration.py +1 -1
  179. metadata/generated/schema/configuration/uiThemePreference.py +1 -1
  180. metadata/generated/schema/configuration/workflowSettings.py +1 -1
  181. metadata/generated/schema/dataInsight/__init__.py +1 -1
  182. metadata/generated/schema/dataInsight/custom/__init__.py +1 -1
  183. metadata/generated/schema/dataInsight/custom/dataInsightCustomChart.py +1 -1
  184. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResult.py +1 -1
  185. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResultList.py +1 -1
  186. metadata/generated/schema/dataInsight/custom/formulaHolder.py +1 -1
  187. metadata/generated/schema/dataInsight/custom/lineChart.py +1 -1
  188. metadata/generated/schema/dataInsight/custom/summaryCard.py +1 -1
  189. metadata/generated/schema/dataInsight/dataInsightChart.py +1 -1
  190. metadata/generated/schema/dataInsight/dataInsightChartResult.py +1 -1
  191. metadata/generated/schema/dataInsight/kpi/__init__.py +1 -1
  192. metadata/generated/schema/dataInsight/kpi/basic.py +1 -1
  193. metadata/generated/schema/dataInsight/kpi/kpi.py +1 -1
  194. metadata/generated/schema/dataInsight/type/__init__.py +1 -1
  195. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsCount.py +1 -1
  196. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsSize.py +1 -1
  197. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsCount.py +1 -1
  198. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsSize.py +1 -1
  199. metadata/generated/schema/dataInsight/type/dailyActiveUsers.py +1 -1
  200. metadata/generated/schema/dataInsight/type/mostActiveUsers.py +1 -1
  201. metadata/generated/schema/dataInsight/type/mostViewedEntities.py +1 -1
  202. metadata/generated/schema/dataInsight/type/pageViewsByEntities.py +1 -1
  203. metadata/generated/schema/dataInsight/type/unusedAssets.py +1 -1
  204. metadata/generated/schema/email/__init__.py +1 -1
  205. metadata/generated/schema/email/emailRequest.py +1 -1
  206. metadata/generated/schema/email/emailTemplate.py +1 -1
  207. metadata/generated/schema/email/emailTemplatePlaceholder.py +1 -1
  208. metadata/generated/schema/email/smtpSettings.py +1 -1
  209. metadata/generated/schema/email/templateValidationReponse.py +1 -1
  210. metadata/generated/schema/entity/__init__.py +1 -1
  211. metadata/generated/schema/entity/applications/__init__.py +1 -1
  212. metadata/generated/schema/entity/applications/app.py +1 -1
  213. metadata/generated/schema/entity/applications/appExtension.py +1 -1
  214. metadata/generated/schema/entity/applications/appRunRecord.py +2 -1
  215. metadata/generated/schema/entity/applications/configuration/__init__.py +1 -1
  216. metadata/generated/schema/entity/applications/configuration/applicationConfig.py +1 -1
  217. metadata/generated/schema/entity/applications/configuration/external/__init__.py +1 -1
  218. metadata/generated/schema/entity/applications/configuration/external/automator/__init__.py +1 -1
  219. metadata/generated/schema/entity/applications/configuration/external/automator/addCustomProperties.py +1 -1
  220. metadata/generated/schema/entity/applications/configuration/external/automator/addDataProductAction.py +1 -1
  221. metadata/generated/schema/entity/applications/configuration/external/automator/addDescriptionAction.py +1 -1
  222. metadata/generated/schema/entity/applications/configuration/external/automator/addDomainAction.py +1 -1
  223. metadata/generated/schema/entity/applications/configuration/external/automator/addOwnerAction.py +1 -1
  224. metadata/generated/schema/entity/applications/configuration/external/automator/addTagsAction.py +1 -1
  225. metadata/generated/schema/entity/applications/configuration/external/automator/addTestCaseAction.py +5 -2
  226. metadata/generated/schema/entity/applications/configuration/external/automator/addTierAction.py +1 -1
  227. metadata/generated/schema/entity/applications/configuration/external/automator/lineagePropagationAction.py +9 -1
  228. metadata/generated/schema/entity/applications/configuration/external/automator/mlTaggingAction.py +1 -1
  229. metadata/generated/schema/entity/applications/configuration/external/automator/removeCustomPropertiesAction.py +1 -1
  230. metadata/generated/schema/entity/applications/configuration/external/automator/removeDataProductAction.py +1 -1
  231. metadata/generated/schema/entity/applications/configuration/external/automator/removeDescriptionAction.py +1 -1
  232. metadata/generated/schema/entity/applications/configuration/external/automator/removeDomainAction.py +1 -1
  233. metadata/generated/schema/entity/applications/configuration/external/automator/removeOwnerAction.py +1 -1
  234. metadata/generated/schema/entity/applications/configuration/external/automator/removeTagsAction.py +1 -1
  235. metadata/generated/schema/entity/applications/configuration/external/automator/removeTestCaseAction.py +1 -1
  236. metadata/generated/schema/entity/applications/configuration/external/automator/removeTierAction.py +1 -1
  237. metadata/generated/schema/entity/applications/configuration/external/automatorAppConfig.py +8 -1
  238. metadata/generated/schema/entity/applications/configuration/external/collateAIAppConfig.py +1 -1
  239. metadata/generated/schema/entity/applications/configuration/external/slackAppTokenConfiguration.py +1 -1
  240. metadata/generated/schema/entity/applications/configuration/internal/__init__.py +1 -1
  241. metadata/generated/schema/entity/applications/configuration/internal/autoPilotAppConfig.py +1 -1
  242. metadata/generated/schema/entity/applications/configuration/internal/collateAIQualityAgentAppConfig.py +1 -1
  243. metadata/generated/schema/entity/applications/configuration/internal/collateAITierAgentAppConfig.py +1 -1
  244. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsAppConfig.py +1 -1
  245. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsReportAppConfig.py +1 -1
  246. metadata/generated/schema/entity/applications/configuration/internal/dataRetentionConfiguration.py +1 -1
  247. metadata/generated/schema/entity/applications/configuration/internal/helloPipelinesConfiguration.py +1 -1
  248. metadata/generated/schema/entity/applications/configuration/internal/searchIndexingAppConfig.py +1 -1
  249. metadata/generated/schema/entity/applications/configuration/private/__init__.py +1 -1
  250. metadata/generated/schema/entity/applications/configuration/private/external/__init__.py +1 -1
  251. metadata/generated/schema/entity/applications/configuration/private/external/collateAIAppPrivateConfig.py +1 -1
  252. metadata/generated/schema/entity/applications/configuration/private/internal/__init__.py +1 -1
  253. metadata/generated/schema/entity/applications/configuration/private/internal/collateAITierAgentAppPrivateConfig.py +1 -1
  254. metadata/generated/schema/entity/applications/configuration/private/limits.py +1 -1
  255. metadata/generated/schema/entity/applications/createAppRequest.py +1 -1
  256. metadata/generated/schema/entity/applications/jobStatus.py +1 -1
  257. metadata/generated/schema/entity/applications/liveExecutionContext.py +1 -1
  258. metadata/generated/schema/entity/applications/marketplace/__init__.py +1 -1
  259. metadata/generated/schema/entity/applications/marketplace/appMarketPlaceDefinition.py +1 -1
  260. metadata/generated/schema/entity/applications/marketplace/createAppMarketPlaceDefinitionReq.py +1 -1
  261. metadata/generated/schema/entity/applications/scheduledExecutionContext.py +1 -1
  262. metadata/generated/schema/entity/automations/__init__.py +1 -1
  263. metadata/generated/schema/entity/automations/testServiceConnection.py +1 -1
  264. metadata/generated/schema/entity/automations/workflow.py +1 -1
  265. metadata/generated/schema/entity/bot.py +1 -1
  266. metadata/generated/schema/entity/classification/__init__.py +1 -1
  267. metadata/generated/schema/entity/classification/classification.py +1 -1
  268. metadata/generated/schema/entity/classification/tag.py +1 -1
  269. metadata/generated/schema/entity/data/__init__.py +1 -1
  270. metadata/generated/schema/entity/data/apiCollection.py +1 -1
  271. metadata/generated/schema/entity/data/apiEndpoint.py +1 -1
  272. metadata/generated/schema/entity/data/chart.py +1 -1
  273. metadata/generated/schema/entity/data/container.py +1 -1
  274. metadata/generated/schema/entity/data/dashboard.py +1 -1
  275. metadata/generated/schema/entity/data/dashboardDataModel.py +1 -1
  276. metadata/generated/schema/entity/data/dataContract.py +1 -1
  277. metadata/generated/schema/entity/data/database.py +1 -1
  278. metadata/generated/schema/entity/data/databaseSchema.py +1 -1
  279. metadata/generated/schema/entity/data/glossary.py +1 -1
  280. metadata/generated/schema/entity/data/glossaryTerm.py +1 -1
  281. metadata/generated/schema/entity/data/metric.py +1 -1
  282. metadata/generated/schema/entity/data/mlmodel.py +1 -1
  283. metadata/generated/schema/entity/data/pipeline.py +1 -1
  284. metadata/generated/schema/entity/data/query.py +1 -1
  285. metadata/generated/schema/entity/data/queryCostRecord.py +1 -1
  286. metadata/generated/schema/entity/data/queryCostSearchResult.py +1 -1
  287. metadata/generated/schema/entity/data/report.py +1 -1
  288. metadata/generated/schema/entity/data/searchIndex.py +1 -1
  289. metadata/generated/schema/entity/data/storedProcedure.py +1 -1
  290. metadata/generated/schema/entity/data/table.py +6 -1
  291. metadata/generated/schema/entity/data/topic.py +1 -1
  292. metadata/generated/schema/entity/docStore/__init__.py +1 -1
  293. metadata/generated/schema/entity/docStore/document.py +1 -1
  294. metadata/generated/schema/entity/domains/__init__.py +1 -1
  295. metadata/generated/schema/entity/domains/dataProduct.py +1 -1
  296. metadata/generated/schema/entity/domains/domain.py +1 -1
  297. metadata/generated/schema/entity/events/__init__.py +1 -1
  298. metadata/generated/schema/entity/events/webhook.py +1 -1
  299. metadata/generated/schema/entity/feed/__init__.py +1 -1
  300. metadata/generated/schema/entity/feed/assets.py +1 -1
  301. metadata/generated/schema/entity/feed/customProperty.py +1 -1
  302. metadata/generated/schema/entity/feed/description.py +1 -1
  303. metadata/generated/schema/entity/feed/domain.py +1 -1
  304. metadata/generated/schema/entity/feed/entityInfo.py +1 -1
  305. metadata/generated/schema/entity/feed/owner.py +1 -1
  306. metadata/generated/schema/entity/feed/suggestion.py +1 -1
  307. metadata/generated/schema/entity/feed/tag.py +1 -1
  308. metadata/generated/schema/entity/feed/testCaseResult.py +1 -1
  309. metadata/generated/schema/entity/feed/thread.py +1 -1
  310. metadata/generated/schema/entity/policies/__init__.py +1 -1
  311. metadata/generated/schema/entity/policies/accessControl/__init__.py +1 -1
  312. metadata/generated/schema/entity/policies/accessControl/resourceDescriptor.py +1 -1
  313. metadata/generated/schema/entity/policies/accessControl/resourcePermission.py +1 -1
  314. metadata/generated/schema/entity/policies/accessControl/rule.py +1 -1
  315. metadata/generated/schema/entity/policies/filters.py +1 -1
  316. metadata/generated/schema/entity/policies/policy.py +1 -1
  317. metadata/generated/schema/entity/services/__init__.py +1 -1
  318. metadata/generated/schema/entity/services/apiService.py +1 -1
  319. metadata/generated/schema/entity/services/connections/__init__.py +1 -1
  320. metadata/generated/schema/entity/services/connections/api/__init__.py +1 -1
  321. metadata/generated/schema/entity/services/connections/api/restConnection.py +1 -1
  322. metadata/generated/schema/entity/services/connections/common/__init__.py +1 -1
  323. metadata/generated/schema/entity/services/connections/common/sslCertPaths.py +1 -1
  324. metadata/generated/schema/entity/services/connections/common/sslCertValues.py +1 -1
  325. metadata/generated/schema/entity/services/connections/common/sslConfig.py +1 -1
  326. metadata/generated/schema/entity/services/connections/connectionBasicType.py +1 -1
  327. metadata/generated/schema/entity/services/connections/dashboard/__init__.py +1 -1
  328. metadata/generated/schema/entity/services/connections/dashboard/customDashboardConnection.py +1 -1
  329. metadata/generated/schema/entity/services/connections/dashboard/domoDashboardConnection.py +1 -1
  330. metadata/generated/schema/entity/services/connections/dashboard/lightdashConnection.py +1 -1
  331. metadata/generated/schema/entity/services/connections/dashboard/lookerConnection.py +1 -1
  332. metadata/generated/schema/entity/services/connections/dashboard/metabaseConnection.py +1 -1
  333. metadata/generated/schema/entity/services/connections/dashboard/microStrategyConnection.py +1 -1
  334. metadata/generated/schema/entity/services/connections/dashboard/modeConnection.py +1 -1
  335. metadata/generated/schema/entity/services/connections/dashboard/powerBIConnection.py +9 -1
  336. metadata/generated/schema/entity/services/connections/dashboard/powerBIReportServerConnection.py +1 -1
  337. metadata/generated/schema/entity/services/connections/dashboard/powerbi/__init__.py +1 -1
  338. metadata/generated/schema/entity/services/connections/dashboard/powerbi/azureConfig.py +1 -1
  339. metadata/generated/schema/entity/services/connections/dashboard/powerbi/bucketDetails.py +1 -1
  340. metadata/generated/schema/entity/services/connections/dashboard/powerbi/gcsConfig.py +1 -1
  341. metadata/generated/schema/entity/services/connections/dashboard/powerbi/s3Config.py +1 -1
  342. metadata/generated/schema/entity/services/connections/dashboard/qlikCloudConnection.py +1 -1
  343. metadata/generated/schema/entity/services/connections/dashboard/qlikSenseConnection.py +1 -1
  344. metadata/generated/schema/entity/services/connections/dashboard/quickSightConnection.py +1 -1
  345. metadata/generated/schema/entity/services/connections/dashboard/redashConnection.py +1 -1
  346. metadata/generated/schema/entity/services/connections/dashboard/sigmaConnection.py +1 -1
  347. metadata/generated/schema/entity/services/connections/dashboard/supersetConnection.py +1 -1
  348. metadata/generated/schema/entity/services/connections/dashboard/tableauConnection.py +1 -1
  349. metadata/generated/schema/entity/services/connections/database/__init__.py +1 -1
  350. metadata/generated/schema/entity/services/connections/database/athenaConnection.py +1 -1
  351. metadata/generated/schema/entity/services/connections/database/azureSQLConnection.py +1 -1
  352. metadata/generated/schema/entity/services/connections/database/bigQueryConnection.py +1 -1
  353. metadata/generated/schema/entity/services/connections/database/bigTableConnection.py +1 -1
  354. metadata/generated/schema/entity/services/connections/database/cassandra/__init__.py +1 -1
  355. metadata/generated/schema/entity/services/connections/database/cassandra/cloudConfig.py +1 -1
  356. metadata/generated/schema/entity/services/connections/database/cassandraConnection.py +1 -1
  357. metadata/generated/schema/entity/services/connections/database/clickhouseConnection.py +1 -1
  358. metadata/generated/schema/entity/services/connections/database/cockroachConnection.py +1 -1
  359. metadata/generated/schema/entity/services/connections/database/common/__init__.py +1 -1
  360. metadata/generated/schema/entity/services/connections/database/common/azureConfig.py +1 -1
  361. metadata/generated/schema/entity/services/connections/database/common/basicAuth.py +1 -1
  362. metadata/generated/schema/entity/services/connections/database/common/iamAuthConfig.py +1 -1
  363. metadata/generated/schema/entity/services/connections/database/common/jwtAuth.py +1 -1
  364. metadata/generated/schema/entity/services/connections/database/common/noConfigAuthenticationTypes.py +1 -1
  365. metadata/generated/schema/entity/services/connections/database/couchbaseConnection.py +1 -1
  366. metadata/generated/schema/entity/services/connections/database/customDatabaseConnection.py +1 -1
  367. metadata/generated/schema/entity/services/connections/database/databricksConnection.py +1 -1
  368. metadata/generated/schema/entity/services/connections/database/datalake/__init__.py +1 -1
  369. metadata/generated/schema/entity/services/connections/database/datalake/azureConfig.py +1 -1
  370. metadata/generated/schema/entity/services/connections/database/datalake/gcsConfig.py +1 -1
  371. metadata/generated/schema/entity/services/connections/database/datalake/s3Config.py +1 -1
  372. metadata/generated/schema/entity/services/connections/database/datalakeConnection.py +1 -1
  373. metadata/generated/schema/entity/services/connections/database/db2Connection.py +1 -1
  374. metadata/generated/schema/entity/services/connections/database/deltaLakeConnection.py +1 -1
  375. metadata/generated/schema/entity/services/connections/database/deltalake/__init__.py +1 -1
  376. metadata/generated/schema/entity/services/connections/database/deltalake/metastoreConfig.py +1 -1
  377. metadata/generated/schema/entity/services/connections/database/deltalake/storageConfig.py +1 -1
  378. metadata/generated/schema/entity/services/connections/database/domoDatabaseConnection.py +1 -1
  379. metadata/generated/schema/entity/services/connections/database/dorisConnection.py +1 -1
  380. metadata/generated/schema/entity/services/connections/database/druidConnection.py +1 -1
  381. metadata/generated/schema/entity/services/connections/database/dynamoDBConnection.py +1 -1
  382. metadata/generated/schema/entity/services/connections/database/exasolConnection.py +1 -1
  383. metadata/generated/schema/entity/services/connections/database/glueConnection.py +1 -1
  384. metadata/generated/schema/entity/services/connections/database/greenplumConnection.py +1 -1
  385. metadata/generated/schema/entity/services/connections/database/hiveConnection.py +1 -1
  386. metadata/generated/schema/entity/services/connections/database/iceberg/__init__.py +1 -1
  387. metadata/generated/schema/entity/services/connections/database/iceberg/dynamoDbCatalogConnection.py +1 -1
  388. metadata/generated/schema/entity/services/connections/database/iceberg/glueCatalogConnection.py +1 -1
  389. metadata/generated/schema/entity/services/connections/database/iceberg/hiveCatalogConnection.py +1 -1
  390. metadata/generated/schema/entity/services/connections/database/iceberg/icebergCatalog.py +1 -1
  391. metadata/generated/schema/entity/services/connections/database/iceberg/icebergFileSystem.py +1 -1
  392. metadata/generated/schema/entity/services/connections/database/iceberg/restCatalogConnection.py +1 -1
  393. metadata/generated/schema/entity/services/connections/database/icebergConnection.py +1 -1
  394. metadata/generated/schema/entity/services/connections/database/impalaConnection.py +1 -1
  395. metadata/generated/schema/entity/services/connections/database/mariaDBConnection.py +1 -1
  396. metadata/generated/schema/entity/services/connections/database/mongoDBConnection.py +1 -1
  397. metadata/generated/schema/entity/services/connections/database/mssqlConnection.py +1 -1
  398. metadata/generated/schema/entity/services/connections/database/mysqlConnection.py +1 -1
  399. metadata/generated/schema/entity/services/connections/database/oracleConnection.py +1 -1
  400. metadata/generated/schema/entity/services/connections/database/pinotDBConnection.py +1 -1
  401. metadata/generated/schema/entity/services/connections/database/postgresConnection.py +1 -1
  402. metadata/generated/schema/entity/services/connections/database/prestoConnection.py +1 -1
  403. metadata/generated/schema/entity/services/connections/database/redshiftConnection.py +1 -1
  404. metadata/generated/schema/entity/services/connections/database/salesforceConnection.py +1 -1
  405. metadata/generated/schema/entity/services/connections/database/sapErpConnection.py +1 -1
  406. metadata/generated/schema/entity/services/connections/database/sapHana/__init__.py +1 -1
  407. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaHDBConnection.py +1 -1
  408. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaSQLConnection.py +1 -1
  409. metadata/generated/schema/entity/services/connections/database/sapHanaConnection.py +1 -1
  410. metadata/generated/schema/entity/services/connections/database/sasConnection.py +1 -1
  411. metadata/generated/schema/entity/services/connections/database/singleStoreConnection.py +1 -1
  412. metadata/generated/schema/entity/services/connections/database/snowflakeConnection.py +1 -1
  413. metadata/generated/schema/entity/services/connections/database/sqliteConnection.py +1 -1
  414. metadata/generated/schema/entity/services/connections/database/synapseConnection.py +1 -1
  415. metadata/generated/schema/entity/services/connections/database/teradataConnection.py +1 -1
  416. metadata/generated/schema/entity/services/connections/database/trinoConnection.py +1 -1
  417. metadata/generated/schema/entity/services/connections/database/unityCatalogConnection.py +1 -1
  418. metadata/generated/schema/entity/services/connections/database/verticaConnection.py +1 -1
  419. metadata/generated/schema/entity/services/connections/messaging/__init__.py +1 -1
  420. metadata/generated/schema/entity/services/connections/messaging/customMessagingConnection.py +1 -1
  421. metadata/generated/schema/entity/services/connections/messaging/kafkaConnection.py +1 -1
  422. metadata/generated/schema/entity/services/connections/messaging/kinesisConnection.py +1 -1
  423. metadata/generated/schema/entity/services/connections/messaging/pulsarConnection.py +1 -1
  424. metadata/generated/schema/entity/services/connections/messaging/redpandaConnection.py +1 -1
  425. metadata/generated/schema/entity/services/connections/messaging/saslMechanismType.py +1 -1
  426. metadata/generated/schema/entity/services/connections/metadata/__init__.py +1 -1
  427. metadata/generated/schema/entity/services/connections/metadata/alationConnection.py +1 -1
  428. metadata/generated/schema/entity/services/connections/metadata/alationSinkConnection.py +1 -1
  429. metadata/generated/schema/entity/services/connections/metadata/amundsenConnection.py +1 -1
  430. metadata/generated/schema/entity/services/connections/metadata/atlasConnection.py +1 -1
  431. metadata/generated/schema/entity/services/connections/metadata/metadataESConnection.py +1 -1
  432. metadata/generated/schema/entity/services/connections/metadata/openMetadataConnection.py +1 -1
  433. metadata/generated/schema/entity/services/connections/mlmodel/__init__.py +1 -1
  434. metadata/generated/schema/entity/services/connections/mlmodel/customMlModelConnection.py +1 -1
  435. metadata/generated/schema/entity/services/connections/mlmodel/mlflowConnection.py +1 -1
  436. metadata/generated/schema/entity/services/connections/mlmodel/sageMakerConnection.py +1 -1
  437. metadata/generated/schema/entity/services/connections/mlmodel/sklearnConnection.py +1 -1
  438. metadata/generated/schema/entity/services/connections/mlmodel/vertexaiConnection.py +1 -1
  439. metadata/generated/schema/entity/services/connections/pipeline/__init__.py +1 -1
  440. metadata/generated/schema/entity/services/connections/pipeline/airbyteConnection.py +1 -1
  441. metadata/generated/schema/entity/services/connections/pipeline/airflowConnection.py +1 -1
  442. metadata/generated/schema/entity/services/connections/pipeline/backendConnection.py +1 -1
  443. metadata/generated/schema/entity/services/connections/pipeline/customPipelineConnection.py +1 -1
  444. metadata/generated/schema/entity/services/connections/pipeline/dagsterConnection.py +1 -1
  445. metadata/generated/schema/entity/services/connections/pipeline/databricksPipelineConnection.py +9 -1
  446. metadata/generated/schema/entity/services/connections/pipeline/datafactoryConnection.py +1 -1
  447. metadata/generated/schema/entity/services/connections/pipeline/dbtCloudConnection.py +1 -1
  448. metadata/generated/schema/entity/services/connections/pipeline/domoPipelineConnection.py +1 -1
  449. metadata/generated/schema/entity/services/connections/pipeline/fivetranConnection.py +1 -1
  450. metadata/generated/schema/entity/services/connections/pipeline/flinkConnection.py +1 -1
  451. metadata/generated/schema/entity/services/connections/pipeline/gluePipelineConnection.py +1 -1
  452. metadata/generated/schema/entity/services/connections/pipeline/kafkaConnectConnection.py +1 -1
  453. metadata/generated/schema/entity/services/connections/pipeline/matillion/__init__.py +1 -1
  454. metadata/generated/schema/entity/services/connections/pipeline/matillion/matillionETL.py +1 -1
  455. metadata/generated/schema/entity/services/connections/pipeline/matillionConnection.py +1 -1
  456. metadata/generated/schema/entity/services/connections/pipeline/nifi/__init__.py +1 -1
  457. metadata/generated/schema/entity/services/connections/pipeline/nifi/basicAuth.py +1 -1
  458. metadata/generated/schema/entity/services/connections/pipeline/nifi/clientCertificateAuth.py +1 -1
  459. metadata/generated/schema/entity/services/connections/pipeline/nifiConnection.py +1 -1
  460. metadata/generated/schema/entity/services/connections/pipeline/openLineageConnection.py +1 -1
  461. metadata/generated/schema/entity/services/connections/pipeline/sparkConnection.py +1 -1
  462. metadata/generated/schema/entity/services/connections/pipeline/splineConnection.py +1 -1
  463. metadata/generated/schema/entity/services/connections/pipeline/ssisConnection.py +1 -1
  464. metadata/generated/schema/entity/services/connections/pipeline/stitchConnection.py +1 -1
  465. metadata/generated/schema/entity/services/connections/pipeline/wherescapeConnection.py +1 -1
  466. metadata/generated/schema/entity/services/connections/search/__init__.py +1 -1
  467. metadata/generated/schema/entity/services/connections/search/customSearchConnection.py +1 -1
  468. metadata/generated/schema/entity/services/connections/search/elasticSearch/__init__.py +1 -1
  469. metadata/generated/schema/entity/services/connections/search/elasticSearch/apiAuth.py +1 -1
  470. metadata/generated/schema/entity/services/connections/search/elasticSearch/basicAuth.py +1 -1
  471. metadata/generated/schema/entity/services/connections/search/elasticSearchConnection.py +1 -1
  472. metadata/generated/schema/entity/services/connections/search/openSearchConnection.py +1 -1
  473. metadata/generated/schema/entity/services/connections/serviceConnection.py +1 -1
  474. metadata/generated/schema/entity/services/connections/storage/__init__.py +1 -1
  475. metadata/generated/schema/entity/services/connections/storage/adlsConnection.py +1 -1
  476. metadata/generated/schema/entity/services/connections/storage/customStorageConnection.py +1 -1
  477. metadata/generated/schema/entity/services/connections/storage/gcsConnection.py +1 -1
  478. metadata/generated/schema/entity/services/connections/storage/s3Connection.py +1 -1
  479. metadata/generated/schema/entity/services/connections/testConnectionDefinition.py +1 -1
  480. metadata/generated/schema/entity/services/connections/testConnectionResult.py +1 -1
  481. metadata/generated/schema/entity/services/dashboardService.py +1 -1
  482. metadata/generated/schema/entity/services/databaseService.py +1 -1
  483. metadata/generated/schema/entity/services/ingestionPipelines/__init__.py +1 -1
  484. metadata/generated/schema/entity/services/ingestionPipelines/ingestionPipeline.py +1 -1
  485. metadata/generated/schema/entity/services/ingestionPipelines/pipelineServiceClientResponse.py +1 -1
  486. metadata/generated/schema/entity/services/ingestionPipelines/reverseIngestionResponse.py +1 -1
  487. metadata/generated/schema/entity/services/ingestionPipelines/status.py +1 -1
  488. metadata/generated/schema/entity/services/messagingService.py +1 -1
  489. metadata/generated/schema/entity/services/metadataService.py +1 -1
  490. metadata/generated/schema/entity/services/mlmodelService.py +1 -1
  491. metadata/generated/schema/entity/services/pipelineService.py +1 -1
  492. metadata/generated/schema/entity/services/searchService.py +1 -1
  493. metadata/generated/schema/entity/services/serviceType.py +1 -1
  494. metadata/generated/schema/entity/services/storageService.py +1 -1
  495. metadata/generated/schema/entity/teams/__init__.py +1 -1
  496. metadata/generated/schema/entity/teams/persona.py +1 -1
  497. metadata/generated/schema/entity/teams/role.py +1 -1
  498. metadata/generated/schema/entity/teams/team.py +1 -1
  499. metadata/generated/schema/entity/teams/teamHierarchy.py +1 -1
  500. metadata/generated/schema/entity/teams/user.py +1 -1
  501. metadata/generated/schema/entity/type.py +1 -1
  502. metadata/generated/schema/entity/utils/__init__.py +1 -1
  503. metadata/generated/schema/entity/utils/entitiesCount.py +1 -1
  504. metadata/generated/schema/entity/utils/servicesCount.py +1 -1
  505. metadata/generated/schema/entity/utils/supersetApiConnection.py +1 -1
  506. metadata/generated/schema/events/__init__.py +1 -1
  507. metadata/generated/schema/events/alertMetrics.py +1 -1
  508. metadata/generated/schema/events/api/__init__.py +1 -1
  509. metadata/generated/schema/events/api/createEventSubscription.py +1 -1
  510. metadata/generated/schema/events/api/eventSubscriptionDiagnosticInfo.py +1 -1
  511. metadata/generated/schema/events/api/eventsRecord.py +1 -1
  512. metadata/generated/schema/events/api/testEventSubscriptionDestination.py +1 -1
  513. metadata/generated/schema/events/api/typedEvent.py +1 -1
  514. metadata/generated/schema/events/emailAlertConfig.py +1 -1
  515. metadata/generated/schema/events/eventFilterRule.py +1 -1
  516. metadata/generated/schema/events/eventSubscription.py +1 -1
  517. metadata/generated/schema/events/eventSubscriptionOffset.py +1 -1
  518. metadata/generated/schema/events/failedEvent.py +1 -1
  519. metadata/generated/schema/events/failedEventResponse.py +1 -1
  520. metadata/generated/schema/events/filterResourceDescriptor.py +1 -1
  521. metadata/generated/schema/events/statusContext.py +1 -1
  522. metadata/generated/schema/events/subscriptionResourceDescriptor.py +1 -1
  523. metadata/generated/schema/events/subscriptionStatus.py +1 -1
  524. metadata/generated/schema/events/testDestinationStatus.py +1 -1
  525. metadata/generated/schema/governance/workflows/__init__.py +1 -1
  526. metadata/generated/schema/governance/workflows/elements/__init__.py +1 -1
  527. metadata/generated/schema/governance/workflows/elements/edge.py +1 -1
  528. metadata/generated/schema/governance/workflows/elements/nodeSubType.py +1 -1
  529. metadata/generated/schema/governance/workflows/elements/nodeType.py +1 -1
  530. metadata/generated/schema/governance/workflows/elements/nodes/__init__.py +1 -1
  531. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/__init__.py +1 -1
  532. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/checkEntityAttributesTask.py +1 -1
  533. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/createAndRunIngestionPipelineTask.py +1 -1
  534. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/runAppTask.py +1 -1
  535. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setEntityCertificationTask.py +1 -1
  536. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setGlossaryTermStatusTask.py +1 -1
  537. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/__init__.py +1 -1
  538. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/endEvent.py +1 -1
  539. metadata/generated/schema/governance/workflows/elements/nodes/gateway/__init__.py +1 -1
  540. metadata/generated/schema/governance/workflows/elements/nodes/gateway/parallelGateway.py +1 -1
  541. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/__init__.py +1 -1
  542. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/startEvent.py +1 -1
  543. metadata/generated/schema/governance/workflows/elements/nodes/userTask/__init__.py +1 -1
  544. metadata/generated/schema/governance/workflows/elements/nodes/userTask/userApprovalTask.py +1 -1
  545. metadata/generated/schema/governance/workflows/elements/triggers/__init__.py +1 -1
  546. metadata/generated/schema/governance/workflows/elements/triggers/eventBasedEntityTrigger.py +1 -1
  547. metadata/generated/schema/governance/workflows/elements/triggers/noOpTrigger.py +1 -1
  548. metadata/generated/schema/governance/workflows/elements/triggers/periodicBatchEntityTrigger.py +1 -1
  549. metadata/generated/schema/governance/workflows/workflowDefinition.py +1 -1
  550. metadata/generated/schema/governance/workflows/workflowInstance.py +1 -1
  551. metadata/generated/schema/governance/workflows/workflowInstanceState.py +1 -1
  552. metadata/generated/schema/jobs/__init__.py +1 -1
  553. metadata/generated/schema/jobs/backgroundJob.py +1 -1
  554. metadata/generated/schema/jobs/enumCleanupArgs.py +1 -1
  555. metadata/generated/schema/metadataIngestion/__init__.py +1 -1
  556. metadata/generated/schema/metadataIngestion/apiServiceMetadataPipeline.py +1 -1
  557. metadata/generated/schema/metadataIngestion/application.py +1 -1
  558. metadata/generated/schema/metadataIngestion/applicationPipeline.py +1 -1
  559. metadata/generated/schema/metadataIngestion/dashboardServiceMetadataPipeline.py +4 -4
  560. metadata/generated/schema/metadataIngestion/dataInsightPipeline.py +1 -1
  561. metadata/generated/schema/metadataIngestion/databaseServiceAutoClassificationPipeline.py +1 -1
  562. metadata/generated/schema/metadataIngestion/databaseServiceMetadataPipeline.py +1 -1
  563. metadata/generated/schema/metadataIngestion/databaseServiceProfilerPipeline.py +1 -1
  564. metadata/generated/schema/metadataIngestion/databaseServiceQueryLineagePipeline.py +9 -1
  565. metadata/generated/schema/metadataIngestion/databaseServiceQueryUsagePipeline.py +1 -1
  566. metadata/generated/schema/metadataIngestion/dbtPipeline.py +1 -1
  567. metadata/generated/schema/metadataIngestion/dbtconfig/__init__.py +1 -1
  568. metadata/generated/schema/metadataIngestion/dbtconfig/dbtAzureConfig.py +1 -1
  569. metadata/generated/schema/metadataIngestion/dbtconfig/dbtBucketDetails.py +1 -1
  570. metadata/generated/schema/metadataIngestion/dbtconfig/dbtCloudConfig.py +1 -1
  571. metadata/generated/schema/metadataIngestion/dbtconfig/dbtGCSConfig.py +1 -1
  572. metadata/generated/schema/metadataIngestion/dbtconfig/dbtHttpConfig.py +1 -1
  573. metadata/generated/schema/metadataIngestion/dbtconfig/dbtLocalConfig.py +1 -1
  574. metadata/generated/schema/metadataIngestion/dbtconfig/dbtS3Config.py +1 -1
  575. metadata/generated/schema/metadataIngestion/messagingServiceMetadataPipeline.py +1 -1
  576. metadata/generated/schema/metadataIngestion/metadataToElasticSearchPipeline.py +1 -1
  577. metadata/generated/schema/metadataIngestion/mlmodelServiceMetadataPipeline.py +1 -1
  578. metadata/generated/schema/metadataIngestion/pipelineServiceMetadataPipeline.py +1 -1
  579. metadata/generated/schema/metadataIngestion/reverseIngestionPipeline.py +1 -1
  580. metadata/generated/schema/metadataIngestion/reverseingestionconfig/__init__.py +1 -1
  581. metadata/generated/schema/metadataIngestion/reverseingestionconfig/descriptionConfig.py +1 -1
  582. metadata/generated/schema/metadataIngestion/reverseingestionconfig/ownerConfig.py +1 -1
  583. metadata/generated/schema/metadataIngestion/reverseingestionconfig/tagsConfig.py +1 -1
  584. metadata/generated/schema/metadataIngestion/searchServiceMetadataPipeline.py +1 -1
  585. metadata/generated/schema/metadataIngestion/storage/__init__.py +1 -1
  586. metadata/generated/schema/metadataIngestion/storage/containerMetadataConfig.py +1 -1
  587. metadata/generated/schema/metadataIngestion/storage/manifestMetadataConfig.py +1 -1
  588. metadata/generated/schema/metadataIngestion/storage/storageBucketDetails.py +1 -1
  589. metadata/generated/schema/metadataIngestion/storage/storageMetadataADLSConfig.py +1 -1
  590. metadata/generated/schema/metadataIngestion/storage/storageMetadataGCSConfig.py +1 -1
  591. metadata/generated/schema/metadataIngestion/storage/storageMetadataHttpConfig.py +1 -1
  592. metadata/generated/schema/metadataIngestion/storage/storageMetadataLocalConfig.py +1 -1
  593. metadata/generated/schema/metadataIngestion/storage/storageMetadataS3Config.py +1 -1
  594. metadata/generated/schema/metadataIngestion/storageServiceMetadataPipeline.py +1 -1
  595. metadata/generated/schema/metadataIngestion/testSuitePipeline.py +1 -1
  596. metadata/generated/schema/metadataIngestion/workflow.py +1 -1
  597. metadata/generated/schema/monitoring/__init__.py +1 -1
  598. metadata/generated/schema/monitoring/eventMonitorProvider.py +1 -1
  599. metadata/generated/schema/scim/__init__.py +1 -1
  600. metadata/generated/schema/scim/scimConfiguration.py +1 -1
  601. metadata/generated/schema/search/__init__.py +1 -1
  602. metadata/generated/schema/search/aggregationRequest.py +1 -1
  603. metadata/generated/schema/search/searchRequest.py +1 -1
  604. metadata/generated/schema/security/__init__.py +1 -1
  605. metadata/generated/schema/security/client/__init__.py +1 -1
  606. metadata/generated/schema/security/client/auth0SSOClientConfig.py +1 -1
  607. metadata/generated/schema/security/client/azureSSOClientConfig.py +1 -1
  608. metadata/generated/schema/security/client/customOidcSSOClientConfig.py +1 -1
  609. metadata/generated/schema/security/client/googleSSOClientConfig.py +1 -1
  610. metadata/generated/schema/security/client/oidcClientConfig.py +8 -1
  611. metadata/generated/schema/security/client/oktaSSOClientConfig.py +1 -1
  612. metadata/generated/schema/security/client/openMetadataJWTClientConfig.py +1 -1
  613. metadata/generated/schema/security/client/samlSSOClientConfig.py +1 -1
  614. metadata/generated/schema/security/credentials/__init__.py +1 -1
  615. metadata/generated/schema/security/credentials/accessTokenAuth.py +1 -1
  616. metadata/generated/schema/security/credentials/apiAccessTokenAuth.py +1 -1
  617. metadata/generated/schema/security/credentials/awsCredentials.py +1 -1
  618. metadata/generated/schema/security/credentials/azureCredentials.py +1 -1
  619. metadata/generated/schema/security/credentials/basicAuth.py +1 -1
  620. metadata/generated/schema/security/credentials/bitbucketCredentials.py +1 -1
  621. metadata/generated/schema/security/credentials/gcpCredentials.py +1 -1
  622. metadata/generated/schema/security/credentials/gcpExternalAccount.py +1 -1
  623. metadata/generated/schema/security/credentials/gcpValues.py +1 -1
  624. metadata/generated/schema/security/credentials/gitCredentials.py +1 -1
  625. metadata/generated/schema/security/credentials/githubCredentials.py +1 -1
  626. metadata/generated/schema/security/credentials/gitlabCredentials.py +1 -1
  627. metadata/generated/schema/security/sasl/__init__.py +1 -1
  628. metadata/generated/schema/security/sasl/saslClientConfig.py +1 -1
  629. metadata/generated/schema/security/secrets/__init__.py +1 -1
  630. metadata/generated/schema/security/secrets/secretsManagerClientLoader.py +1 -1
  631. metadata/generated/schema/security/secrets/secretsManagerConfiguration.py +1 -1
  632. metadata/generated/schema/security/secrets/secretsManagerProvider.py +1 -1
  633. metadata/generated/schema/security/securityConfiguration.py +1 -1
  634. metadata/generated/schema/security/ssl/__init__.py +1 -1
  635. metadata/generated/schema/security/ssl/validateSSLClientConfig.py +1 -1
  636. metadata/generated/schema/security/ssl/verifySSLConfig.py +1 -1
  637. metadata/generated/schema/settings/__init__.py +1 -1
  638. metadata/generated/schema/settings/settings.py +1 -1
  639. metadata/generated/schema/system/__init__.py +1 -1
  640. metadata/generated/schema/system/entityError.py +1 -1
  641. metadata/generated/schema/system/eventPublisherJob.py +1 -1
  642. metadata/generated/schema/system/indexingError.py +1 -1
  643. metadata/generated/schema/system/limitsResponse.py +1 -1
  644. metadata/generated/schema/system/ui/__init__.py +1 -1
  645. metadata/generated/schema/system/ui/knowledgePanel.py +1 -1
  646. metadata/generated/schema/system/ui/navigationItem.py +1 -1
  647. metadata/generated/schema/system/ui/page.py +1 -1
  648. metadata/generated/schema/system/ui/tab.py +1 -1
  649. metadata/generated/schema/system/ui/uiCustomization.py +1 -1
  650. metadata/generated/schema/system/validationResponse.py +1 -1
  651. metadata/generated/schema/tests/__init__.py +1 -1
  652. metadata/generated/schema/tests/assigned.py +1 -1
  653. metadata/generated/schema/tests/basic.py +1 -1
  654. metadata/generated/schema/tests/customMetric.py +1 -1
  655. metadata/generated/schema/tests/dataQualityReport.py +1 -1
  656. metadata/generated/schema/tests/resolved.py +1 -1
  657. metadata/generated/schema/tests/testCase.py +1 -1
  658. metadata/generated/schema/tests/testCaseResolutionStatus.py +1 -1
  659. metadata/generated/schema/tests/testDefinition.py +1 -1
  660. metadata/generated/schema/tests/testSuite.py +1 -1
  661. metadata/generated/schema/type/__init__.py +1 -1
  662. metadata/generated/schema/type/apiSchema.py +1 -1
  663. metadata/generated/schema/type/assetCertification.py +1 -1
  664. metadata/generated/schema/type/auditLog.py +1 -1
  665. metadata/generated/schema/type/basic.py +1 -1
  666. metadata/generated/schema/type/bulkOperationResult.py +1 -1
  667. metadata/generated/schema/type/changeEvent.py +1 -1
  668. metadata/generated/schema/type/changeEventType.py +1 -1
  669. metadata/generated/schema/type/changeSummaryMap.py +1 -1
  670. metadata/generated/schema/type/collectionDescriptor.py +1 -1
  671. metadata/generated/schema/type/csvDocumentation.py +1 -1
  672. metadata/generated/schema/type/csvErrorType.py +1 -1
  673. metadata/generated/schema/type/csvFile.py +1 -1
  674. metadata/generated/schema/type/csvImportResult.py +1 -1
  675. metadata/generated/schema/type/customProperties/__init__.py +1 -1
  676. metadata/generated/schema/type/customProperties/complexTypes.py +1 -1
  677. metadata/generated/schema/type/customProperties/enumConfig.py +1 -1
  678. metadata/generated/schema/type/customProperties/tableConfig.py +1 -1
  679. metadata/generated/schema/type/customProperty.py +1 -1
  680. metadata/generated/schema/type/dailyCount.py +1 -1
  681. metadata/generated/schema/type/databaseConnectionConfig.py +1 -1
  682. metadata/generated/schema/type/entityHierarchy.py +1 -1
  683. metadata/generated/schema/type/entityHistory.py +1 -1
  684. metadata/generated/schema/type/entityLineage.py +1 -1
  685. metadata/generated/schema/type/entityReference.py +1 -1
  686. metadata/generated/schema/type/entityReferenceList.py +1 -1
  687. metadata/generated/schema/type/entityRelationship.py +1 -1
  688. metadata/generated/schema/type/entityUsage.py +1 -1
  689. metadata/generated/schema/type/filterPattern.py +1 -1
  690. metadata/generated/schema/type/function.py +1 -1
  691. metadata/generated/schema/type/include.py +1 -1
  692. metadata/generated/schema/type/jdbcConnection.py +1 -1
  693. metadata/generated/schema/type/lifeCycle.py +1 -1
  694. metadata/generated/schema/type/paging.py +1 -1
  695. metadata/generated/schema/type/profile.py +1 -1
  696. metadata/generated/schema/type/queryParserData.py +1 -1
  697. metadata/generated/schema/type/reaction.py +1 -1
  698. metadata/generated/schema/type/schedule.py +1 -1
  699. metadata/generated/schema/type/schema.py +1 -1
  700. metadata/generated/schema/type/tableQuery.py +1 -1
  701. metadata/generated/schema/type/tableUsageCount.py +1 -1
  702. metadata/generated/schema/type/tagLabel.py +1 -1
  703. metadata/generated/schema/type/usageDetails.py +1 -1
  704. metadata/generated/schema/type/usageRequest.py +1 -1
  705. metadata/generated/schema/type/votes.py +1 -1
  706. metadata/ingestion/lineage/masker.py +5 -2
  707. metadata/ingestion/lineage/sql_lineage.py +15 -9
  708. metadata/ingestion/source/api/rest/metadata.py +49 -8
  709. metadata/ingestion/source/dashboard/dashboard_service.py +21 -13
  710. metadata/ingestion/source/dashboard/domodashboard/metadata.py +11 -7
  711. metadata/ingestion/source/dashboard/lightdash/metadata.py +10 -7
  712. metadata/ingestion/source/dashboard/looker/metadata.py +64 -27
  713. metadata/ingestion/source/dashboard/metabase/metadata.py +98 -20
  714. metadata/ingestion/source/dashboard/microstrategy/metadata.py +35 -5
  715. metadata/ingestion/source/dashboard/mode/metadata.py +64 -18
  716. metadata/ingestion/source/dashboard/powerbi/client.py +57 -10
  717. metadata/ingestion/source/dashboard/powerbi/metadata.py +113 -20
  718. metadata/ingestion/source/dashboard/qlikcloud/client.py +34 -2
  719. metadata/ingestion/source/dashboard/qlikcloud/constants.py +6 -0
  720. metadata/ingestion/source/dashboard/qlikcloud/metadata.py +23 -8
  721. metadata/ingestion/source/dashboard/qlikcloud/models.py +8 -0
  722. metadata/ingestion/source/dashboard/qliksense/metadata.py +53 -12
  723. metadata/ingestion/source/dashboard/quicksight/metadata.py +99 -20
  724. metadata/ingestion/source/dashboard/redash/metadata.py +51 -6
  725. metadata/ingestion/source/dashboard/sigma/metadata.py +62 -14
  726. metadata/ingestion/source/dashboard/superset/api_source.py +52 -10
  727. metadata/ingestion/source/dashboard/superset/db_source.py +49 -9
  728. metadata/ingestion/source/dashboard/superset/mixin.py +5 -5
  729. metadata/ingestion/source/dashboard/tableau/metadata.py +203 -48
  730. metadata/ingestion/source/database/bigquery/service_spec.py +4 -4
  731. metadata/ingestion/source/database/databricks/client.py +149 -14
  732. metadata/ingestion/source/database/databricks/queries.py +26 -0
  733. metadata/ingestion/source/database/dbt/dbt_config.py +5 -8
  734. metadata/ingestion/source/database/lineage_source.py +10 -0
  735. metadata/ingestion/source/database/postgres/metadata.py +16 -4
  736. metadata/ingestion/source/database/postgres/models.py +1 -0
  737. metadata/ingestion/source/database/postgres/queries.py +7 -4
  738. metadata/ingestion/source/database/redshift/queries.py +0 -35
  739. metadata/ingestion/source/database/redshift/service_spec.py +4 -4
  740. metadata/ingestion/source/database/snowflake/metadata.py +28 -10
  741. metadata/ingestion/source/database/snowflake/service_spec.py +4 -4
  742. metadata/ingestion/source/database/stored_procedures_mixin.py +10 -0
  743. metadata/ingestion/source/database/unitycatalog/metadata.py +24 -22
  744. metadata/ingestion/source/metadata/amundsen/metadata.py +6 -6
  745. metadata/ingestion/source/pipeline/databrickspipeline/connection.py +26 -2
  746. metadata/ingestion/source/pipeline/databrickspipeline/metadata.py +175 -13
  747. metadata/pii/algorithms/classifiers.py +0 -1
  748. metadata/pii/algorithms/presidio_patches.py +8 -1
  749. metadata/profiler/interface/sqlalchemy/bigquery/profiler_interface.py +29 -0
  750. metadata/profiler/interface/sqlalchemy/databricks/profiler_interface.py +32 -2
  751. metadata/profiler/interface/sqlalchemy/profiler_interface.py +11 -12
  752. metadata/profiler/interface/sqlalchemy/redshift/profiler_interface.py +50 -0
  753. metadata/profiler/interface/sqlalchemy/snowflake/profiler_interface.py +20 -0
  754. metadata/{ingestion/source/database/bigquery/profiler → profiler/metrics/system/bigquery}/system.py +40 -58
  755. metadata/profiler/metrics/system/databricks/system.py +132 -0
  756. metadata/profiler/metrics/system/dml_operation.py +2 -0
  757. metadata/{ingestion/source/database/redshift/profiler → profiler/metrics/system/redshift}/system.py +39 -57
  758. metadata/{ingestion/source/database/snowflake/profiler → profiler/metrics/system/snowflake}/system.py +29 -52
  759. metadata/profiler/metrics/system/system.py +107 -38
  760. metadata/sampler/sqlalchemy/bigquery/sampler.py +0 -7
  761. metadata/sampler/sqlalchemy/databricks/sampler.py +32 -1
  762. metadata/sampler/sqlalchemy/sampler.py +88 -6
  763. metadata/sampler/sqlalchemy/unitycatalog/sampler.py +33 -1
  764. metadata/utils/filters.py +15 -0
  765. {openmetadata_ingestion-1.8.0.0.dist-info → openmetadata_ingestion-1.8.2.0.dist-info}/METADATA +519 -519
  766. {openmetadata_ingestion-1.8.0.0.dist-info → openmetadata_ingestion-1.8.2.0.dist-info}/RECORD +770 -774
  767. metadata/ingestion/source/database/bigquery/profiler/__init__.py +0 -0
  768. metadata/ingestion/source/database/bigquery/profiler/profiler.py +0 -31
  769. metadata/ingestion/source/database/redshift/profiler/__init__.py +0 -0
  770. metadata/ingestion/source/database/redshift/profiler/profiler.py +0 -14
  771. metadata/ingestion/source/database/snowflake/profiler/__init__.py +0 -0
  772. metadata/ingestion/source/database/snowflake/profiler/profiler.py +0 -26
  773. {openmetadata_ingestion-1.8.0.0.dist-info → openmetadata_ingestion-1.8.2.0.dist-info}/LICENSE +0 -0
  774. {openmetadata_ingestion-1.8.0.0.dist-info → openmetadata_ingestion-1.8.2.0.dist-info}/WHEEL +0 -0
  775. {openmetadata_ingestion-1.8.0.0.dist-info → openmetadata_ingestion-1.8.2.0.dist-info}/entry_points.txt +0 -0
  776. {openmetadata_ingestion-1.8.0.0.dist-info → openmetadata_ingestion-1.8.2.0.dist-info}/top_level.txt +0 -0
@@ -15,16 +15,20 @@ System Metric
15
15
 
16
16
  from abc import ABC
17
17
  from collections import defaultdict
18
- from typing import Callable, Generic, List, TypeVar
18
+ from typing import Callable, Dict, Generic, List, Optional, Protocol, Type, TypeVar
19
19
 
20
+ from sqlalchemy import text
20
21
  from sqlalchemy.orm import Session
21
22
 
22
23
  from metadata.generated.schema.configuration.profilerConfiguration import MetricType
23
24
  from metadata.generated.schema.entity.data.table import SystemProfile
24
25
  from metadata.profiler.metrics.core import SystemMetric
26
+ from metadata.profiler.orm.registry import PythonDialects
25
27
  from metadata.utils.helpers import deep_size_of_dict
28
+ from metadata.utils.importer import DynamicImportException, import_from_module
26
29
  from metadata.utils.logger import profiler_logger
27
30
  from metadata.utils.lru_cache import LRU_CACHE_SIZE, LRUCache
31
+ from metadata.utils.profiler_utils import QueryResult
28
32
 
29
33
  logger = profiler_logger()
30
34
 
@@ -45,7 +49,23 @@ class CacheProvider(ABC, Generic[T]):
45
49
  """Cache provider class to provide cache for system metrics"""
46
50
 
47
51
  def __init__(self):
48
- self.cache = LRUCache[T](LRU_CACHE_SIZE)
52
+ self.cache = LRUCache[List[T]](LRU_CACHE_SIZE)
53
+
54
+ def __init_subclass__(cls, **kwargs):
55
+ """Ensure that subclasses properly initialize the cache"""
56
+ super().__init_subclass__(**kwargs)
57
+
58
+ # Store the original __init__ method
59
+ original_init = cls.__init__
60
+
61
+ def new_init(self, *args, **kwargs):
62
+ # Always call CacheProvider.__init__ first
63
+ CacheProvider.__init__(self)
64
+ # Then call the original __init__ if it exists and is not CacheProvider's
65
+ if original_init is not CacheProvider.__init__:
66
+ original_init(self, *args, **kwargs)
67
+
68
+ cls.__init__ = new_init
49
69
 
50
70
  def get_or_update_cache(
51
71
  self,
@@ -53,64 +73,113 @@ class CacheProvider(ABC, Generic[T]):
53
73
  get_queries_fn: Callable[..., List[T]],
54
74
  *args,
55
75
  **kwargs,
56
- ):
76
+ ) -> List[T]:
57
77
  if cache_path in self.cache:
58
- return self.cache.get(cache_path)
78
+ cached_result = self.cache.get(cache_path)
79
+ return cached_result if cached_result is not None else []
59
80
  result = get_queries_fn(*args, **kwargs)
60
81
  self.cache.put(cache_path, result)
61
82
  return result
62
83
 
63
84
 
64
- class EmptySystemMetricsSource:
65
- """Empty system metrics source that can be used as a default. Just returns an empty list of system metrics
66
- for any resource."""
85
+ class SystemMetricsComputer(Protocol):
86
+ """System metrics computer class to fetch system metrics for a given table."""
87
+
88
+ def _get_query_results(
89
+ self,
90
+ session: Session,
91
+ query,
92
+ operation,
93
+ ) -> List[QueryResult]:
94
+ """get query results either from cache or from the database
95
+
96
+ Args:
97
+ session (Session): session
98
+ query (_type_): query
99
+ operation (_type_): operation
100
+
101
+ Returns:
102
+ List[QueryResult]:
103
+ """
104
+ cursor = session.execute(text(query))
105
+ results = [
106
+ QueryResult(
107
+ database_name=row.database,
108
+ schema_name=row.schema,
109
+ table_name=row.table,
110
+ query_text=None,
111
+ query_type=operation,
112
+ start_time=row.starttime,
113
+ rows=row.rows,
114
+ )
115
+ for row in cursor
116
+ if (row.rows is not None) and (row.rows > 0)
117
+ ]
118
+
119
+ return results
120
+
121
+ def get_system_metrics(self) -> List[SystemProfile]:
122
+ """Return system metrics for a given table. Actual passed object can be a variety of types based
123
+ on the underlying infrastructure. For example, in the case of SQLalchemy, it can be a Table object
124
+ and in the case of Mongo, it can be a collection object."""
125
+ return self.get_inserts() + self.get_deletes() + self.get_updates()
67
126
 
68
- def get_inserts(self, **kwargs) -> List[SystemProfile]:
127
+ def get_inserts(self) -> List[SystemProfile]:
69
128
  """Get insert queries"""
70
129
  return []
71
130
 
72
- def get_deletes(self, **kwargs) -> List[SystemProfile]:
131
+ def get_deletes(self) -> List[SystemProfile]:
73
132
  """Get delete queries"""
74
133
  return []
75
134
 
76
- def get_updates(self, **kwargs) -> List[SystemProfile]:
135
+ def get_updates(self) -> List[SystemProfile]:
77
136
  """Get update queries"""
78
137
  return []
79
138
 
80
- def get_kwargs(self, **kwargs):
81
- """Get kwargs to be used in get_inserts, get_deletes, get_updates"""
82
- return {}
83
-
84
139
 
85
- class SystemMetricsComputer(EmptySystemMetricsSource):
86
- def __init__(self, *args, **kwargs):
87
- # collaborative constructor that initalizes upstream classes
88
- super().__init__(*args, **kwargs)
89
-
90
- def get_system_metrics(self, **kwargs) -> List[SystemProfile]:
91
- """Return system metrics for a given table. Actual passed object can be a variety of types based
92
- on the underlying infrastructure. For example, in the case of SQLalchemy, it can be a Table object
93
- and in the case of Mongo, it can be a collection object."""
94
- kwargs = super().get_kwargs(**kwargs)
95
- return (
96
- super().get_inserts(**kwargs)
97
- + super().get_deletes(**kwargs)
98
- + super().get_updates(**kwargs)
99
- )
140
+ class SystemMetricsRegistry:
141
+ _registry: Dict[str, Type["SystemMetricsComputer"]] = {}
100
142
 
143
+ @classmethod
144
+ def register(cls, dialect: PythonDialects, implementation: Type):
145
+ cls._registry[dialect.name.lower()] = implementation
101
146
 
102
- class SQASessionProvider:
103
- """SQASessionProvider class to provide session to the system metrics"""
147
+ @classmethod
148
+ def get(cls, dialect: PythonDialects) -> Optional[Type["SystemMetricsComputer"]]:
149
+ if dialect.name.lower() not in cls._registry:
150
+ cls._discover_implementation(dialect)
151
+ return cls._registry.get(dialect.name.lower())
104
152
 
105
- def __init__(self, *args, **kwargs):
106
- self.session = kwargs.pop("session")
107
- super().__init__(*args, **kwargs)
153
+ @classmethod
154
+ def _discover_implementation(cls, dialect: PythonDialects):
155
+ """Auto-discover the implementation in the profiler metrics"""
156
+ try:
157
+ implementation = import_from_module(
158
+ f"metadata.profiler.metrics.system.{dialect.name.lower()}.system"
159
+ )
160
+ except DynamicImportException:
161
+ logger.warning(f"No implementation found for {dialect.name.lower()}")
162
+ return
163
+ cls._registry[dialect.name.lower()] = implementation
164
+
165
+
166
+ def register_system_metrics(
167
+ dialect: PythonDialects,
168
+ ) -> Callable[[Type["SystemMetricsComputer"]], Type["SystemMetricsComputer"]]:
169
+ """Decorator to register a system metric implementation
170
+
171
+ Args:
172
+ dialect (PythonDialects): database type
173
+
174
+ Returns:
175
+ Callable: decorator function
176
+ """
108
177
 
109
- def get_session(self):
110
- return self.session
178
+ def decorator(cls: Type["SystemMetricsComputer"]):
179
+ SystemMetricsRegistry.register(dialect, cls)
180
+ return cls
111
181
 
112
- def get_database(self) -> str:
113
- return self.session.get_bind().url.database
182
+ return decorator
114
183
 
115
184
 
116
185
  class System(SystemMetric):
@@ -73,13 +73,6 @@ class BigQuerySampler(SQASampler):
73
73
  **kwargs,
74
74
  )
75
75
  self.raw_dataset_type: Optional[TableType] = entity.tableType
76
- if self._table.__table__.schema and self.entity.database.name:
77
- self._table.__table__.schema = (
78
- f"{self.entity.database.name}.{self._table.__table__.schema}"
79
- )
80
- self._table.__table_args__[
81
- "schema"
82
- ] = f"{self.entity.database.name}.{self._table.__table_args__['schema']}"
83
76
 
84
77
  def set_tablesample(self, selectable: SqaTable):
85
78
  """Set the TABLESAMPLE clause for BigQuery
@@ -11,16 +11,47 @@
11
11
  """
12
12
  Helper module to handle data sampling for the profiler
13
13
  """
14
+ from sqlalchemy import Column, text
15
+
14
16
  from metadata.ingestion.source.database.databricks.connection import (
15
17
  get_connection as databricks_get_connection,
16
18
  )
19
+ from metadata.profiler.orm.types.custom_array import CustomArray
17
20
  from metadata.sampler.sqlalchemy.sampler import SQASampler
18
21
 
19
22
 
20
23
  class DatabricksSamplerInterface(SQASampler):
24
+ def __init__(self, *args, **kwargs):
25
+ """Initialize with a single Databricks connection"""
26
+ super().__init__(*args, **kwargs)
27
+ self.connection = databricks_get_connection(self.service_connection_config)
28
+
21
29
  def get_client(self):
22
30
  """client is the session for SQA"""
23
- self.connection = databricks_get_connection(self.service_connection_config)
24
31
  client = super().get_client()
25
32
  self.set_catalog(client)
26
33
  return client
34
+
35
+ def _handle_array_column(self, column: Column) -> bool:
36
+ """Check if a column is an array type"""
37
+ return isinstance(column.type, CustomArray)
38
+
39
+ def _get_slice_expression(self, column: Column):
40
+ """Generate SQL expression to slice array elements at query level
41
+
42
+ Args:
43
+ column_name: Name of the column
44
+ max_elements: Maximum number of elements to extract
45
+
46
+ Returns:
47
+ SQL expression string for array slicing
48
+ """
49
+ max_elements = self._get_max_array_elements()
50
+ return text(
51
+ f"""
52
+ CASE
53
+ WHEN `{column.name}` IS NULL THEN NULL
54
+ ELSE slice(`{column.name}`, 1, {max_elements})
55
+ END AS `{column._label}`
56
+ """
57
+ )
@@ -13,6 +13,7 @@ Helper module to handle data sampling
13
13
  for the profiler
14
14
  """
15
15
  import hashlib
16
+ from contextlib import contextmanager
16
17
  from typing import List, Optional, Union, cast
17
18
 
18
19
  from sqlalchemy import Column, inspect, text
@@ -40,6 +41,9 @@ logger = profiler_interface_registry_logger()
40
41
 
41
42
  RANDOM_LABEL = "random"
42
43
 
44
+ # Default maximum number of elements to extract from array columns to prevent OOM
45
+ DEFAULT_MAX_ARRAY_ELEMENTS = 10
46
+
43
47
 
44
48
  def _object_value_for_elem(self, elem):
45
49
  """
@@ -71,6 +75,7 @@ class SQASampler(SamplerInterface, SQAInterfaceMixin):
71
75
  self._table = self.build_table_orm(
72
76
  self.entity, self.service_connection_config, self.ometa_client
73
77
  )
78
+ self._active_sessions = set()
74
79
 
75
80
  @property
76
81
  def raw_dataset(self):
@@ -79,7 +84,20 @@ class SQASampler(SamplerInterface, SQAInterfaceMixin):
79
84
  def get_client(self):
80
85
  """Build the SQA Client"""
81
86
  session_factory = create_and_bind_thread_safe_session(self.connection)
82
- return session_factory()
87
+ session = session_factory()
88
+ self._active_sessions.add(session)
89
+ return session
90
+
91
+ @contextmanager
92
+ def get_client_context(self):
93
+ """Get client as context manager for proper cleanup"""
94
+ session = self.get_client()
95
+ try:
96
+ yield session
97
+ finally:
98
+ if session in self._active_sessions:
99
+ self._active_sessions.remove(session)
100
+ session.close()
83
101
 
84
102
  def set_tablesample(self, selectable: Table):
85
103
  """Set the tablesample for the table. To be implemented by the child SQA sampler class
@@ -88,6 +106,36 @@ class SQASampler(SamplerInterface, SQAInterfaceMixin):
88
106
  """
89
107
  return selectable
90
108
 
109
+ def _get_max_array_elements(self) -> int:
110
+ """Get the maximum number of array elements from config or use default"""
111
+ if (
112
+ self.sample_config
113
+ and hasattr(self.sample_config, "maxArrayElements")
114
+ and self.sample_config.maxArrayElements
115
+ ):
116
+ return self.sample_config.maxArrayElements
117
+ return DEFAULT_MAX_ARRAY_ELEMENTS
118
+
119
+ def _handle_array_column(self, column: Column) -> bool:
120
+ """Check if a column is an array type"""
121
+ # Implement this method in the child classes
122
+ return False
123
+
124
+ def _process_array_value(self, value):
125
+ """Process array values to convert numpy arrays to Python lists"""
126
+ import numpy as np # pylint: disable=import-outside-toplevel
127
+
128
+ if isinstance(value, np.ndarray):
129
+ return value.tolist()
130
+ return value
131
+
132
+ def _get_slice_expression(self, column: Column):
133
+ """Generate SQL expression to slice array elements at query level
134
+ By default, we return the column as is.
135
+ Child classes can override this method to return a different expression.
136
+ """
137
+ return column
138
+
91
139
  def _base_sample_query(self, column: Optional[Column], label=None):
92
140
  """Base query for sampling
93
141
 
@@ -199,17 +247,50 @@ class SQASampler(SamplerInterface, SQAInterfaceMixin):
199
247
  if col.name != RANDOM_LABEL and col.name in names
200
248
  ]
201
249
 
202
- with self.get_client() as client:
250
+ with self.get_client_context() as client:
251
+
252
+ # Handle array columns with special query modification
253
+ max_elements = self._get_max_array_elements()
254
+ select_columns = []
255
+ has_array_columns = False
256
+
257
+ for col in sqa_columns:
258
+ if self._handle_array_column(col):
259
+ slice_expression = self._get_slice_expression(col)
260
+ select_columns.append(slice_expression)
261
+ logger.debug(
262
+ f"Limiting array column {col.name} to {max_elements} elements to prevent OOM"
263
+ )
264
+ has_array_columns = True
265
+ else:
266
+ select_columns.append(col)
267
+
268
+ # Create query with modified columns
203
269
  sqa_sample = (
204
- client.query(*sqa_columns)
270
+ client.query(*select_columns)
205
271
  .select_from(ds)
206
272
  .limit(self.sample_limit)
207
273
  .all()
208
274
  )
209
275
 
276
+ # Process array columns manually if we used text() expressions
277
+ processed_rows = []
278
+ if has_array_columns:
279
+ for row in sqa_sample:
280
+ processed_row = []
281
+ for i, col in enumerate(sqa_columns):
282
+ value = row[i]
283
+ if self._handle_array_column(col):
284
+ processed_value = self._process_array_value(value)
285
+ processed_row.append(processed_value)
286
+ else:
287
+ processed_row.append(value)
288
+ processed_rows.append(processed_row)
289
+ else:
290
+ processed_rows = [list(row) for row in sqa_sample]
210
291
  return TableData(
211
292
  columns=[column.name for column in sqa_columns],
212
- rows=[list(row) for row in sqa_sample],
293
+ rows=processed_rows,
213
294
  )
214
295
 
215
296
  def _fetch_sample_data_from_user_query(self) -> TableData:
@@ -217,7 +298,7 @@ class SQASampler(SamplerInterface, SQAInterfaceMixin):
217
298
  if not is_safe_sql_query(self.sample_query):
218
299
  raise RuntimeError(f"SQL expression is not safe\n\n{self.sample_query}")
219
300
 
220
- with self.get_client() as client:
301
+ with self.get_client_context() as client:
221
302
  rnd = client.execute(f"{self.sample_query}")
222
303
  try:
223
304
  columns = [col.name for col in rnd.cursor.description]
@@ -264,5 +345,6 @@ class SQASampler(SamplerInterface, SQAInterfaceMixin):
264
345
 
265
346
  def close(self):
266
347
  """Close the connection"""
267
- self.get_client().close()
348
+ for session in self._active_sessions:
349
+ session.close()
268
350
  self.connection.pool.dispose()
@@ -13,16 +13,48 @@
13
13
  Interfaces with database for all database engine
14
14
  supporting sqlalchemy abstraction layer
15
15
  """
16
+
17
+ from sqlalchemy import Column, text
18
+
16
19
  from metadata.ingestion.source.database.databricks.connection import (
17
20
  get_connection as databricks_get_connection,
18
21
  )
22
+ from metadata.profiler.orm.types.custom_array import CustomArray
19
23
  from metadata.sampler.sqlalchemy.sampler import SQASampler
20
24
 
21
25
 
22
26
  class UnityCatalogSamplerInterface(SQASampler):
27
+ def __init__(self, *args, **kwargs):
28
+ """Initialize with a single Databricks connection"""
29
+ super().__init__(*args, **kwargs)
30
+ self.connection = databricks_get_connection(self.service_connection_config)
31
+
23
32
  def get_client(self):
24
33
  """client is the session for SQA"""
25
- self.connection = databricks_get_connection(self.service_connection_config)
26
34
  client = super().get_client()
27
35
  self.set_catalog(client)
28
36
  return client
37
+
38
+ def _handle_array_column(self, column: Column) -> bool:
39
+ """Check if a column is an array type"""
40
+ return isinstance(column.type, CustomArray)
41
+
42
+ def _get_slice_expression(self, column: Column):
43
+ """Generate SQL expression to slice array elements at query level
44
+
45
+ Args:
46
+ column_name: Name of the column
47
+ max_elements: Maximum number of elements to extract
48
+
49
+ Returns:
50
+ SQL expression string for array slicing
51
+ """
52
+ max_elements = self._get_max_array_elements()
53
+ return text(
54
+ f"""
55
+ CASE
56
+ WHEN `{column.name}` IS NULL THEN NULL
57
+ ELSE slice(`{column.name}`, 1, {max_elements})
58
+ END AS `{column._label}`
59
+ """
60
+ )
metadata/utils/filters.py CHANGED
@@ -164,6 +164,21 @@ def filter_by_dashboard(
164
164
  return _filter(dashboard_filter_pattern, dashboard_name)
165
165
 
166
166
 
167
+ def filter_by_stored_procedure(
168
+ stored_procedure_filter_pattern: Optional[FilterPattern], stored_procedure_name: str
169
+ ) -> bool:
170
+ """
171
+ Return True if the stored procedure needs to be filtered, False otherwise
172
+
173
+ Include takes precedence over exclude
174
+
175
+ :param stored_procedure_filter_pattern: Model defining stored procedure filtering logic
176
+ :param stored_procedure_name: stored procedure name
177
+ :return: True for filtering, False otherwise
178
+ """
179
+ return _filter(stored_procedure_filter_pattern, stored_procedure_name)
180
+
181
+
167
182
  def filter_by_fqn(fqn_filter_pattern: Optional[FilterPattern], fqn: str) -> bool:
168
183
  """
169
184
  Return True if the FQN needs to be filtered, False otherwise