openmetadata-ingestion 1.6.3.2.dev0__py3-none-any.whl → 1.6.4.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 (699) 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/createDatabase.py +1 -1
  39. metadata/generated/schema/api/data/createDatabaseSchema.py +1 -1
  40. metadata/generated/schema/api/data/createGlossary.py +1 -1
  41. metadata/generated/schema/api/data/createGlossaryTerm.py +1 -1
  42. metadata/generated/schema/api/data/createMetric.py +1 -1
  43. metadata/generated/schema/api/data/createMlModel.py +1 -1
  44. metadata/generated/schema/api/data/createPipeline.py +1 -1
  45. metadata/generated/schema/api/data/createQuery.py +1 -1
  46. metadata/generated/schema/api/data/createSearchIndex.py +1 -1
  47. metadata/generated/schema/api/data/createStoredProcedure.py +1 -1
  48. metadata/generated/schema/api/data/createTable.py +1 -1
  49. metadata/generated/schema/api/data/createTableProfile.py +1 -1
  50. metadata/generated/schema/api/data/createTopic.py +1 -1
  51. metadata/generated/schema/api/data/loadGlossary.py +1 -1
  52. metadata/generated/schema/api/data/restoreEntity.py +1 -1
  53. metadata/generated/schema/api/dataInsight/__init__.py +1 -1
  54. metadata/generated/schema/api/dataInsight/createDataInsightChart.py +1 -1
  55. metadata/generated/schema/api/dataInsight/custom/__init__.py +1 -1
  56. metadata/generated/schema/api/dataInsight/custom/createDataInsightCustomChart.py +1 -1
  57. metadata/generated/schema/api/dataInsight/kpi/__init__.py +1 -1
  58. metadata/generated/schema/api/dataInsight/kpi/createKpiRequest.py +1 -1
  59. metadata/generated/schema/api/docStore/__init__.py +1 -1
  60. metadata/generated/schema/api/docStore/createDocument.py +1 -1
  61. metadata/generated/schema/api/domains/__init__.py +1 -1
  62. metadata/generated/schema/api/domains/createDataProduct.py +1 -1
  63. metadata/generated/schema/api/domains/createDomain.py +1 -1
  64. metadata/generated/schema/api/feed/__init__.py +1 -1
  65. metadata/generated/schema/api/feed/closeTask.py +1 -1
  66. metadata/generated/schema/api/feed/createPost.py +1 -1
  67. metadata/generated/schema/api/feed/createSuggestion.py +1 -1
  68. metadata/generated/schema/api/feed/createThread.py +1 -1
  69. metadata/generated/schema/api/feed/resolveTask.py +1 -1
  70. metadata/generated/schema/api/feed/threadCount.py +1 -1
  71. metadata/generated/schema/api/governance/__init__.py +1 -1
  72. metadata/generated/schema/api/governance/createWorkflowDefinition.py +1 -1
  73. metadata/generated/schema/api/governance/createWorkflowInstanceState.py +1 -1
  74. metadata/generated/schema/api/lineage/__init__.py +1 -1
  75. metadata/generated/schema/api/lineage/addLineage.py +1 -1
  76. metadata/generated/schema/api/openMetadataServerVersion.py +1 -1
  77. metadata/generated/schema/api/policies/__init__.py +1 -1
  78. metadata/generated/schema/api/policies/createPolicy.py +1 -1
  79. metadata/generated/schema/api/services/__init__.py +1 -1
  80. metadata/generated/schema/api/services/createApiService.py +1 -1
  81. metadata/generated/schema/api/services/createDashboardService.py +1 -1
  82. metadata/generated/schema/api/services/createDatabaseService.py +1 -1
  83. metadata/generated/schema/api/services/createMessagingService.py +1 -1
  84. metadata/generated/schema/api/services/createMetadataService.py +1 -1
  85. metadata/generated/schema/api/services/createMlModelService.py +1 -1
  86. metadata/generated/schema/api/services/createPipelineService.py +1 -1
  87. metadata/generated/schema/api/services/createSearchService.py +1 -1
  88. metadata/generated/schema/api/services/createStorageService.py +1 -1
  89. metadata/generated/schema/api/services/ingestionPipelines/__init__.py +1 -1
  90. metadata/generated/schema/api/services/ingestionPipelines/createIngestionPipeline.py +1 -1
  91. metadata/generated/schema/api/setOwner.py +1 -1
  92. metadata/generated/schema/api/teams/__init__.py +1 -1
  93. metadata/generated/schema/api/teams/createPersona.py +1 -1
  94. metadata/generated/schema/api/teams/createRole.py +1 -1
  95. metadata/generated/schema/api/teams/createTeam.py +1 -1
  96. metadata/generated/schema/api/teams/createUser.py +1 -1
  97. metadata/generated/schema/api/tests/__init__.py +1 -1
  98. metadata/generated/schema/api/tests/createCustomMetric.py +1 -1
  99. metadata/generated/schema/api/tests/createLogicalTestCases.py +1 -1
  100. metadata/generated/schema/api/tests/createTestCase.py +1 -1
  101. metadata/generated/schema/api/tests/createTestCaseResolutionStatus.py +1 -1
  102. metadata/generated/schema/api/tests/createTestCaseResult.py +1 -1
  103. metadata/generated/schema/api/tests/createTestDefinition.py +1 -1
  104. metadata/generated/schema/api/tests/createTestSuite.py +1 -1
  105. metadata/generated/schema/api/voteRequest.py +1 -1
  106. metadata/generated/schema/auth/__init__.py +1 -1
  107. metadata/generated/schema/auth/basicAuth.py +1 -1
  108. metadata/generated/schema/auth/basicLoginRequest.py +1 -1
  109. metadata/generated/schema/auth/changePasswordRequest.py +1 -1
  110. metadata/generated/schema/auth/createPersonalToken.py +1 -1
  111. metadata/generated/schema/auth/emailRequest.py +1 -1
  112. metadata/generated/schema/auth/emailVerificationToken.py +2 -4
  113. metadata/generated/schema/auth/generateToken.py +1 -1
  114. metadata/generated/schema/auth/jwtAuth.py +1 -1
  115. metadata/generated/schema/auth/loginRequest.py +1 -1
  116. metadata/generated/schema/auth/logoutRequest.py +1 -1
  117. metadata/generated/schema/auth/passwordResetRequest.py +1 -1
  118. metadata/generated/schema/auth/passwordResetToken.py +1 -1
  119. metadata/generated/schema/auth/personalAccessToken.py +1 -1
  120. metadata/generated/schema/auth/refreshToken.py +1 -1
  121. metadata/generated/schema/auth/registrationRequest.py +1 -1
  122. metadata/generated/schema/auth/revokePersonalToken.py +1 -1
  123. metadata/generated/schema/auth/revokeToken.py +1 -1
  124. metadata/generated/schema/auth/serviceTokenEnum.py +1 -1
  125. metadata/generated/schema/auth/ssoAuth.py +1 -1
  126. metadata/generated/schema/auth/tokenRefreshRequest.py +1 -1
  127. metadata/generated/schema/configuration/__init__.py +1 -1
  128. metadata/generated/schema/configuration/appsPrivateConfiguration.py +1 -1
  129. metadata/generated/schema/configuration/assetCertificationSettings.py +1 -1
  130. metadata/generated/schema/configuration/authConfig.py +1 -1
  131. metadata/generated/schema/configuration/authenticationConfiguration.py +1 -1
  132. metadata/generated/schema/configuration/authorizerConfiguration.py +1 -1
  133. metadata/generated/schema/configuration/changeEventConfiguration.py +1 -1
  134. metadata/generated/schema/configuration/dataQualityConfiguration.py +1 -1
  135. metadata/generated/schema/configuration/elasticSearchConfiguration.py +1 -1
  136. metadata/generated/schema/configuration/eventHandlerConfiguration.py +1 -1
  137. metadata/generated/schema/configuration/fernetConfiguration.py +1 -1
  138. metadata/generated/schema/configuration/jwtTokenConfiguration.py +1 -1
  139. metadata/generated/schema/configuration/kafkaEventConfiguration.py +1 -1
  140. metadata/generated/schema/configuration/ldapConfiguration.py +1 -1
  141. metadata/generated/schema/configuration/ldapTrustStoreConfig/__init__.py +1 -1
  142. metadata/generated/schema/configuration/ldapTrustStoreConfig/customTrustManagerConfig.py +1 -1
  143. metadata/generated/schema/configuration/ldapTrustStoreConfig/hostNameConfig.py +1 -1
  144. metadata/generated/schema/configuration/ldapTrustStoreConfig/jvmDefaultConfig.py +1 -1
  145. metadata/generated/schema/configuration/ldapTrustStoreConfig/trustAllConfig.py +1 -1
  146. metadata/generated/schema/configuration/ldapTrustStoreConfig/truststoreConfig.py +1 -1
  147. metadata/generated/schema/configuration/limitsConfiguration.py +1 -1
  148. metadata/generated/schema/configuration/lineageSettings.py +1 -1
  149. metadata/generated/schema/configuration/loginConfiguration.py +1 -1
  150. metadata/generated/schema/configuration/logoConfiguration.py +1 -1
  151. metadata/generated/schema/configuration/pipelineServiceClientConfiguration.py +1 -1
  152. metadata/generated/schema/configuration/profilerConfiguration.py +1 -1
  153. metadata/generated/schema/configuration/searchSettings.py +1 -1
  154. metadata/generated/schema/configuration/slackAppConfiguration.py +1 -1
  155. metadata/generated/schema/configuration/taskNotificationConfiguration.py +1 -1
  156. metadata/generated/schema/configuration/testResultNotificationConfiguration.py +1 -1
  157. metadata/generated/schema/configuration/themeConfiguration.py +1 -1
  158. metadata/generated/schema/configuration/uiThemePreference.py +1 -1
  159. metadata/generated/schema/configuration/workflowSettings.py +1 -1
  160. metadata/generated/schema/dataInsight/__init__.py +1 -1
  161. metadata/generated/schema/dataInsight/custom/__init__.py +1 -1
  162. metadata/generated/schema/dataInsight/custom/dataInsightCustomChart.py +1 -1
  163. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResult.py +1 -1
  164. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResultList.py +1 -1
  165. metadata/generated/schema/dataInsight/custom/formulaHolder.py +1 -1
  166. metadata/generated/schema/dataInsight/custom/lineChart.py +1 -1
  167. metadata/generated/schema/dataInsight/custom/summaryCard.py +1 -1
  168. metadata/generated/schema/dataInsight/dataInsightChart.py +1 -1
  169. metadata/generated/schema/dataInsight/dataInsightChartResult.py +1 -1
  170. metadata/generated/schema/dataInsight/kpi/__init__.py +1 -1
  171. metadata/generated/schema/dataInsight/kpi/basic.py +1 -1
  172. metadata/generated/schema/dataInsight/kpi/kpi.py +1 -1
  173. metadata/generated/schema/dataInsight/type/__init__.py +1 -1
  174. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsCount.py +1 -1
  175. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsSize.py +1 -1
  176. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsCount.py +1 -1
  177. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsSize.py +1 -1
  178. metadata/generated/schema/dataInsight/type/dailyActiveUsers.py +1 -1
  179. metadata/generated/schema/dataInsight/type/mostActiveUsers.py +1 -1
  180. metadata/generated/schema/dataInsight/type/mostViewedEntities.py +1 -1
  181. metadata/generated/schema/dataInsight/type/pageViewsByEntities.py +1 -1
  182. metadata/generated/schema/dataInsight/type/unusedAssets.py +1 -1
  183. metadata/generated/schema/email/__init__.py +1 -1
  184. metadata/generated/schema/email/emailRequest.py +1 -1
  185. metadata/generated/schema/email/emailTemplate.py +1 -1
  186. metadata/generated/schema/email/emailTemplatePlaceholder.py +1 -1
  187. metadata/generated/schema/email/smtpSettings.py +1 -1
  188. metadata/generated/schema/email/templateValidationReponse.py +1 -1
  189. metadata/generated/schema/entity/__init__.py +1 -1
  190. metadata/generated/schema/entity/applications/__init__.py +1 -1
  191. metadata/generated/schema/entity/applications/app.py +1 -1
  192. metadata/generated/schema/entity/applications/appExtension.py +1 -1
  193. metadata/generated/schema/entity/applications/appRunRecord.py +3 -1
  194. metadata/generated/schema/entity/applications/configuration/__init__.py +1 -1
  195. metadata/generated/schema/entity/applications/configuration/applicationConfig.py +1 -1
  196. metadata/generated/schema/entity/applications/configuration/external/__init__.py +1 -1
  197. metadata/generated/schema/entity/applications/configuration/external/automator/__init__.py +1 -1
  198. metadata/generated/schema/entity/applications/configuration/external/automator/addCustomProperties.py +1 -1
  199. metadata/generated/schema/entity/applications/configuration/external/automator/addDescriptionAction.py +1 -1
  200. metadata/generated/schema/entity/applications/configuration/external/automator/addDomainAction.py +1 -1
  201. metadata/generated/schema/entity/applications/configuration/external/automator/addOwnerAction.py +1 -1
  202. metadata/generated/schema/entity/applications/configuration/external/automator/addTagsAction.py +1 -1
  203. metadata/generated/schema/entity/applications/configuration/external/automator/addTierAction.py +1 -1
  204. metadata/generated/schema/entity/applications/configuration/external/automator/lineagePropagationAction.py +1 -1
  205. metadata/generated/schema/entity/applications/configuration/external/automator/mlTaggingAction.py +1 -1
  206. metadata/generated/schema/entity/applications/configuration/external/automator/removeCustomPropertiesAction.py +1 -1
  207. metadata/generated/schema/entity/applications/configuration/external/automator/removeDescriptionAction.py +10 -2
  208. metadata/generated/schema/entity/applications/configuration/external/automator/removeDomainAction.py +1 -1
  209. metadata/generated/schema/entity/applications/configuration/external/automator/removeOwnerAction.py +1 -1
  210. metadata/generated/schema/entity/applications/configuration/external/automator/removeTagsAction.py +23 -3
  211. metadata/generated/schema/entity/applications/configuration/external/automator/removeTierAction.py +1 -1
  212. metadata/generated/schema/entity/applications/configuration/external/automatorAppConfig.py +1 -1
  213. metadata/generated/schema/entity/applications/configuration/external/collateAIAppConfig.py +1 -1
  214. metadata/generated/schema/entity/applications/configuration/external/slackAppTokenConfiguration.py +1 -1
  215. metadata/generated/schema/entity/applications/configuration/internal/__init__.py +1 -1
  216. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsAppConfig.py +1 -1
  217. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsReportAppConfig.py +1 -1
  218. metadata/generated/schema/entity/applications/configuration/internal/dataRetentionConfiguration.py +1 -1
  219. metadata/generated/schema/entity/applications/configuration/internal/searchIndexingAppConfig.py +1 -1
  220. metadata/generated/schema/entity/applications/configuration/private/external/__init__.py +1 -1
  221. metadata/generated/schema/entity/applications/configuration/private/external/collateAIAppPrivateConfig.py +1 -1
  222. metadata/generated/schema/entity/applications/createAppRequest.py +1 -1
  223. metadata/generated/schema/entity/applications/jobStatus.py +1 -1
  224. metadata/generated/schema/entity/applications/liveExecutionContext.py +1 -1
  225. metadata/generated/schema/entity/applications/marketplace/__init__.py +1 -1
  226. metadata/generated/schema/entity/applications/marketplace/appMarketPlaceDefinition.py +1 -1
  227. metadata/generated/schema/entity/applications/marketplace/createAppMarketPlaceDefinitionReq.py +1 -1
  228. metadata/generated/schema/entity/applications/scheduledExecutionContext.py +1 -1
  229. metadata/generated/schema/entity/automations/__init__.py +1 -1
  230. metadata/generated/schema/entity/automations/testServiceConnection.py +1 -1
  231. metadata/generated/schema/entity/automations/workflow.py +1 -1
  232. metadata/generated/schema/entity/bot.py +1 -1
  233. metadata/generated/schema/entity/classification/__init__.py +1 -1
  234. metadata/generated/schema/entity/classification/classification.py +1 -1
  235. metadata/generated/schema/entity/classification/tag.py +1 -1
  236. metadata/generated/schema/entity/data/__init__.py +1 -1
  237. metadata/generated/schema/entity/data/apiCollection.py +1 -1
  238. metadata/generated/schema/entity/data/apiEndpoint.py +1 -1
  239. metadata/generated/schema/entity/data/chart.py +1 -1
  240. metadata/generated/schema/entity/data/container.py +1 -1
  241. metadata/generated/schema/entity/data/dashboard.py +1 -1
  242. metadata/generated/schema/entity/data/dashboardDataModel.py +1 -1
  243. metadata/generated/schema/entity/data/database.py +1 -1
  244. metadata/generated/schema/entity/data/databaseSchema.py +1 -1
  245. metadata/generated/schema/entity/data/glossary.py +1 -1
  246. metadata/generated/schema/entity/data/glossaryTerm.py +1 -1
  247. metadata/generated/schema/entity/data/metric.py +1 -1
  248. metadata/generated/schema/entity/data/mlmodel.py +1 -1
  249. metadata/generated/schema/entity/data/pipeline.py +1 -1
  250. metadata/generated/schema/entity/data/query.py +1 -1
  251. metadata/generated/schema/entity/data/report.py +1 -1
  252. metadata/generated/schema/entity/data/searchIndex.py +1 -1
  253. metadata/generated/schema/entity/data/storedProcedure.py +1 -1
  254. metadata/generated/schema/entity/data/table.py +2 -1
  255. metadata/generated/schema/entity/data/topic.py +1 -1
  256. metadata/generated/schema/entity/docStore/__init__.py +1 -1
  257. metadata/generated/schema/entity/docStore/document.py +1 -1
  258. metadata/generated/schema/entity/domains/__init__.py +1 -1
  259. metadata/generated/schema/entity/domains/dataProduct.py +1 -1
  260. metadata/generated/schema/entity/domains/domain.py +1 -1
  261. metadata/generated/schema/entity/events/__init__.py +1 -1
  262. metadata/generated/schema/entity/events/webhook.py +1 -1
  263. metadata/generated/schema/entity/feed/__init__.py +1 -1
  264. metadata/generated/schema/entity/feed/assets.py +1 -1
  265. metadata/generated/schema/entity/feed/customProperty.py +1 -1
  266. metadata/generated/schema/entity/feed/description.py +1 -1
  267. metadata/generated/schema/entity/feed/domain.py +1 -1
  268. metadata/generated/schema/entity/feed/entityInfo.py +1 -1
  269. metadata/generated/schema/entity/feed/owner.py +1 -1
  270. metadata/generated/schema/entity/feed/suggestion.py +1 -1
  271. metadata/generated/schema/entity/feed/tag.py +1 -1
  272. metadata/generated/schema/entity/feed/testCaseResult.py +1 -1
  273. metadata/generated/schema/entity/feed/thread.py +1 -1
  274. metadata/generated/schema/entity/policies/__init__.py +1 -1
  275. metadata/generated/schema/entity/policies/accessControl/__init__.py +1 -1
  276. metadata/generated/schema/entity/policies/accessControl/resourceDescriptor.py +1 -1
  277. metadata/generated/schema/entity/policies/accessControl/resourcePermission.py +1 -1
  278. metadata/generated/schema/entity/policies/accessControl/rule.py +1 -1
  279. metadata/generated/schema/entity/policies/filters.py +1 -1
  280. metadata/generated/schema/entity/policies/policy.py +1 -1
  281. metadata/generated/schema/entity/services/__init__.py +1 -1
  282. metadata/generated/schema/entity/services/apiService.py +1 -1
  283. metadata/generated/schema/entity/services/connections/__init__.py +1 -1
  284. metadata/generated/schema/entity/services/connections/api/__init__.py +1 -1
  285. metadata/generated/schema/entity/services/connections/api/restConnection.py +1 -1
  286. metadata/generated/schema/entity/services/connections/common/__init__.py +1 -1
  287. metadata/generated/schema/entity/services/connections/common/sslCertPaths.py +1 -1
  288. metadata/generated/schema/entity/services/connections/common/sslCertValues.py +1 -1
  289. metadata/generated/schema/entity/services/connections/common/sslConfig.py +1 -1
  290. metadata/generated/schema/entity/services/connections/connectionBasicType.py +1 -1
  291. metadata/generated/schema/entity/services/connections/dashboard/__init__.py +1 -1
  292. metadata/generated/schema/entity/services/connections/dashboard/customDashboardConnection.py +1 -1
  293. metadata/generated/schema/entity/services/connections/dashboard/domoDashboardConnection.py +1 -1
  294. metadata/generated/schema/entity/services/connections/dashboard/lightdashConnection.py +1 -1
  295. metadata/generated/schema/entity/services/connections/dashboard/lookerConnection.py +1 -1
  296. metadata/generated/schema/entity/services/connections/dashboard/metabaseConnection.py +1 -1
  297. metadata/generated/schema/entity/services/connections/dashboard/microStrategyConnection.py +1 -1
  298. metadata/generated/schema/entity/services/connections/dashboard/modeConnection.py +1 -1
  299. metadata/generated/schema/entity/services/connections/dashboard/powerBIConnection.py +1 -1
  300. metadata/generated/schema/entity/services/connections/dashboard/powerBIReportServerConnection.py +1 -1
  301. metadata/generated/schema/entity/services/connections/dashboard/powerbi/__init__.py +1 -1
  302. metadata/generated/schema/entity/services/connections/dashboard/powerbi/azureConfig.py +1 -1
  303. metadata/generated/schema/entity/services/connections/dashboard/powerbi/bucketDetails.py +1 -1
  304. metadata/generated/schema/entity/services/connections/dashboard/powerbi/gcsConfig.py +1 -1
  305. metadata/generated/schema/entity/services/connections/dashboard/powerbi/s3Config.py +1 -1
  306. metadata/generated/schema/entity/services/connections/dashboard/qlikCloudConnection.py +1 -1
  307. metadata/generated/schema/entity/services/connections/dashboard/qlikSenseConnection.py +1 -1
  308. metadata/generated/schema/entity/services/connections/dashboard/quickSightConnection.py +1 -1
  309. metadata/generated/schema/entity/services/connections/dashboard/redashConnection.py +1 -1
  310. metadata/generated/schema/entity/services/connections/dashboard/sigmaConnection.py +1 -1
  311. metadata/generated/schema/entity/services/connections/dashboard/supersetConnection.py +1 -1
  312. metadata/generated/schema/entity/services/connections/dashboard/tableauConnection.py +1 -1
  313. metadata/generated/schema/entity/services/connections/database/__init__.py +1 -1
  314. metadata/generated/schema/entity/services/connections/database/athenaConnection.py +1 -1
  315. metadata/generated/schema/entity/services/connections/database/azureSQLConnection.py +1 -1
  316. metadata/generated/schema/entity/services/connections/database/bigQueryConnection.py +1 -1
  317. metadata/generated/schema/entity/services/connections/database/bigTableConnection.py +1 -1
  318. metadata/generated/schema/entity/services/connections/database/clickhouseConnection.py +1 -1
  319. metadata/generated/schema/entity/services/connections/database/common/__init__.py +1 -1
  320. metadata/generated/schema/entity/services/connections/database/common/azureConfig.py +1 -1
  321. metadata/generated/schema/entity/services/connections/database/common/basicAuth.py +1 -1
  322. metadata/generated/schema/entity/services/connections/database/common/iamAuthConfig.py +1 -1
  323. metadata/generated/schema/entity/services/connections/database/common/jwtAuth.py +1 -1
  324. metadata/generated/schema/entity/services/connections/database/common/noConfigAuthenticationTypes.py +1 -1
  325. metadata/generated/schema/entity/services/connections/database/couchbaseConnection.py +1 -1
  326. metadata/generated/schema/entity/services/connections/database/customDatabaseConnection.py +1 -1
  327. metadata/generated/schema/entity/services/connections/database/databricksConnection.py +9 -1
  328. metadata/generated/schema/entity/services/connections/database/datalake/__init__.py +1 -1
  329. metadata/generated/schema/entity/services/connections/database/datalake/azureConfig.py +1 -1
  330. metadata/generated/schema/entity/services/connections/database/datalake/gcsConfig.py +1 -1
  331. metadata/generated/schema/entity/services/connections/database/datalake/s3Config.py +1 -1
  332. metadata/generated/schema/entity/services/connections/database/datalakeConnection.py +1 -1
  333. metadata/generated/schema/entity/services/connections/database/db2Connection.py +1 -1
  334. metadata/generated/schema/entity/services/connections/database/deltaLakeConnection.py +1 -1
  335. metadata/generated/schema/entity/services/connections/database/deltalake/__init__.py +1 -1
  336. metadata/generated/schema/entity/services/connections/database/deltalake/metastoreConfig.py +1 -1
  337. metadata/generated/schema/entity/services/connections/database/deltalake/storageConfig.py +1 -1
  338. metadata/generated/schema/entity/services/connections/database/domoDatabaseConnection.py +1 -1
  339. metadata/generated/schema/entity/services/connections/database/dorisConnection.py +1 -1
  340. metadata/generated/schema/entity/services/connections/database/druidConnection.py +1 -1
  341. metadata/generated/schema/entity/services/connections/database/dynamoDBConnection.py +1 -1
  342. metadata/generated/schema/entity/services/connections/database/exasolConnection.py +1 -1
  343. metadata/generated/schema/entity/services/connections/database/glueConnection.py +1 -1
  344. metadata/generated/schema/entity/services/connections/database/greenplumConnection.py +1 -1
  345. metadata/generated/schema/entity/services/connections/database/hiveConnection.py +1 -1
  346. metadata/generated/schema/entity/services/connections/database/iceberg/__init__.py +1 -1
  347. metadata/generated/schema/entity/services/connections/database/iceberg/dynamoDbCatalogConnection.py +1 -1
  348. metadata/generated/schema/entity/services/connections/database/iceberg/glueCatalogConnection.py +1 -1
  349. metadata/generated/schema/entity/services/connections/database/iceberg/hiveCatalogConnection.py +1 -1
  350. metadata/generated/schema/entity/services/connections/database/iceberg/icebergCatalog.py +1 -1
  351. metadata/generated/schema/entity/services/connections/database/iceberg/icebergFileSystem.py +1 -1
  352. metadata/generated/schema/entity/services/connections/database/iceberg/restCatalogConnection.py +1 -1
  353. metadata/generated/schema/entity/services/connections/database/icebergConnection.py +1 -1
  354. metadata/generated/schema/entity/services/connections/database/impalaConnection.py +1 -1
  355. metadata/generated/schema/entity/services/connections/database/mariaDBConnection.py +1 -1
  356. metadata/generated/schema/entity/services/connections/database/mongoDBConnection.py +1 -1
  357. metadata/generated/schema/entity/services/connections/database/mssqlConnection.py +1 -1
  358. metadata/generated/schema/entity/services/connections/database/mysqlConnection.py +1 -1
  359. metadata/generated/schema/entity/services/connections/database/oracleConnection.py +1 -1
  360. metadata/generated/schema/entity/services/connections/database/pinotDBConnection.py +1 -1
  361. metadata/generated/schema/entity/services/connections/database/postgresConnection.py +1 -1
  362. metadata/generated/schema/entity/services/connections/database/prestoConnection.py +1 -1
  363. metadata/generated/schema/entity/services/connections/database/redshiftConnection.py +1 -1
  364. metadata/generated/schema/entity/services/connections/database/salesforceConnection.py +1 -1
  365. metadata/generated/schema/entity/services/connections/database/sapErpConnection.py +1 -1
  366. metadata/generated/schema/entity/services/connections/database/sapHana/__init__.py +1 -1
  367. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaHDBConnection.py +1 -1
  368. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaSQLConnection.py +1 -1
  369. metadata/generated/schema/entity/services/connections/database/sapHanaConnection.py +1 -1
  370. metadata/generated/schema/entity/services/connections/database/sasConnection.py +1 -1
  371. metadata/generated/schema/entity/services/connections/database/singleStoreConnection.py +1 -1
  372. metadata/generated/schema/entity/services/connections/database/snowflakeConnection.py +9 -1
  373. metadata/generated/schema/entity/services/connections/database/sqliteConnection.py +1 -1
  374. metadata/generated/schema/entity/services/connections/database/synapseConnection.py +1 -1
  375. metadata/generated/schema/entity/services/connections/database/teradataConnection.py +1 -1
  376. metadata/generated/schema/entity/services/connections/database/trinoConnection.py +1 -1
  377. metadata/generated/schema/entity/services/connections/database/unityCatalogConnection.py +1 -1
  378. metadata/generated/schema/entity/services/connections/database/verticaConnection.py +1 -1
  379. metadata/generated/schema/entity/services/connections/messaging/__init__.py +1 -1
  380. metadata/generated/schema/entity/services/connections/messaging/customMessagingConnection.py +1 -1
  381. metadata/generated/schema/entity/services/connections/messaging/kafkaConnection.py +1 -1
  382. metadata/generated/schema/entity/services/connections/messaging/kinesisConnection.py +1 -1
  383. metadata/generated/schema/entity/services/connections/messaging/pulsarConnection.py +1 -1
  384. metadata/generated/schema/entity/services/connections/messaging/redpandaConnection.py +1 -1
  385. metadata/generated/schema/entity/services/connections/messaging/saslMechanismType.py +1 -1
  386. metadata/generated/schema/entity/services/connections/metadata/__init__.py +1 -1
  387. metadata/generated/schema/entity/services/connections/metadata/alationConnection.py +1 -1
  388. metadata/generated/schema/entity/services/connections/metadata/alationSinkConnection.py +1 -1
  389. metadata/generated/schema/entity/services/connections/metadata/amundsenConnection.py +1 -1
  390. metadata/generated/schema/entity/services/connections/metadata/atlasConnection.py +1 -1
  391. metadata/generated/schema/entity/services/connections/metadata/metadataESConnection.py +1 -1
  392. metadata/generated/schema/entity/services/connections/metadata/openMetadataConnection.py +1 -1
  393. metadata/generated/schema/entity/services/connections/mlmodel/__init__.py +1 -1
  394. metadata/generated/schema/entity/services/connections/mlmodel/customMlModelConnection.py +1 -1
  395. metadata/generated/schema/entity/services/connections/mlmodel/mlflowConnection.py +1 -1
  396. metadata/generated/schema/entity/services/connections/mlmodel/sageMakerConnection.py +1 -1
  397. metadata/generated/schema/entity/services/connections/mlmodel/sklearnConnection.py +1 -1
  398. metadata/generated/schema/entity/services/connections/mlmodel/vertexaiConnection.py +1 -1
  399. metadata/generated/schema/entity/services/connections/pipeline/__init__.py +1 -1
  400. metadata/generated/schema/entity/services/connections/pipeline/airbyteConnection.py +1 -1
  401. metadata/generated/schema/entity/services/connections/pipeline/airflowConnection.py +1 -1
  402. metadata/generated/schema/entity/services/connections/pipeline/backendConnection.py +1 -1
  403. metadata/generated/schema/entity/services/connections/pipeline/customPipelineConnection.py +1 -1
  404. metadata/generated/schema/entity/services/connections/pipeline/dagsterConnection.py +1 -1
  405. metadata/generated/schema/entity/services/connections/pipeline/databricksPipelineConnection.py +1 -1
  406. metadata/generated/schema/entity/services/connections/pipeline/datafactoryConnection.py +1 -1
  407. metadata/generated/schema/entity/services/connections/pipeline/dbtCloudConnection.py +1 -1
  408. metadata/generated/schema/entity/services/connections/pipeline/domoPipelineConnection.py +1 -1
  409. metadata/generated/schema/entity/services/connections/pipeline/fivetranConnection.py +1 -1
  410. metadata/generated/schema/entity/services/connections/pipeline/flinkConnection.py +1 -1
  411. metadata/generated/schema/entity/services/connections/pipeline/gluePipelineConnection.py +1 -1
  412. metadata/generated/schema/entity/services/connections/pipeline/kafkaConnectConnection.py +1 -1
  413. metadata/generated/schema/entity/services/connections/pipeline/matillion/__init__.py +3 -0
  414. metadata/generated/schema/entity/services/connections/pipeline/matillion/matillionETL.py +39 -0
  415. metadata/generated/schema/entity/services/connections/pipeline/matillionConnection.py +4 -25
  416. metadata/generated/schema/entity/services/connections/pipeline/nifi/__init__.py +3 -0
  417. metadata/generated/schema/entity/services/connections/pipeline/nifi/basicAuth.py +40 -0
  418. metadata/generated/schema/entity/services/connections/pipeline/nifi/clientCertificateAuth.py +38 -0
  419. metadata/generated/schema/entity/services/connections/pipeline/nifiConnection.py +3 -2
  420. metadata/generated/schema/entity/services/connections/pipeline/openLineageConnection.py +1 -1
  421. metadata/generated/schema/entity/services/connections/pipeline/sparkConnection.py +1 -1
  422. metadata/generated/schema/entity/services/connections/pipeline/splineConnection.py +1 -1
  423. metadata/generated/schema/entity/services/connections/pipeline/stitchConnection.py +1 -1
  424. metadata/generated/schema/entity/services/connections/search/__init__.py +1 -1
  425. metadata/generated/schema/entity/services/connections/search/customSearchConnection.py +1 -1
  426. metadata/generated/schema/entity/services/connections/search/elasticSearch/__init__.py +1 -1
  427. metadata/generated/schema/entity/services/connections/search/elasticSearch/apiAuth.py +1 -1
  428. metadata/generated/schema/entity/services/connections/search/elasticSearch/basicAuth.py +1 -1
  429. metadata/generated/schema/entity/services/connections/search/elasticSearchConnection.py +1 -1
  430. metadata/generated/schema/entity/services/connections/search/openSearchConnection.py +1 -1
  431. metadata/generated/schema/entity/services/connections/serviceConnection.py +1 -1
  432. metadata/generated/schema/entity/services/connections/storage/__init__.py +1 -1
  433. metadata/generated/schema/entity/services/connections/storage/adlsConnection.py +1 -1
  434. metadata/generated/schema/entity/services/connections/storage/customStorageConnection.py +1 -1
  435. metadata/generated/schema/entity/services/connections/storage/gcsConnection.py +1 -1
  436. metadata/generated/schema/entity/services/connections/storage/s3Connection.py +1 -1
  437. metadata/generated/schema/entity/services/connections/testConnectionDefinition.py +1 -1
  438. metadata/generated/schema/entity/services/connections/testConnectionResult.py +1 -1
  439. metadata/generated/schema/entity/services/dashboardService.py +1 -1
  440. metadata/generated/schema/entity/services/databaseService.py +1 -1
  441. metadata/generated/schema/entity/services/ingestionPipelines/__init__.py +1 -1
  442. metadata/generated/schema/entity/services/ingestionPipelines/ingestionPipeline.py +7 -1
  443. metadata/generated/schema/entity/services/ingestionPipelines/pipelineServiceClientResponse.py +1 -1
  444. metadata/generated/schema/entity/services/ingestionPipelines/status.py +1 -1
  445. metadata/generated/schema/entity/services/messagingService.py +1 -1
  446. metadata/generated/schema/entity/services/metadataService.py +1 -1
  447. metadata/generated/schema/entity/services/mlmodelService.py +1 -1
  448. metadata/generated/schema/entity/services/pipelineService.py +1 -1
  449. metadata/generated/schema/entity/services/searchService.py +1 -1
  450. metadata/generated/schema/entity/services/serviceType.py +1 -1
  451. metadata/generated/schema/entity/services/storageService.py +1 -1
  452. metadata/generated/schema/entity/teams/__init__.py +1 -1
  453. metadata/generated/schema/entity/teams/persona.py +1 -1
  454. metadata/generated/schema/entity/teams/role.py +1 -1
  455. metadata/generated/schema/entity/teams/team.py +1 -1
  456. metadata/generated/schema/entity/teams/teamHierarchy.py +1 -1
  457. metadata/generated/schema/entity/teams/user.py +1 -1
  458. metadata/generated/schema/entity/type.py +1 -1
  459. metadata/generated/schema/entity/utils/__init__.py +1 -1
  460. metadata/generated/schema/entity/utils/entitiesCount.py +1 -1
  461. metadata/generated/schema/entity/utils/servicesCount.py +1 -1
  462. metadata/generated/schema/entity/utils/supersetApiConnection.py +1 -1
  463. metadata/generated/schema/events/__init__.py +1 -1
  464. metadata/generated/schema/events/alertMetrics.py +1 -1
  465. metadata/generated/schema/events/api/__init__.py +1 -1
  466. metadata/generated/schema/events/api/createEventSubscription.py +1 -1
  467. metadata/generated/schema/events/api/eventSubscriptionDiagnosticInfo.py +1 -1
  468. metadata/generated/schema/events/api/eventsRecord.py +1 -1
  469. metadata/generated/schema/events/api/testEventSubscriptionDestination.py +1 -1
  470. metadata/generated/schema/events/api/typedEvent.py +1 -1
  471. metadata/generated/schema/events/emailAlertConfig.py +1 -1
  472. metadata/generated/schema/events/eventFilterRule.py +1 -1
  473. metadata/generated/schema/events/eventSubscription.py +1 -1
  474. metadata/generated/schema/events/eventSubscriptionOffset.py +1 -1
  475. metadata/generated/schema/events/failedEvent.py +1 -1
  476. metadata/generated/schema/events/failedEventResponse.py +1 -1
  477. metadata/generated/schema/events/filterResourceDescriptor.py +1 -1
  478. metadata/generated/schema/events/statusContext.py +1 -1
  479. metadata/generated/schema/events/subscriptionResourceDescriptor.py +1 -1
  480. metadata/generated/schema/events/subscriptionStatus.py +1 -1
  481. metadata/generated/schema/events/testDestinationStatus.py +1 -1
  482. metadata/generated/schema/governance/workflows/__init__.py +1 -1
  483. metadata/generated/schema/governance/workflows/elements/__init__.py +1 -1
  484. metadata/generated/schema/governance/workflows/elements/edge.py +1 -1
  485. metadata/generated/schema/governance/workflows/elements/nodeSubType.py +1 -1
  486. metadata/generated/schema/governance/workflows/elements/nodeType.py +1 -1
  487. metadata/generated/schema/governance/workflows/elements/nodes/__init__.py +1 -1
  488. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/__init__.py +1 -1
  489. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/checkEntityAttributesTask.py +1 -1
  490. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setEntityCertificationTask.py +1 -1
  491. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setGlossaryTermStatusTask.py +1 -1
  492. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/__init__.py +1 -1
  493. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/endEvent.py +1 -1
  494. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/__init__.py +1 -1
  495. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/startEvent.py +1 -1
  496. metadata/generated/schema/governance/workflows/elements/nodes/userTask/__init__.py +1 -1
  497. metadata/generated/schema/governance/workflows/elements/nodes/userTask/userApprovalTask.py +1 -1
  498. metadata/generated/schema/governance/workflows/elements/triggers/__init__.py +1 -1
  499. metadata/generated/schema/governance/workflows/elements/triggers/eventBasedEntityTrigger.py +1 -1
  500. metadata/generated/schema/governance/workflows/elements/triggers/periodicBatchEntityTrigger.py +1 -1
  501. metadata/generated/schema/governance/workflows/workflowDefinition.py +1 -1
  502. metadata/generated/schema/governance/workflows/workflowInstance.py +1 -1
  503. metadata/generated/schema/governance/workflows/workflowInstanceState.py +1 -1
  504. metadata/generated/schema/jobs/__init__.py +1 -1
  505. metadata/generated/schema/jobs/backgroundJob.py +1 -1
  506. metadata/generated/schema/jobs/enumCleanupArgs.py +1 -1
  507. metadata/generated/schema/metadataIngestion/__init__.py +1 -1
  508. metadata/generated/schema/metadataIngestion/apiServiceMetadataPipeline.py +1 -1
  509. metadata/generated/schema/metadataIngestion/application.py +1 -1
  510. metadata/generated/schema/metadataIngestion/applicationPipeline.py +1 -1
  511. metadata/generated/schema/metadataIngestion/dashboardServiceMetadataPipeline.py +1 -1
  512. metadata/generated/schema/metadataIngestion/dataInsightPipeline.py +1 -1
  513. metadata/generated/schema/metadataIngestion/databaseServiceAutoClassificationPipeline.py +1 -1
  514. metadata/generated/schema/metadataIngestion/databaseServiceMetadataPipeline.py +1 -1
  515. metadata/generated/schema/metadataIngestion/databaseServiceProfilerPipeline.py +1 -1
  516. metadata/generated/schema/metadataIngestion/databaseServiceQueryLineagePipeline.py +9 -1
  517. metadata/generated/schema/metadataIngestion/databaseServiceQueryUsagePipeline.py +1 -1
  518. metadata/generated/schema/metadataIngestion/dbtPipeline.py +1 -1
  519. metadata/generated/schema/metadataIngestion/dbtconfig/__init__.py +1 -1
  520. metadata/generated/schema/metadataIngestion/dbtconfig/dbtAzureConfig.py +1 -1
  521. metadata/generated/schema/metadataIngestion/dbtconfig/dbtBucketDetails.py +1 -1
  522. metadata/generated/schema/metadataIngestion/dbtconfig/dbtCloudConfig.py +1 -1
  523. metadata/generated/schema/metadataIngestion/dbtconfig/dbtGCSConfig.py +1 -1
  524. metadata/generated/schema/metadataIngestion/dbtconfig/dbtHttpConfig.py +1 -1
  525. metadata/generated/schema/metadataIngestion/dbtconfig/dbtLocalConfig.py +1 -1
  526. metadata/generated/schema/metadataIngestion/dbtconfig/dbtS3Config.py +1 -1
  527. metadata/generated/schema/metadataIngestion/messagingServiceMetadataPipeline.py +1 -1
  528. metadata/generated/schema/metadataIngestion/metadataToElasticSearchPipeline.py +1 -1
  529. metadata/generated/schema/metadataIngestion/mlmodelServiceMetadataPipeline.py +1 -1
  530. metadata/generated/schema/metadataIngestion/pipelineServiceMetadataPipeline.py +1 -1
  531. metadata/generated/schema/metadataIngestion/searchServiceMetadataPipeline.py +2 -2
  532. metadata/generated/schema/metadataIngestion/storage/__init__.py +1 -1
  533. metadata/generated/schema/metadataIngestion/storage/containerMetadataConfig.py +1 -1
  534. metadata/generated/schema/metadataIngestion/storage/manifestMetadataConfig.py +1 -1
  535. metadata/generated/schema/metadataIngestion/storage/storageBucketDetails.py +1 -1
  536. metadata/generated/schema/metadataIngestion/storage/storageMetadataADLSConfig.py +1 -1
  537. metadata/generated/schema/metadataIngestion/storage/storageMetadataGCSConfig.py +1 -1
  538. metadata/generated/schema/metadataIngestion/storage/storageMetadataHttpConfig.py +1 -1
  539. metadata/generated/schema/metadataIngestion/storage/storageMetadataLocalConfig.py +1 -1
  540. metadata/generated/schema/metadataIngestion/storage/storageMetadataS3Config.py +1 -1
  541. metadata/generated/schema/metadataIngestion/storageServiceMetadataPipeline.py +1 -1
  542. metadata/generated/schema/metadataIngestion/testSuitePipeline.py +1 -1
  543. metadata/generated/schema/metadataIngestion/workflow.py +1 -1
  544. metadata/generated/schema/monitoring/__init__.py +1 -1
  545. metadata/generated/schema/monitoring/eventMonitorProvider.py +1 -1
  546. metadata/generated/schema/security/__init__.py +1 -1
  547. metadata/generated/schema/security/client/__init__.py +1 -1
  548. metadata/generated/schema/security/client/auth0SSOClientConfig.py +1 -1
  549. metadata/generated/schema/security/client/azureSSOClientConfig.py +1 -1
  550. metadata/generated/schema/security/client/customOidcSSOClientConfig.py +1 -1
  551. metadata/generated/schema/security/client/googleSSOClientConfig.py +1 -1
  552. metadata/generated/schema/security/client/oidcClientConfig.py +1 -1
  553. metadata/generated/schema/security/client/oktaSSOClientConfig.py +1 -1
  554. metadata/generated/schema/security/client/openMetadataJWTClientConfig.py +1 -1
  555. metadata/generated/schema/security/client/samlSSOClientConfig.py +1 -1
  556. metadata/generated/schema/security/credentials/__init__.py +1 -1
  557. metadata/generated/schema/security/credentials/accessTokenAuth.py +1 -1
  558. metadata/generated/schema/security/credentials/apiAccessTokenAuth.py +1 -1
  559. metadata/generated/schema/security/credentials/awsCredentials.py +1 -1
  560. metadata/generated/schema/security/credentials/azureCredentials.py +1 -1
  561. metadata/generated/schema/security/credentials/basicAuth.py +1 -1
  562. metadata/generated/schema/security/credentials/bitbucketCredentials.py +1 -1
  563. metadata/generated/schema/security/credentials/gcpCredentials.py +1 -1
  564. metadata/generated/schema/security/credentials/gcpExternalAccount.py +1 -1
  565. metadata/generated/schema/security/credentials/gcpValues.py +1 -1
  566. metadata/generated/schema/security/credentials/gitCredentials.py +1 -1
  567. metadata/generated/schema/security/credentials/githubCredentials.py +1 -1
  568. metadata/generated/schema/security/credentials/gitlabCredentials.py +1 -1
  569. metadata/generated/schema/security/sasl/__init__.py +1 -1
  570. metadata/generated/schema/security/sasl/saslClientConfig.py +1 -1
  571. metadata/generated/schema/security/secrets/__init__.py +1 -1
  572. metadata/generated/schema/security/secrets/secretsManagerClientLoader.py +1 -1
  573. metadata/generated/schema/security/secrets/secretsManagerConfiguration.py +1 -1
  574. metadata/generated/schema/security/secrets/secretsManagerProvider.py +1 -1
  575. metadata/generated/schema/security/securityConfiguration.py +1 -1
  576. metadata/generated/schema/security/ssl/__init__.py +1 -1
  577. metadata/generated/schema/security/ssl/validateSSLClientConfig.py +1 -1
  578. metadata/generated/schema/security/ssl/verifySSLConfig.py +1 -1
  579. metadata/generated/schema/settings/__init__.py +1 -1
  580. metadata/generated/schema/settings/settings.py +1 -1
  581. metadata/generated/schema/system/__init__.py +1 -1
  582. metadata/generated/schema/system/entityError.py +1 -1
  583. metadata/generated/schema/system/eventPublisherJob.py +1 -1
  584. metadata/generated/schema/system/indexingError.py +1 -1
  585. metadata/generated/schema/system/limitsResponse.py +1 -1
  586. metadata/generated/schema/system/ui/__init__.py +1 -1
  587. metadata/generated/schema/system/ui/knowledgePanel.py +1 -1
  588. metadata/generated/schema/system/ui/page.py +1 -1
  589. metadata/generated/schema/system/validationResponse.py +1 -1
  590. metadata/generated/schema/tests/__init__.py +1 -1
  591. metadata/generated/schema/tests/assigned.py +1 -1
  592. metadata/generated/schema/tests/basic.py +20 -20
  593. metadata/generated/schema/tests/customMetric.py +1 -1
  594. metadata/generated/schema/tests/dataQualityReport.py +1 -1
  595. metadata/generated/schema/tests/resolved.py +1 -1
  596. metadata/generated/schema/tests/testCase.py +1 -1
  597. metadata/generated/schema/tests/testCaseResolutionStatus.py +1 -1
  598. metadata/generated/schema/tests/testDefinition.py +1 -1
  599. metadata/generated/schema/tests/testSuite.py +1 -1
  600. metadata/generated/schema/type/__init__.py +1 -1
  601. metadata/generated/schema/type/apiSchema.py +1 -1
  602. metadata/generated/schema/type/assetCertification.py +1 -1
  603. metadata/generated/schema/type/auditLog.py +1 -1
  604. metadata/generated/schema/type/basic.py +8 -1
  605. metadata/generated/schema/type/bulkOperationResult.py +1 -1
  606. metadata/generated/schema/type/changeEvent.py +1 -1
  607. metadata/generated/schema/type/changeEventType.py +1 -1
  608. metadata/generated/schema/type/collectionDescriptor.py +1 -1
  609. metadata/generated/schema/type/csvDocumentation.py +1 -1
  610. metadata/generated/schema/type/csvErrorType.py +1 -1
  611. metadata/generated/schema/type/csvFile.py +1 -1
  612. metadata/generated/schema/type/csvImportResult.py +1 -1
  613. metadata/generated/schema/type/customProperties/__init__.py +1 -1
  614. metadata/generated/schema/type/customProperties/complexTypes.py +1 -1
  615. metadata/generated/schema/type/customProperties/enumConfig.py +1 -1
  616. metadata/generated/schema/type/customProperties/tableConfig.py +1 -1
  617. metadata/generated/schema/type/customProperty.py +1 -1
  618. metadata/generated/schema/type/dailyCount.py +1 -1
  619. metadata/generated/schema/type/databaseConnectionConfig.py +1 -1
  620. metadata/generated/schema/type/entityHierarchy.py +1 -1
  621. metadata/generated/schema/type/entityHistory.py +1 -1
  622. metadata/generated/schema/type/entityLineage.py +1 -1
  623. metadata/generated/schema/type/entityReference.py +1 -1
  624. metadata/generated/schema/type/entityReferenceList.py +1 -1
  625. metadata/generated/schema/type/entityRelationship.py +1 -1
  626. metadata/generated/schema/type/entityUsage.py +1 -1
  627. metadata/generated/schema/type/filterPattern.py +1 -1
  628. metadata/generated/schema/type/function.py +1 -1
  629. metadata/generated/schema/type/include.py +1 -1
  630. metadata/generated/schema/type/jdbcConnection.py +1 -1
  631. metadata/generated/schema/type/lifeCycle.py +1 -1
  632. metadata/generated/schema/type/paging.py +1 -1
  633. metadata/generated/schema/type/profile.py +1 -1
  634. metadata/generated/schema/type/queryParserData.py +1 -1
  635. metadata/generated/schema/type/reaction.py +1 -1
  636. metadata/generated/schema/type/schedule.py +1 -1
  637. metadata/generated/schema/type/schema.py +1 -1
  638. metadata/generated/schema/type/tableQuery.py +1 -1
  639. metadata/generated/schema/type/tableUsageCount.py +1 -1
  640. metadata/generated/schema/type/tagLabel.py +1 -1
  641. metadata/generated/schema/type/usageDetails.py +1 -1
  642. metadata/generated/schema/type/usageRequest.py +1 -1
  643. metadata/generated/schema/type/votes.py +1 -1
  644. metadata/ingestion/lineage/masker.py +1 -1
  645. metadata/ingestion/lineage/models.py +1 -2
  646. metadata/ingestion/lineage/parser.py +2 -2
  647. metadata/ingestion/lineage/sql_lineage.py +111 -5
  648. metadata/ingestion/ometa/mixins/query_mixin.py +2 -0
  649. metadata/ingestion/ometa/routes.py +4 -0
  650. metadata/ingestion/source/api/rest/metadata.py +33 -24
  651. metadata/ingestion/source/dashboard/looker/metadata.py +115 -13
  652. metadata/ingestion/source/dashboard/powerbi/client.py +150 -35
  653. metadata/ingestion/source/database/bigquery/metadata.py +67 -2
  654. metadata/ingestion/source/database/databricks/connection.py +8 -3
  655. metadata/ingestion/source/database/databricks/lineage.py +12 -24
  656. metadata/ingestion/source/database/databricks/queries.py +24 -0
  657. metadata/ingestion/source/database/databricks/query_parser.py +11 -15
  658. metadata/ingestion/source/database/databricks/usage.py +7 -37
  659. metadata/ingestion/source/database/db2/connection.py +1 -1
  660. metadata/ingestion/source/database/db2/service_spec.py +1 -4
  661. metadata/ingestion/source/database/dbt/metadata.py +3 -1
  662. metadata/ingestion/source/database/druid/service_spec.py +1 -5
  663. metadata/ingestion/source/database/greenplum/service_spec.py +1 -5
  664. metadata/ingestion/source/database/hive/service_spec.py +1 -5
  665. metadata/ingestion/source/database/impala/service_spec.py +1 -5
  666. metadata/ingestion/source/database/lineage_source.py +12 -1
  667. metadata/ingestion/source/database/mariadb/service_spec.py +1 -9
  668. metadata/ingestion/source/database/pinotdb/service_spec.py +1 -5
  669. metadata/ingestion/source/database/postgres/usage.py +15 -0
  670. metadata/ingestion/source/database/query_parser_source.py +1 -0
  671. metadata/ingestion/source/database/redshift/metadata.py +31 -11
  672. metadata/ingestion/source/database/redshift/queries.py +5 -0
  673. metadata/ingestion/source/database/singlestore/service_spec.py +1 -6
  674. metadata/ingestion/source/database/snowflake/connection.py +10 -2
  675. metadata/ingestion/source/database/snowflake/lineage.py +3 -0
  676. metadata/ingestion/source/database/snowflake/metadata.py +3 -0
  677. metadata/ingestion/source/database/snowflake/queries.py +8 -8
  678. metadata/ingestion/source/database/snowflake/query_parser.py +1 -0
  679. metadata/ingestion/source/database/sqlite/service_spec.py +1 -5
  680. metadata/ingestion/source/database/teradata/service_spec.py +1 -5
  681. metadata/ingestion/source/database/trino/connection.py +13 -0
  682. metadata/ingestion/source/database/unitycatalog/lineage.py +56 -32
  683. metadata/ingestion/source/database/unitycatalog/query_parser.py +7 -0
  684. metadata/ingestion/source/database/unitycatalog/service_spec.py +4 -0
  685. metadata/ingestion/source/database/unitycatalog/usage.py +41 -2
  686. metadata/ingestion/source/database/usage_source.py +1 -1
  687. metadata/ingestion/source/pipeline/nifi/connection.py +4 -2
  688. metadata/profiler/interface/sqlalchemy/unity_catalog/sampler_interface.py +29 -0
  689. metadata/profiler/source/fetcher/config.py +4 -0
  690. metadata/profiler/source/fetcher/fetcher_strategy.py +19 -2
  691. metadata/sampler/sampler_interface.py +0 -3
  692. metadata/sampler/sqlalchemy/bigquery/sampler.py +1 -2
  693. metadata/sampler/sqlalchemy/sampler.py +22 -9
  694. {openmetadata_ingestion-1.6.3.2.dev0.dist-info → openmetadata_ingestion-1.6.4.0.dist-info}/METADATA +378 -359
  695. {openmetadata_ingestion-1.6.3.2.dev0.dist-info → openmetadata_ingestion-1.6.4.0.dist-info}/RECORD +699 -693
  696. {openmetadata_ingestion-1.6.3.2.dev0.dist-info → openmetadata_ingestion-1.6.4.0.dist-info}/LICENSE +0 -0
  697. {openmetadata_ingestion-1.6.3.2.dev0.dist-info → openmetadata_ingestion-1.6.4.0.dist-info}/WHEEL +0 -0
  698. {openmetadata_ingestion-1.6.3.2.dev0.dist-info → openmetadata_ingestion-1.6.4.0.dist-info}/entry_points.txt +0 -0
  699. {openmetadata_ingestion-1.6.3.2.dev0.dist-info → openmetadata_ingestion-1.6.4.0.dist-info}/top_level.txt +0 -0
@@ -47,6 +47,8 @@ class SnowflakeLineageSource(
47
47
  AND (
48
48
  QUERY_TYPE IN ('MERGE', 'UPDATE','CREATE_TABLE_AS_SELECT')
49
49
  OR (QUERY_TYPE = 'INSERT' and query_text ILIKE '%%insert%%into%%select%%')
50
+ OR (QUERY_TYPE = 'ALTER' and query_text ILIKE '%%alter%%table%%swap%%')
51
+ OR (QUERY_TYPE = 'CREATE_TABLE' and query_text ILIKE '%%clone%%')
50
52
  )
51
53
  """
52
54
 
@@ -60,6 +62,7 @@ class SnowflakeLineageSource(
60
62
  start, _ = get_start_and_end(self.source_config.queryLogDuration)
61
63
  query = self.stored_procedure_query.format(
62
64
  start_date=start,
65
+ account_usage=self.service_connection.accountUsageSchema,
63
66
  )
64
67
  queries_dict = self.procedure_queries_dict(
65
68
  query=query,
@@ -418,6 +418,7 @@ class SnowflakeSource(
418
418
  SNOWFLAKE_FETCH_ALL_TAGS.format(
419
419
  database_name=self.context.get().database,
420
420
  schema_name=schema_name,
421
+ account_usage=self.service_connection.accountUsageSchema,
421
422
  )
422
423
  )
423
424
 
@@ -431,6 +432,7 @@ class SnowflakeSource(
431
432
  SNOWFLAKE_FETCH_ALL_TAGS.format(
432
433
  database_name=f'"{self.context.get().database}"',
433
434
  schema_name=f'"{self.context.get().database_schema}"',
435
+ account_usage=self.service_connection.accountUsageSchema,
434
436
  )
435
437
  )
436
438
  except Exception as inner_exc:
@@ -635,6 +637,7 @@ class SnowflakeSource(
635
637
  query.format(
636
638
  database_name=self.context.get().database,
637
639
  schema_name=self.context.get().database_schema,
640
+ account_usage=self.service_connection.accountUsageSchema,
638
641
  )
639
642
  ).all()
640
643
  for row in results:
@@ -25,7 +25,7 @@ SNOWFLAKE_SQL_STATEMENT = textwrap.dedent(
25
25
  start_time "start_time",
26
26
  end_time "end_time",
27
27
  total_elapsed_time "duration"
28
- from snowflake.account_usage.query_history
28
+ from {account_usage}.query_history
29
29
  WHERE query_text NOT LIKE '/* {{"app": "OpenMetadata", %%}} */%%'
30
30
  AND query_text NOT LIKE '/* {{"app": "dbt", %%}} */%%'
31
31
  AND start_time between to_timestamp_ltz('{start_time}') and to_timestamp_ltz('{end_time}')
@@ -39,7 +39,7 @@ SNOWFLAKE_SESSION_TAG_QUERY = 'ALTER SESSION SET QUERY_TAG="{query_tag}"'
39
39
  SNOWFLAKE_FETCH_ALL_TAGS = textwrap.dedent(
40
40
  """
41
41
  select TAG_NAME, TAG_VALUE, OBJECT_DATABASE, OBJECT_SCHEMA, OBJECT_NAME, COLUMN_NAME
42
- from snowflake.account_usage.tag_references
42
+ from {account_usage}.tag_references
43
43
  where OBJECT_DATABASE = '{database_name}'
44
44
  and OBJECT_SCHEMA = '{schema_name}'
45
45
  """
@@ -234,11 +234,11 @@ SHOW EXTERNAL TABLES IN DATABASE "{database_name}"
234
234
  """
235
235
 
236
236
  SNOWFLAKE_TEST_FETCH_TAG = """
237
- select TAG_NAME from snowflake.account_usage.tag_references limit 1
237
+ select TAG_NAME from {account_usage}.tag_references limit 1
238
238
  """
239
239
 
240
240
  SNOWFLAKE_TEST_GET_QUERIES = """
241
- SELECT query_text from snowflake.account_usage.query_history limit 1
241
+ SELECT query_text from {account_usage}.query_history limit 1
242
242
  """
243
243
 
244
244
  SNOWFLAKE_TEST_GET_TABLES = """
@@ -296,7 +296,7 @@ SELECT
296
296
  ARGUMENT_SIGNATURE AS signature,
297
297
  COMMENT as comment,
298
298
  'StoredProcedure' as procedure_type
299
- FROM SNOWFLAKE.ACCOUNT_USAGE.PROCEDURES
299
+ FROM {account_usage}.PROCEDURES
300
300
  WHERE PROCEDURE_CATALOG = '{database_name}'
301
301
  AND PROCEDURE_SCHEMA = '{schema_name}'
302
302
  AND DELETED IS NULL
@@ -313,7 +313,7 @@ SELECT
313
313
  ARGUMENT_SIGNATURE AS signature,
314
314
  COMMENT as comment,
315
315
  'UDF' as procedure_type
316
- FROM SNOWFLAKE.ACCOUNT_USAGE.FUNCTIONS
316
+ FROM {account_usage}.FUNCTIONS
317
317
  WHERE FUNCTION_CATALOG = '{database_name}'
318
318
  AND FUNCTION_SCHEMA = '{schema_name}'
319
319
  AND DELETED IS NULL
@@ -336,7 +336,7 @@ WITH SP_HISTORY AS (
336
336
  SESSION_ID,
337
337
  START_TIME,
338
338
  END_TIME
339
- FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY SP
339
+ FROM {account_usage}.QUERY_HISTORY SP
340
340
  WHERE QUERY_TYPE = 'CALL'
341
341
  AND START_TIME >= '{start_date}'
342
342
  AND QUERY_TEXT <> ''
@@ -353,7 +353,7 @@ Q_HISTORY AS (
353
353
  USER_NAME,
354
354
  SCHEMA_NAME,
355
355
  DATABASE_NAME
356
- FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY SP
356
+ FROM {account_usage}.QUERY_HISTORY SP
357
357
  WHERE QUERY_TYPE <> 'CALL'
358
358
  AND QUERY_TEXT NOT LIKE '/* {{"app": "OpenMetadata", %%}} */%%'
359
359
  AND QUERY_TEXT NOT LIKE '/* {{"app": "dbt", %%}} */%%'
@@ -60,6 +60,7 @@ class SnowflakeQueryParserSource(QueryParserSource, ABC):
60
60
  end_time=end_time,
61
61
  result_limit=self.config.sourceConfig.config.resultLimit,
62
62
  filters=self.get_filters(),
63
+ account_usage=self.service_connection.accountUsageSchema,
63
64
  )
64
65
 
65
66
  def check_life_cycle_query(
@@ -1,8 +1,4 @@
1
- from metadata.ingestion.source.database.sqlite.lineage import SqliteLineageSource
2
1
  from metadata.ingestion.source.database.sqlite.metadata import SqliteSource
3
2
  from metadata.utils.service_spec.default import DefaultDatabaseSpec
4
3
 
5
- ServiceSpec = DefaultDatabaseSpec(
6
- metadata_source_class=SqliteSource,
7
- lineage_source_class=SqliteLineageSource,
8
- )
4
+ ServiceSpec = DefaultDatabaseSpec(metadata_source_class=SqliteSource)
@@ -1,8 +1,4 @@
1
- from metadata.ingestion.source.database.teradata.lineage import TeradataLineageSource
2
1
  from metadata.ingestion.source.database.teradata.metadata import TeradataSource
3
2
  from metadata.utils.service_spec.default import DefaultDatabaseSpec
4
3
 
5
- ServiceSpec = DefaultDatabaseSpec(
6
- metadata_source_class=TeradataSource,
7
- lineage_source_class=TeradataLineageSource,
8
- )
4
+ ServiceSpec = DefaultDatabaseSpec(metadata_source_class=TeradataSource)
@@ -39,6 +39,7 @@ from metadata.ingestion.connections.builders import (
39
39
  create_generic_db_connection,
40
40
  get_connection_args_common,
41
41
  init_empty_connection_arguments,
42
+ init_empty_connection_options,
42
43
  )
43
44
  from metadata.ingestion.connections.secrets import connection_with_options_secrets
44
45
  from metadata.ingestion.connections.test_connections import (
@@ -135,6 +136,10 @@ def get_connection(connection: TrinoConnection) -> Engine:
135
136
  # here we are creating a copy of connection, because we need to dynamically
136
137
  # add auth params to connectionArguments, which we do no intend to store
137
138
  # in original connection object and in OpenMetadata database
139
+ from trino.sqlalchemy.dialect import TrinoDialect
140
+
141
+ TrinoDialect.is_disconnect = _is_disconnect
142
+
138
143
  connection_copy = deepcopy(connection)
139
144
  if connection_copy.verify:
140
145
  connection_copy.connectionArguments = (
@@ -183,3 +188,11 @@ def test_connection(
183
188
  queries=queries,
184
189
  timeout_seconds=timeout_seconds,
185
190
  )
191
+
192
+
193
+ # pylint: disable=unused-argument
194
+ def _is_disconnect(self, e, connection, cursor):
195
+ """is_disconnect method for the Databricks dialect"""
196
+ if "JWT expired" in str(e):
197
+ return True
198
+ return False
@@ -11,6 +11,7 @@
11
11
  """
12
12
  Databricks Unity Catalog Lineage Source Module
13
13
  """
14
+ import traceback
14
15
  from typing import Iterable, Optional
15
16
 
16
17
  from metadata.generated.schema.api.lineage.addLineage import AddLineageRequest
@@ -27,6 +28,7 @@ from metadata.generated.schema.type.entityLineage import (
27
28
  EntitiesEdge,
28
29
  LineageDetails,
29
30
  )
31
+ from metadata.generated.schema.type.entityLineage import Source as LineageSource
30
32
  from metadata.generated.schema.type.entityReference import EntityReference
31
33
  from metadata.ingestion.api.models import Either
32
34
  from metadata.ingestion.api.steps import InvalidSourceException, Source
@@ -109,9 +111,59 @@ class UnitycatalogLineageSource(Source):
109
111
  )
110
112
  )
111
113
  if col_lineage:
112
- return LineageDetails(columnsLineage=col_lineage)
114
+ return LineageDetails(
115
+ columnsLineage=col_lineage, source=LineageSource.QueryLineage
116
+ )
113
117
  return None
114
118
 
119
+ def _handle_upstream_table(
120
+ self,
121
+ table_streams: LineageTableStreams,
122
+ table: Table,
123
+ databricks_table_fqn: str,
124
+ ) -> Iterable[Either[AddLineageRequest]]:
125
+ for upstream_table in table_streams.upstream_tables:
126
+ try:
127
+ if not upstream_table.name:
128
+ continue
129
+ from_entity_fqn = fqn.build(
130
+ metadata=self.metadata,
131
+ entity_type=Table,
132
+ database_name=upstream_table.catalog_name,
133
+ schema_name=upstream_table.schema_name,
134
+ table_name=upstream_table.name,
135
+ service_name=self.config.serviceName,
136
+ )
137
+
138
+ from_entity = self.metadata.get_by_name(
139
+ entity=Table, fqn=from_entity_fqn
140
+ )
141
+ if from_entity:
142
+ lineage_details = self._get_lineage_details(
143
+ from_table=from_entity,
144
+ to_table=table,
145
+ databricks_table_fqn=databricks_table_fqn,
146
+ )
147
+ yield Either(
148
+ left=None,
149
+ right=AddLineageRequest(
150
+ edge=EntitiesEdge(
151
+ toEntity=EntityReference(id=table.id, type="table"),
152
+ fromEntity=EntityReference(
153
+ id=from_entity.id, type="table"
154
+ ),
155
+ lineageDetails=lineage_details,
156
+ )
157
+ ),
158
+ )
159
+ except Exception:
160
+ logger.debug(
161
+ "Error while processing lineage for "
162
+ f"{upstream_table.catalog_name}.{upstream_table.schema_name}.{upstream_table.name}"
163
+ f" -> {databricks_table_fqn}"
164
+ )
165
+ logger.debug(traceback.format_exc())
166
+
115
167
  def _iter(self, *_, **__) -> Iterable[Either[AddLineageRequest]]:
116
168
  """
117
169
  Based on the query logs, prepare the lineage
@@ -128,37 +180,9 @@ class UnitycatalogLineageSource(Source):
128
180
  table_streams: LineageTableStreams = self.client.get_table_lineage(
129
181
  databricks_table_fqn
130
182
  )
131
- for upstream_table in table_streams.upstream_tables:
132
- from_entity_fqn = fqn.build(
133
- metadata=self.metadata,
134
- entity_type=Table,
135
- database_name=upstream_table.catalog_name,
136
- schema_name=upstream_table.schema_name,
137
- table_name=upstream_table.name,
138
- service_name=self.config.serviceName,
139
- )
140
-
141
- from_entity = self.metadata.get_by_name(
142
- entity=Table, fqn=from_entity_fqn
143
- )
144
- if from_entity:
145
- lineage_details = self._get_lineage_details(
146
- from_table=from_entity,
147
- to_table=table,
148
- databricks_table_fqn=databricks_table_fqn,
149
- )
150
- yield Either(
151
- left=None,
152
- right=AddLineageRequest(
153
- edge=EntitiesEdge(
154
- toEntity=EntityReference(id=table.id, type="table"),
155
- fromEntity=EntityReference(
156
- id=from_entity.id, type="table"
157
- ),
158
- lineageDetails=lineage_details,
159
- )
160
- ),
161
- )
183
+ yield from self._handle_upstream_table(
184
+ table_streams, table, databricks_table_fqn
185
+ )
162
186
 
163
187
  def test_connection(self) -> None:
164
188
  test_connection_fn = get_test_connection_fn(self.service_connection)
@@ -44,6 +44,13 @@ class UnityCatalogQueryParserSource(
44
44
 
45
45
  filters: str
46
46
 
47
+ def _init_super(
48
+ self,
49
+ config: WorkflowSource,
50
+ metadata: OpenMetadata,
51
+ ):
52
+ super().__init__(config, metadata, False)
53
+
47
54
  # pylint: disable=super-init-not-called
48
55
  def __init__(self, config: WorkflowSource, metadata: OpenMetadata):
49
56
  self._init_super(config=config, metadata=metadata)
@@ -11,6 +11,9 @@ from metadata.ingestion.source.database.unitycatalog.usage import (
11
11
  from metadata.profiler.interface.sqlalchemy.unity_catalog.profiler_interface import (
12
12
  UnityCatalogProfilerInterface,
13
13
  )
14
+ from metadata.profiler.interface.sqlalchemy.unity_catalog.sampler_interface import (
15
+ UnityCatalogSamplerInterface,
16
+ )
14
17
  from metadata.utils.service_spec.default import DefaultDatabaseSpec
15
18
 
16
19
  ServiceSpec = DefaultDatabaseSpec(
@@ -19,4 +22,5 @@ ServiceSpec = DefaultDatabaseSpec(
19
22
  usage_source_class=UnitycatalogUsageSource,
20
23
  profiler_class=UnityCatalogProfilerInterface,
21
24
  test_suite_class=UnityCatalogTestSuiteInterface,
25
+ sampler_class=UnityCatalogSamplerInterface,
22
26
  )
@@ -11,17 +11,22 @@
11
11
  """
12
12
  unity catalog usage module
13
13
  """
14
+ import traceback
15
+ from datetime import datetime
16
+ from typing import Iterable
14
17
 
15
- from metadata.ingestion.source.database.databricks.usage import DatabricksUsageSource
18
+ from metadata.generated.schema.type.basic import DateTime
19
+ from metadata.generated.schema.type.tableQuery import TableQueries, TableQuery
16
20
  from metadata.ingestion.source.database.unitycatalog.query_parser import (
17
21
  UnityCatalogQueryParserSource,
18
22
  )
23
+ from metadata.ingestion.source.database.usage_source import UsageSource
19
24
  from metadata.utils.logger import ingestion_logger
20
25
 
21
26
  logger = ingestion_logger()
22
27
 
23
28
 
24
- class UnitycatalogUsageSource(UnityCatalogQueryParserSource, DatabricksUsageSource):
29
+ class UnitycatalogUsageSource(UnityCatalogQueryParserSource, UsageSource):
25
30
  """
26
31
  UnityCatalog Usage Source
27
32
 
@@ -29,3 +34,37 @@ class UnitycatalogUsageSource(UnityCatalogQueryParserSource, DatabricksUsageSour
29
34
  DatabricksUsageSource as both the sources would call
30
35
  the same API for fetching Usage Queries
31
36
  """
37
+
38
+ def yield_table_queries(self) -> Iterable[TableQuery]:
39
+ """
40
+ Method to yield TableQueries
41
+ """
42
+ queries = []
43
+ data = self.client.list_query_history(
44
+ start_date=self.start,
45
+ end_date=self.end,
46
+ )
47
+ for row in data or []:
48
+ try:
49
+ if self.client.is_query_valid(row):
50
+ queries.append(
51
+ TableQuery(
52
+ dialect=self.dialect.value,
53
+ query=row.get("query_text"),
54
+ userName=row.get("user_name"),
55
+ startTime=str(row.get("query_start_time_ms")),
56
+ endTime=str(row.get("execution_end_time_ms")),
57
+ analysisDate=DateTime(datetime.now()),
58
+ serviceName=self.config.serviceName,
59
+ duration=row.get("duration")
60
+ if row.get("duration")
61
+ else None,
62
+ )
63
+ )
64
+ except Exception as err:
65
+ logger.debug(traceback.format_exc())
66
+ logger.warning(
67
+ f"Failed to process query {row.get('query_text')} due to: {err}"
68
+ )
69
+
70
+ yield TableQueries(queries=queries)
@@ -153,7 +153,7 @@ class UsageSource(QueryParserSource, ABC):
153
153
  if query:
154
154
  logger.debug(
155
155
  (
156
- f"###### USAGE QUERY #######\n{mask_query(query, self.dialect.value)}"
156
+ f"###### USAGE QUERY #######\n{mask_query(query, self.dialect.value) or query}"
157
157
  "\n##########################"
158
158
  )
159
159
  )
@@ -17,8 +17,10 @@ from typing import Optional
17
17
  from metadata.generated.schema.entity.automations.workflow import (
18
18
  Workflow as AutomationWorkflow,
19
19
  )
20
+ from metadata.generated.schema.entity.services.connections.pipeline.nifi.basicAuth import (
21
+ NifiBasicAuth,
22
+ )
20
23
  from metadata.generated.schema.entity.services.connections.pipeline.nifiConnection import (
21
- BasicAuthentication,
22
24
  NifiConnection,
23
25
  )
24
26
  from metadata.generated.schema.entity.services.connections.testConnectionResult import (
@@ -34,7 +36,7 @@ def get_connection(connection: NifiConnection) -> NifiClient:
34
36
  """
35
37
  Create connection
36
38
  """
37
- if isinstance(connection.nifiConfig, BasicAuthentication):
39
+ if isinstance(connection.nifiConfig, NifiBasicAuth):
38
40
  return NifiClient(
39
41
  host_port=connection.hostPort,
40
42
  username=connection.nifiConfig.username,
@@ -0,0 +1,29 @@
1
+ # Copyright 2021 Collate
2
+ # Licensed under the Apache License, Version 2.0 (the "License");
3
+ # you may not use this file except in compliance with the License.
4
+ # You may obtain a copy of the License at
5
+ # http://www.apache.org/licenses/LICENSE-2.0
6
+ # Unless required by applicable law or agreed to in writing, software
7
+ # distributed under the License is distributed on an "AS IS" BASIS,
8
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
+ # See the License for the specific language governing permissions and
10
+ # limitations under the License.
11
+
12
+ """
13
+ Interfaces with database for all database engine
14
+ supporting sqlalchemy abstraction layer
15
+ """
16
+ from metadata.ingestion.source.database.databricks.connection import (
17
+ get_connection as databricks_get_connection,
18
+ )
19
+ from metadata.sampler.sqlalchemy.sampler import SQASampler
20
+
21
+
22
+ class UnityCatalogSamplerInterface(SQASampler):
23
+ def get_client(self):
24
+ """client is the session for SQA"""
25
+ self.connection = databricks_get_connection(self.service_connection_config)
26
+ self.client = super().get_client()
27
+ self.set_catalog(self.client)
28
+
29
+ return self.client
@@ -42,3 +42,7 @@ class EntityFilterConfigInterface(Protocol):
42
42
  @property
43
43
  def useFqnForFiltering(self) -> Optional[bool]:
44
44
  ...
45
+
46
+ @property
47
+ def includeViews(self) -> Optional[bool]:
48
+ ...
@@ -17,6 +17,7 @@ from abc import ABC, abstractmethod
17
17
  from typing import Iterable, Iterator, Optional, cast
18
18
 
19
19
  from metadata.generated.schema.entity.data.database import Database
20
+ from metadata.generated.schema.entity.data.table import TableType
20
21
  from metadata.generated.schema.entity.services.ingestionPipelines.status import (
21
22
  StackTraceError,
22
23
  )
@@ -115,13 +116,13 @@ class DatabaseFetcherStrategy(FetcherStrategy):
115
116
  super().__init__(config, metadata, global_profiler_config, status)
116
117
  self.source_config = cast(
117
118
  EntityFilterConfigInterface, self.source_config
118
- ) # Satisfy typchecker
119
+ ) # Satisfy typechecker
119
120
 
120
121
  def _filter_databases(self, databases: Iterable[Database]) -> Iterable[Database]:
121
122
  """Filter databases based on the filter pattern
122
123
 
123
124
  Args:
124
- database (Database): Database to filter
125
+ databases (Database): Database to filter
125
126
 
126
127
  Returns:
127
128
  bool
@@ -192,6 +193,21 @@ class DatabaseFetcherStrategy(FetcherStrategy):
192
193
 
193
194
  return False
194
195
 
196
+ def _filter_views(self, table: Table) -> bool:
197
+ """Filter the tables based on include views configuration"""
198
+ # If we include views, nothing to filter
199
+ if self.source_config.includeViews:
200
+ return False
201
+
202
+ # Otherwise, filter out views
203
+ if table.tableType == TableType.View:
204
+ self.status.filter(
205
+ table.name.root, f"We are not including views {table.name.root}"
206
+ )
207
+ return True
208
+
209
+ return False
210
+
195
211
  def _filter_column_metrics_computation(self):
196
212
  """Filter"""
197
213
 
@@ -242,6 +258,7 @@ class DatabaseFetcherStrategy(FetcherStrategy):
242
258
  not self.source_config.classificationFilterPattern
243
259
  or not self.filter_classifications(table)
244
260
  )
261
+ and not self._filter_views(table)
245
262
  ]
246
263
 
247
264
  return tables
@@ -76,9 +76,6 @@ class SamplerInterface(ABC):
76
76
  self._columns: Optional[List[SQALikeColumn]] = None
77
77
  self.sample_config = sample_config
78
78
 
79
- if not self.sample_config.profileSample:
80
- self.sample_config.profileSample = 100
81
-
82
79
  self.entity = entity
83
80
  self.include_columns = include_columns
84
81
  self.exclude_columns = exclude_columns
@@ -54,7 +54,6 @@ class BigQuerySampler(SQASampler):
54
54
  sample_query: Optional[str] = None,
55
55
  storage_config: DataStorageConfig = None,
56
56
  sample_data_count: Optional[int] = SAMPLE_DATA_DEFAULT_COUNT,
57
- table_type: TableType = None,
58
57
  **kwargs,
59
58
  ):
60
59
  super().__init__(
@@ -68,7 +67,7 @@ class BigQuerySampler(SQASampler):
68
67
  sample_data_count=sample_data_count,
69
68
  **kwargs,
70
69
  )
71
- self.raw_dataset_type: TableType = table_type
70
+ self.raw_dataset_type: Optional[TableType] = entity.tableType
72
71
 
73
72
  def set_tablesample(self, selectable: SqaTable):
74
73
  """Set the TABLESAMPLE clause for BigQuery
@@ -12,6 +12,7 @@
12
12
  Helper module to handle data sampling
13
13
  for the profiler
14
14
  """
15
+ import hashlib
15
16
  import traceback
16
17
  from typing import List, Optional, Union, cast
17
18
 
@@ -32,6 +33,7 @@ from metadata.profiler.orm.functions.modulo import ModuloFn
32
33
  from metadata.profiler.orm.functions.random_num import RandomNumFn
33
34
  from metadata.profiler.processor.handle_partition import build_partition_predicate
34
35
  from metadata.sampler.sampler_interface import SamplerInterface
36
+ from metadata.utils.constants import UTF_8
35
37
  from metadata.utils.helpers import is_safe_sql_query
36
38
  from metadata.utils.logger import profiler_interface_registry_logger
37
39
 
@@ -109,17 +111,28 @@ class SQASampler(SamplerInterface, SQAInterfaceMixin):
109
111
  query = self.get_partitioned_query(query)
110
112
  return query
111
113
 
114
+ def get_sampler_table_name(self) -> str:
115
+ """Get the base name of the SQA table for sampling.
116
+ We use MD5 as a hashing algorithm to generate a unique name for the table
117
+ keeping its length controlled. Otherwise, we ended up having issues
118
+ with names getting truncated when we add the suffixes to the identifiers
119
+ such as _sample, or _rnd.
120
+ """
121
+ encoded_name = self.raw_dataset.__tablename__.encode(UTF_8)
122
+ hash_object = hashlib.md5(encoded_name)
123
+ return hash_object.hexdigest()
124
+
112
125
  def get_sample_query(self, *, column=None) -> Query:
113
126
  """get query for sample data"""
114
127
  if self.sample_config.profileSampleType == ProfileSampleType.PERCENTAGE:
115
128
  rnd = self._base_sample_query(
116
129
  column,
117
130
  (ModuloFn(RandomNumFn(), 100)).label(RANDOM_LABEL),
118
- ).cte(f"{self.raw_dataset.__tablename__}_rnd")
131
+ ).cte(f"{self.get_sampler_table_name()}_rnd")
119
132
  session_query = self.client.query(rnd)
120
133
  return session_query.where(
121
134
  rnd.c.random <= self.sample_config.profileSample
122
- ).cte(f"{self.raw_dataset.__tablename__}_sample")
135
+ ).cte(f"{self.get_sampler_table_name()}_sample")
123
136
 
124
137
  table_query = self.client.query(self.raw_dataset)
125
138
  session_query = self._base_sample_query(
@@ -129,7 +142,7 @@ class SQASampler(SamplerInterface, SQAInterfaceMixin):
129
142
  return (
130
143
  session_query.order_by(RANDOM_LABEL)
131
144
  .limit(self.sample_config.profileSample)
132
- .cte(f"{self.raw_dataset.__tablename__}_rnd")
145
+ .cte(f"{self.get_sampler_table_name()}_rnd")
133
146
  )
134
147
 
135
148
  def get_dataset(self, column=None, **__) -> Union[DeclarativeMeta, AliasedClass]:
@@ -143,7 +156,7 @@ class SQASampler(SamplerInterface, SQAInterfaceMixin):
143
156
  if not self.sample_config.profileSample:
144
157
  if self.partition_details:
145
158
  partitioned = self._partitioned_table()
146
- return partitioned.cte(f"{self.raw_dataset.__tablename__}_partitioned")
159
+ return partitioned.cte(f"{self.get_sampler_table_name()}_partitioned")
147
160
 
148
161
  return self.raw_dataset
149
162
 
@@ -162,23 +175,23 @@ class SQASampler(SamplerInterface, SQAInterfaceMixin):
162
175
  return self._fetch_sample_data_from_user_query()
163
176
 
164
177
  # Add new RandomNumFn column
165
- rnd = self.get_sample_query()
178
+ ds = self.get_dataset()
166
179
  if not columns:
167
- sqa_columns = [col for col in inspect(rnd).c if col.name != RANDOM_LABEL]
180
+ sqa_columns = [col for col in inspect(ds).c if col.name != RANDOM_LABEL]
168
181
  else:
169
182
  # we can't directly use columns as it is bound to self.raw_dataset and not the rnd table.
170
183
  # If we use it, it will result in a cross join between self.raw_dataset and rnd table
171
184
  names = [col.name for col in columns]
172
185
  sqa_columns = [
173
186
  col
174
- for col in inspect(rnd).c
187
+ for col in inspect(ds).c
175
188
  if col.name != RANDOM_LABEL and col.name in names
176
189
  ]
177
190
 
178
191
  try:
179
192
  sqa_sample = (
180
193
  self.client.query(*sqa_columns)
181
- .select_from(rnd)
194
+ .select_from(ds)
182
195
  .limit(self.sample_limit)
183
196
  .all()
184
197
  )
@@ -224,7 +237,7 @@ class SQASampler(SamplerInterface, SQAInterfaceMixin):
224
237
  stmt = stmt.columns(*list(inspect(self.raw_dataset).c))
225
238
 
226
239
  return self.client.query(stmt.subquery()).cte(
227
- f"{self.raw_dataset.__tablename__}_user_sampled"
240
+ f"{self.get_sampler_table_name()}_user_sampled"
228
241
  )
229
242
 
230
243
  def _partitioned_table(self) -> Query: