openmetadata-ingestion 1.3.4.0__py3-none-any.whl → 1.4.0.0rc2__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 (982) hide show
  1. metadata/__version__.py +13 -0
  2. metadata/automations/runner.py +9 -0
  3. metadata/cli/app.py +0 -1
  4. metadata/cli/lineage.py +5 -1
  5. metadata/cli/restore.py +7 -0
  6. metadata/cmd.py +2 -345
  7. metadata/data_insight/processor/reports/cost_analysis_report_data_processor.py +0 -1
  8. metadata/data_quality/api/models.py +1 -0
  9. metadata/data_quality/processor/test_case_runner.py +9 -2
  10. metadata/data_quality/source/test_suite.py +14 -3
  11. metadata/data_quality/validations/base_test_handler.py +1 -1
  12. metadata/data_quality/validations/column/base/columnValuesMissingCount.py +4 -1
  13. metadata/data_quality/validations/column/sqlalchemy/columnValuesToBeUnique.py +28 -17
  14. metadata/data_quality/validations/mixins/sqa_validator_mixin.py +4 -1
  15. metadata/data_quality/validations/table/base/tableCustomSQLQuery.py +1 -1
  16. metadata/examples/workflows/airbyte.yaml +1 -0
  17. metadata/examples/workflows/airflow.yaml +1 -1
  18. metadata/examples/workflows/airflow_backend.yaml +1 -1
  19. metadata/examples/workflows/airflow_postgres.yaml +1 -1
  20. metadata/examples/workflows/amundsen.yaml +1 -0
  21. metadata/examples/workflows/athena.yaml +1 -0
  22. metadata/examples/workflows/athena_lineage.yaml +1 -1
  23. metadata/examples/workflows/athena_usage.yaml +1 -0
  24. metadata/examples/workflows/atlas.yaml +1 -0
  25. metadata/examples/workflows/azuresql.yaml +1 -0
  26. metadata/examples/workflows/azuresql_lineage.yaml +1 -0
  27. metadata/examples/workflows/azuresql_usage.yaml +1 -0
  28. metadata/examples/workflows/bigquery.yaml +1 -0
  29. metadata/examples/workflows/bigquery_lineage.yaml +1 -0
  30. metadata/examples/workflows/bigquery_profiler.yaml +1 -0
  31. metadata/examples/workflows/bigquery_usage.yaml +1 -0
  32. metadata/examples/workflows/bigtable.yaml +1 -1
  33. metadata/examples/workflows/clickhouse.yaml +1 -0
  34. metadata/examples/workflows/clickhouse_lineage.yaml +1 -0
  35. metadata/examples/workflows/clickhouse_usage.yaml +1 -0
  36. metadata/examples/workflows/couchbase.yaml +1 -1
  37. metadata/examples/workflows/dagster.yaml +1 -0
  38. metadata/examples/workflows/data_insight.yaml +1 -1
  39. metadata/examples/workflows/databricks.yaml +1 -0
  40. metadata/examples/workflows/databricks_lineage.yaml +1 -0
  41. metadata/examples/workflows/databricks_pipeline.yaml +1 -0
  42. metadata/examples/workflows/databricks_usage.yaml +1 -0
  43. metadata/examples/workflows/datalake_azure_client_secret.yaml +1 -0
  44. metadata/examples/workflows/datalake_gcs.yaml +1 -0
  45. metadata/examples/workflows/datalake_profiler.yaml +1 -0
  46. metadata/examples/workflows/datalake_s3.yaml +1 -0
  47. metadata/examples/workflows/db2.yaml +1 -0
  48. metadata/examples/workflows/db2_profiler.yaml +1 -0
  49. metadata/examples/workflows/dbt.yaml +2 -0
  50. metadata/examples/workflows/deltalake.yaml +1 -0
  51. metadata/examples/workflows/domodashboard.yaml +1 -0
  52. metadata/examples/workflows/dynamodb.yaml +1 -0
  53. metadata/examples/workflows/elasticsearch.yaml +1 -1
  54. metadata/examples/workflows/fivetran.yaml +1 -0
  55. metadata/examples/workflows/glue.yaml +1 -0
  56. metadata/examples/workflows/gluepipeline.yaml +1 -0
  57. metadata/examples/workflows/hive.yaml +1 -0
  58. metadata/examples/workflows/impala.yaml +1 -0
  59. metadata/examples/workflows/kafka.yaml +1 -1
  60. metadata/examples/workflows/kafka_connect.yaml +30 -0
  61. metadata/examples/workflows/kinesis.yaml +1 -1
  62. metadata/examples/workflows/lightdash.yaml +1 -0
  63. metadata/examples/workflows/looker.yaml +1 -0
  64. metadata/examples/workflows/mariadb.yaml +1 -0
  65. metadata/examples/workflows/metabase.yaml +1 -0
  66. metadata/examples/workflows/mlflow.yaml +1 -0
  67. metadata/examples/workflows/mode.yaml +3 -1
  68. metadata/examples/workflows/mongodb.yaml +1 -0
  69. metadata/examples/workflows/mssql.yaml +1 -0
  70. metadata/examples/workflows/mssql_lineage.yaml +1 -0
  71. metadata/examples/workflows/mssql_usage.yaml +1 -0
  72. metadata/examples/workflows/mstr.yaml +1 -0
  73. metadata/examples/workflows/mysql.yaml +1 -0
  74. metadata/examples/workflows/mysql_profiler.yaml +1 -0
  75. metadata/examples/workflows/openmetadata.yaml +1 -0
  76. metadata/examples/workflows/oracle.yaml +1 -0
  77. metadata/examples/workflows/oracle_lineage.yaml +1 -1
  78. metadata/examples/workflows/oracle_usage.yaml +1 -0
  79. metadata/examples/workflows/pinotdb.yaml +1 -0
  80. metadata/examples/workflows/postgres.yaml +1 -0
  81. metadata/examples/workflows/postgres_lineage.yaml +1 -1
  82. metadata/examples/workflows/postgres_usage.yaml +1 -1
  83. metadata/examples/workflows/powerbi.yaml +52 -0
  84. metadata/examples/workflows/presto.yaml +1 -0
  85. metadata/examples/workflows/qlik_sense.yaml +6 -4
  86. metadata/examples/workflows/qlikcloud.yaml +31 -0
  87. metadata/examples/workflows/query_log_usage.yaml +1 -0
  88. metadata/examples/workflows/quicksight.yaml +1 -0
  89. metadata/examples/workflows/redash.yaml +1 -0
  90. metadata/examples/workflows/redpanda.yaml +1 -0
  91. metadata/examples/workflows/redshift.yaml +1 -0
  92. metadata/examples/workflows/redshift_lineage.yaml +1 -0
  93. metadata/examples/workflows/redshift_profiler.yaml +1 -0
  94. metadata/examples/workflows/redshift_usage.yaml +1 -0
  95. metadata/examples/workflows/sagemaker.yaml +1 -1
  96. metadata/examples/workflows/salesforce.yaml +1 -0
  97. metadata/examples/workflows/sas.yaml +1 -1
  98. metadata/examples/workflows/singlestore.yaml +1 -0
  99. metadata/examples/workflows/snowflake.yaml +1 -0
  100. metadata/examples/workflows/snowflake_lineage.yaml +1 -0
  101. metadata/examples/workflows/snowflake_usage.yaml +1 -0
  102. metadata/examples/workflows/spline.yaml +5 -4
  103. metadata/examples/workflows/sqlite.yaml +1 -0
  104. metadata/examples/workflows/superset.yaml +1 -0
  105. metadata/examples/workflows/tableau.yaml +1 -0
  106. metadata/examples/workflows/test_suite.yaml +13 -16
  107. metadata/examples/workflows/trino.yaml +1 -0
  108. metadata/examples/workflows/trino_lineage.yaml +1 -0
  109. metadata/examples/workflows/trino_usage.yaml +1 -0
  110. metadata/examples/workflows/unity_catalog.yaml +1 -1
  111. metadata/examples/workflows/unity_catalog_lineage.yaml +1 -1
  112. metadata/examples/workflows/unity_catalog_usage.yaml +1 -1
  113. metadata/examples/workflows/vertica.yaml +1 -0
  114. metadata/generated/antlr/EntityLinkLexer.py +354 -349
  115. metadata/generated/schema/analytics/__init__.py +1 -1
  116. metadata/generated/schema/analytics/basic.py +1 -1
  117. metadata/generated/schema/analytics/reportData.py +1 -1
  118. metadata/generated/schema/analytics/reportDataType/__init__.py +1 -1
  119. metadata/generated/schema/analytics/reportDataType/aggregatedCostAnalysisReportData.py +1 -1
  120. metadata/generated/schema/analytics/reportDataType/entityReportData.py +1 -1
  121. metadata/generated/schema/analytics/reportDataType/rawCostAnalysisReportData.py +1 -1
  122. metadata/generated/schema/analytics/reportDataType/webAnalyticEntityViewReportData.py +1 -1
  123. metadata/generated/schema/analytics/reportDataType/webAnalyticUserActivityReportData.py +1 -1
  124. metadata/generated/schema/analytics/webAnalyticEvent.py +1 -1
  125. metadata/generated/schema/analytics/webAnalyticEventData.py +1 -1
  126. metadata/generated/schema/analytics/webAnalyticEventType/__init__.py +1 -1
  127. metadata/generated/schema/analytics/webAnalyticEventType/customEvent.py +1 -1
  128. metadata/generated/schema/analytics/webAnalyticEventType/pageViewEvent.py +1 -1
  129. metadata/generated/schema/api/__init__.py +1 -1
  130. metadata/generated/schema/api/addGlossaryToAssetsRequest.py +1 -1
  131. metadata/generated/schema/api/analytics/__init__.py +1 -1
  132. metadata/generated/schema/api/analytics/createWebAnalyticEvent.py +1 -1
  133. metadata/generated/schema/api/automations/__init__.py +1 -1
  134. metadata/generated/schema/api/automations/createWorkflow.py +1 -1
  135. metadata/generated/schema/api/bulkAssets.py +1 -1
  136. metadata/generated/schema/api/classification/__init__.py +1 -1
  137. metadata/generated/schema/api/classification/createClassification.py +2 -3
  138. metadata/generated/schema/api/classification/createTag.py +2 -3
  139. metadata/generated/schema/api/classification/loadTags.py +1 -1
  140. metadata/generated/schema/api/createBot.py +1 -1
  141. metadata/generated/schema/api/createEventPublisherJob.py +1 -1
  142. metadata/generated/schema/api/createType.py +1 -1
  143. metadata/generated/schema/api/data/__init__.py +1 -1
  144. metadata/generated/schema/api/data/createChart.py +1 -1
  145. metadata/generated/schema/api/data/createContainer.py +4 -1
  146. metadata/generated/schema/api/data/createCustomProperty.py +1 -1
  147. metadata/generated/schema/api/data/createDashboard.py +1 -1
  148. metadata/generated/schema/api/data/createDashboardDataModel.py +1 -1
  149. metadata/generated/schema/api/data/createDatabase.py +1 -1
  150. metadata/generated/schema/api/data/createDatabaseSchema.py +1 -1
  151. metadata/generated/schema/api/data/createGlossary.py +1 -1
  152. metadata/generated/schema/api/data/createGlossaryTerm.py +1 -1
  153. metadata/generated/schema/api/data/createMlModel.py +1 -1
  154. metadata/generated/schema/api/data/createPipeline.py +1 -1
  155. metadata/generated/schema/api/data/createQuery.py +1 -1
  156. metadata/generated/schema/api/data/createSearchIndex.py +1 -1
  157. metadata/generated/schema/api/data/createStoredProcedure.py +1 -1
  158. metadata/generated/schema/api/data/createTable.py +4 -3
  159. metadata/generated/schema/api/data/createTableProfile.py +1 -1
  160. metadata/generated/schema/api/data/createTopic.py +1 -1
  161. metadata/generated/schema/api/data/loadGlossary.py +1 -1
  162. metadata/generated/schema/api/data/restoreEntity.py +1 -1
  163. metadata/generated/schema/api/dataInsight/__init__.py +1 -1
  164. metadata/generated/schema/api/dataInsight/createDataInsightChart.py +1 -1
  165. metadata/generated/schema/api/dataInsight/kpi/__init__.py +1 -1
  166. metadata/generated/schema/api/dataInsight/kpi/createKpiRequest.py +1 -1
  167. metadata/generated/schema/api/docStore/__init__.py +1 -1
  168. metadata/generated/schema/api/docStore/createDocument.py +1 -1
  169. metadata/generated/schema/api/domains/__init__.py +1 -1
  170. metadata/generated/schema/api/domains/createDataProduct.py +1 -1
  171. metadata/generated/schema/api/domains/createDomain.py +1 -1
  172. metadata/generated/schema/api/feed/__init__.py +1 -1
  173. metadata/generated/schema/api/feed/closeTask.py +1 -1
  174. metadata/generated/schema/api/feed/createPost.py +1 -1
  175. metadata/generated/schema/api/feed/createSuggestion.py +1 -1
  176. metadata/generated/schema/api/feed/createThread.py +1 -1
  177. metadata/generated/schema/api/feed/resolveTask.py +1 -1
  178. metadata/generated/schema/api/feed/threadCount.py +1 -1
  179. metadata/generated/schema/api/lineage/__init__.py +1 -1
  180. metadata/generated/schema/api/lineage/addLineage.py +1 -1
  181. metadata/generated/schema/api/openMetadataServerVersion.py +1 -1
  182. metadata/generated/schema/api/policies/__init__.py +1 -1
  183. metadata/generated/schema/api/policies/createPolicy.py +1 -1
  184. metadata/generated/schema/api/services/__init__.py +1 -1
  185. metadata/generated/schema/api/services/createDashboardService.py +1 -1
  186. metadata/generated/schema/api/services/createDatabaseService.py +1 -1
  187. metadata/generated/schema/api/services/createMessagingService.py +1 -1
  188. metadata/generated/schema/api/services/createMetadataService.py +1 -1
  189. metadata/generated/schema/api/services/createMlModelService.py +1 -1
  190. metadata/generated/schema/api/services/createPipelineService.py +1 -1
  191. metadata/generated/schema/api/services/createSearchService.py +1 -1
  192. metadata/generated/schema/api/services/createStorageService.py +1 -1
  193. metadata/generated/schema/api/services/ingestionPipelines/__init__.py +1 -1
  194. metadata/generated/schema/api/services/ingestionPipelines/createIngestionPipeline.py +1 -1
  195. metadata/generated/schema/api/setOwner.py +1 -1
  196. metadata/generated/schema/api/teams/__init__.py +1 -1
  197. metadata/generated/schema/api/teams/createPersona.py +1 -1
  198. metadata/generated/schema/api/teams/createRole.py +1 -1
  199. metadata/generated/schema/api/teams/createTeam.py +1 -1
  200. metadata/generated/schema/api/teams/createUser.py +2 -2
  201. metadata/generated/schema/api/tests/__init__.py +1 -1
  202. metadata/generated/schema/api/tests/createCustomMetric.py +1 -1
  203. metadata/generated/schema/api/tests/createLogicalTestCases.py +1 -1
  204. metadata/generated/schema/api/tests/createTestCase.py +2 -2
  205. metadata/generated/schema/api/tests/createTestCaseResolutionStatus.py +1 -1
  206. metadata/generated/schema/api/tests/createTestDefinition.py +2 -2
  207. metadata/generated/schema/api/tests/createTestSuite.py +1 -1
  208. metadata/generated/schema/api/voteRequest.py +1 -1
  209. metadata/generated/schema/auth/__init__.py +1 -1
  210. metadata/generated/schema/auth/basicAuth.py +1 -1
  211. metadata/generated/schema/auth/basicLoginRequest.py +1 -1
  212. metadata/generated/schema/auth/changePasswordRequest.py +1 -1
  213. metadata/generated/schema/auth/createPersonalToken.py +1 -1
  214. metadata/generated/schema/auth/emailRequest.py +1 -1
  215. metadata/generated/schema/auth/emailVerificationToken.py +1 -1
  216. metadata/generated/schema/auth/generateToken.py +1 -1
  217. metadata/generated/schema/auth/jwtAuth.py +1 -1
  218. metadata/generated/schema/auth/loginRequest.py +1 -1
  219. metadata/generated/schema/auth/logoutRequest.py +1 -1
  220. metadata/generated/schema/auth/passwordResetRequest.py +1 -1
  221. metadata/generated/schema/auth/passwordResetToken.py +1 -1
  222. metadata/generated/schema/auth/personalAccessToken.py +1 -1
  223. metadata/generated/schema/auth/refreshToken.py +1 -1
  224. metadata/generated/schema/auth/registrationRequest.py +1 -1
  225. metadata/generated/schema/auth/revokePersonalToken.py +1 -1
  226. metadata/generated/schema/auth/revokeToken.py +1 -1
  227. metadata/generated/schema/auth/serviceTokenEnum.py +1 -1
  228. metadata/generated/schema/auth/ssoAuth.py +1 -1
  229. metadata/generated/schema/auth/tokenRefreshRequest.py +1 -1
  230. metadata/generated/schema/configuration/__init__.py +1 -1
  231. metadata/generated/schema/configuration/appsPrivateConfiguration.py +1 -1
  232. metadata/generated/schema/configuration/authConfig.py +1 -1
  233. metadata/generated/schema/configuration/authenticationConfiguration.py +1 -1
  234. metadata/generated/schema/configuration/authorizerConfiguration.py +4 -1
  235. metadata/generated/schema/configuration/changeEventConfiguration.py +1 -1
  236. metadata/generated/schema/configuration/dataQualityConfiguration.py +1 -1
  237. metadata/generated/schema/configuration/elasticSearchConfiguration.py +4 -1
  238. metadata/generated/schema/configuration/eventHandlerConfiguration.py +1 -1
  239. metadata/generated/schema/configuration/fernetConfiguration.py +1 -1
  240. metadata/generated/schema/configuration/jwtTokenConfiguration.py +1 -1
  241. metadata/generated/schema/configuration/kafkaEventConfiguration.py +1 -1
  242. metadata/generated/schema/configuration/ldapConfiguration.py +1 -1
  243. metadata/generated/schema/configuration/ldapTrustStoreConfig/__init__.py +1 -1
  244. metadata/generated/schema/configuration/ldapTrustStoreConfig/customTrustManagerConfig.py +1 -1
  245. metadata/generated/schema/configuration/ldapTrustStoreConfig/hostNameConfig.py +1 -1
  246. metadata/generated/schema/configuration/ldapTrustStoreConfig/jvmDefaultConfig.py +1 -1
  247. metadata/generated/schema/configuration/ldapTrustStoreConfig/trustAllConfig.py +1 -1
  248. metadata/generated/schema/configuration/ldapTrustStoreConfig/truststoreConfig.py +1 -1
  249. metadata/generated/schema/configuration/loginConfiguration.py +1 -1
  250. metadata/generated/schema/configuration/logoConfiguration.py +1 -1
  251. metadata/generated/schema/configuration/pipelineServiceClientConfiguration.py +1 -1
  252. metadata/generated/schema/configuration/profilerConfiguration.py +66 -0
  253. metadata/generated/schema/configuration/slackAppConfiguration.py +1 -1
  254. metadata/generated/schema/configuration/taskNotificationConfiguration.py +1 -1
  255. metadata/generated/schema/configuration/testResultNotificationConfiguration.py +1 -1
  256. metadata/generated/schema/configuration/themeConfiguration.py +32 -0
  257. metadata/generated/schema/configuration/uiThemePreference.py +23 -0
  258. metadata/generated/schema/dataInsight/__init__.py +1 -1
  259. metadata/generated/schema/dataInsight/dataInsightChart.py +1 -1
  260. metadata/generated/schema/dataInsight/dataInsightChartResult.py +1 -1
  261. metadata/generated/schema/dataInsight/kpi/__init__.py +1 -1
  262. metadata/generated/schema/dataInsight/kpi/basic.py +1 -1
  263. metadata/generated/schema/dataInsight/kpi/kpi.py +1 -1
  264. metadata/generated/schema/dataInsight/type/__init__.py +1 -1
  265. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsCount.py +1 -1
  266. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsSize.py +1 -1
  267. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsCount.py +1 -1
  268. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsSize.py +1 -1
  269. metadata/generated/schema/dataInsight/type/dailyActiveUsers.py +1 -1
  270. metadata/generated/schema/dataInsight/type/mostActiveUsers.py +1 -1
  271. metadata/generated/schema/dataInsight/type/mostViewedEntities.py +1 -1
  272. metadata/generated/schema/dataInsight/type/pageViewsByEntities.py +1 -1
  273. metadata/generated/schema/dataInsight/type/percentageOfEntitiesWithDescriptionByType.py +1 -1
  274. metadata/generated/schema/dataInsight/type/percentageOfEntitiesWithOwnerByType.py +1 -1
  275. metadata/generated/schema/dataInsight/type/percentageOfServicesWithDescription.py +1 -1
  276. metadata/generated/schema/dataInsight/type/percentageOfServicesWithOwner.py +1 -1
  277. metadata/generated/schema/dataInsight/type/totalEntitiesByTier.py +1 -1
  278. metadata/generated/schema/dataInsight/type/totalEntitiesByType.py +1 -1
  279. metadata/generated/schema/dataInsight/type/unusedAssets.py +1 -1
  280. metadata/generated/schema/email/__init__.py +1 -1
  281. metadata/generated/schema/email/emailRequest.py +1 -1
  282. metadata/generated/schema/email/smtpSettings.py +3 -3
  283. metadata/generated/schema/entity/__init__.py +1 -1
  284. metadata/generated/schema/entity/applications/__init__.py +1 -1
  285. metadata/generated/schema/entity/applications/app.py +1 -1
  286. metadata/generated/schema/entity/applications/appRunRecord.py +1 -1
  287. metadata/generated/schema/entity/applications/configuration/__init__.py +1 -1
  288. metadata/generated/schema/entity/applications/configuration/applicationConfig.py +3 -3
  289. metadata/generated/schema/entity/applications/configuration/external/__init__.py +1 -1
  290. metadata/generated/schema/entity/applications/configuration/external/automator/__init__.py +5 -0
  291. metadata/generated/schema/entity/applications/configuration/external/automator/addDescriptionAction.py +36 -0
  292. metadata/generated/schema/entity/applications/configuration/external/automator/addDomainAction.py +31 -0
  293. metadata/generated/schema/entity/applications/configuration/external/automator/addOwnerAction.py +31 -0
  294. metadata/generated/schema/entity/applications/configuration/external/automator/addTagsAction.py +36 -0
  295. metadata/generated/schema/entity/applications/configuration/external/automator/addTierAction.py +31 -0
  296. metadata/generated/schema/entity/applications/configuration/external/automator/lineagePropagationAction.py +28 -0
  297. metadata/generated/schema/entity/applications/configuration/external/automator/mlTaggingAction.py +22 -0
  298. metadata/generated/schema/entity/applications/configuration/external/automator/removeDescriptionAction.py +30 -0
  299. metadata/generated/schema/entity/applications/configuration/external/automator/removeDomainAction.py +22 -0
  300. metadata/generated/schema/entity/applications/configuration/external/automator/removeOwnerAction.py +22 -0
  301. metadata/generated/schema/entity/applications/configuration/external/automator/removeTagsAction.py +31 -0
  302. metadata/generated/schema/entity/applications/configuration/external/automator/removeTierAction.py +22 -0
  303. metadata/generated/schema/entity/applications/configuration/external/automatorAppConfig.py +75 -0
  304. metadata/generated/schema/entity/applications/configuration/external/metaPilotAppConfig.py +1 -1
  305. metadata/generated/schema/entity/applications/configuration/internal/__init__.py +1 -1
  306. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsAppConfig.py +1 -1
  307. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsReportAppConfig.py +1 -1
  308. metadata/generated/schema/entity/applications/configuration/internal/searchIndexingAppConfig.py +1 -1
  309. metadata/generated/schema/entity/applications/configuration/private/external/__init__.py +1 -1
  310. metadata/generated/schema/entity/applications/configuration/private/external/metaPilotAppPrivateConfig.py +1 -1
  311. metadata/generated/schema/entity/applications/createAppRequest.py +1 -1
  312. metadata/generated/schema/entity/applications/jobStatus.py +1 -1
  313. metadata/generated/schema/entity/applications/liveExecutionContext.py +1 -1
  314. metadata/generated/schema/entity/applications/marketplace/__init__.py +1 -1
  315. metadata/generated/schema/entity/applications/marketplace/appMarketPlaceDefinition.py +1 -1
  316. metadata/generated/schema/entity/applications/marketplace/createAppMarketPlaceDefinitionReq.py +1 -1
  317. metadata/generated/schema/entity/applications/scheduledExecutionContext.py +1 -1
  318. metadata/generated/schema/entity/automations/__init__.py +1 -1
  319. metadata/generated/schema/entity/automations/testServiceConnection.py +1 -1
  320. metadata/generated/schema/entity/automations/workflow.py +1 -1
  321. metadata/generated/schema/entity/bot.py +1 -1
  322. metadata/generated/schema/entity/classification/__init__.py +1 -1
  323. metadata/generated/schema/entity/classification/classification.py +2 -3
  324. metadata/generated/schema/entity/classification/tag.py +3 -9
  325. metadata/generated/schema/entity/data/__init__.py +1 -1
  326. metadata/generated/schema/entity/data/chart.py +1 -1
  327. metadata/generated/schema/entity/data/container.py +4 -1
  328. metadata/generated/schema/entity/data/dashboard.py +1 -1
  329. metadata/generated/schema/entity/data/dashboardDataModel.py +2 -2
  330. metadata/generated/schema/entity/data/database.py +1 -1
  331. metadata/generated/schema/entity/data/databaseSchema.py +1 -1
  332. metadata/generated/schema/entity/data/glossary.py +1 -1
  333. metadata/generated/schema/entity/data/glossaryTerm.py +4 -1
  334. metadata/generated/schema/entity/data/metrics.py +1 -1
  335. metadata/generated/schema/entity/data/mlmodel.py +2 -2
  336. metadata/generated/schema/entity/data/pipeline.py +1 -1
  337. metadata/generated/schema/entity/data/query.py +1 -1
  338. metadata/generated/schema/entity/data/report.py +1 -1
  339. metadata/generated/schema/entity/data/searchIndex.py +1 -1
  340. metadata/generated/schema/entity/data/storedProcedure.py +1 -1
  341. metadata/generated/schema/entity/data/table.py +26 -24
  342. metadata/generated/schema/entity/data/topic.py +1 -1
  343. metadata/generated/schema/entity/docStore/__init__.py +1 -1
  344. metadata/generated/schema/entity/docStore/document.py +1 -1
  345. metadata/generated/schema/entity/domains/__init__.py +1 -1
  346. metadata/generated/schema/entity/domains/dataProduct.py +1 -1
  347. metadata/generated/schema/entity/domains/domain.py +1 -1
  348. metadata/generated/schema/entity/events/__init__.py +1 -1
  349. metadata/generated/schema/entity/events/webhook.py +1 -1
  350. metadata/generated/schema/entity/feed/__init__.py +1 -1
  351. metadata/generated/schema/entity/feed/assets.py +18 -0
  352. metadata/generated/schema/entity/feed/customProperty.py +17 -0
  353. metadata/generated/schema/entity/feed/description.py +24 -0
  354. metadata/generated/schema/entity/feed/domain.py +23 -0
  355. metadata/generated/schema/entity/feed/entityInfo.py +19 -0
  356. metadata/generated/schema/entity/feed/owner.py +23 -0
  357. metadata/generated/schema/entity/feed/suggestion.py +1 -1
  358. metadata/generated/schema/entity/feed/tag.py +23 -0
  359. metadata/generated/schema/entity/feed/testCaseResult.py +23 -0
  360. metadata/generated/schema/entity/feed/thread.py +81 -2
  361. metadata/generated/schema/entity/policies/__init__.py +1 -1
  362. metadata/generated/schema/entity/policies/accessControl/__init__.py +1 -1
  363. metadata/generated/schema/entity/policies/accessControl/resourceDescriptor.py +3 -1
  364. metadata/generated/schema/entity/policies/accessControl/resourcePermission.py +1 -1
  365. metadata/generated/schema/entity/policies/accessControl/rule.py +1 -1
  366. metadata/generated/schema/entity/policies/filters.py +3 -3
  367. metadata/generated/schema/entity/policies/policy.py +1 -1
  368. metadata/generated/schema/entity/services/__init__.py +1 -1
  369. metadata/generated/schema/entity/services/connections/__init__.py +1 -1
  370. metadata/generated/schema/entity/services/connections/common/__init__.py +1 -1
  371. metadata/generated/schema/entity/services/connections/common/sslCertPaths.py +1 -1
  372. metadata/generated/schema/entity/services/connections/common/sslCertValues.py +1 -1
  373. metadata/generated/schema/entity/services/connections/common/sslConfig.py +1 -1
  374. metadata/generated/schema/entity/services/connections/connectionBasicType.py +5 -1
  375. metadata/generated/schema/entity/services/connections/dashboard/__init__.py +1 -1
  376. metadata/generated/schema/entity/services/connections/dashboard/customDashboardConnection.py +1 -1
  377. metadata/generated/schema/entity/services/connections/dashboard/domoDashboardConnection.py +1 -1
  378. metadata/generated/schema/entity/services/connections/dashboard/lightdashConnection.py +1 -1
  379. metadata/generated/schema/entity/services/connections/dashboard/lookerConnection.py +1 -1
  380. metadata/generated/schema/entity/services/connections/dashboard/metabaseConnection.py +1 -1
  381. metadata/generated/schema/entity/services/connections/dashboard/modeConnection.py +1 -1
  382. metadata/generated/schema/entity/services/connections/dashboard/mstrConnection.py +1 -1
  383. metadata/generated/schema/entity/services/connections/dashboard/powerBIConnection.py +33 -2
  384. metadata/generated/schema/entity/services/connections/dashboard/powerbi/__init__.py +3 -0
  385. metadata/generated/schema/entity/services/connections/dashboard/powerbi/azureConfig.py +37 -0
  386. metadata/generated/schema/entity/services/connections/dashboard/powerbi/bucketDetails.py +25 -0
  387. metadata/generated/schema/entity/services/connections/dashboard/powerbi/gcsConfig.py +37 -0
  388. metadata/generated/schema/entity/services/connections/dashboard/powerbi/s3Config.py +37 -0
  389. metadata/generated/schema/entity/services/connections/dashboard/qlikCloudConnection.py +38 -0
  390. metadata/generated/schema/entity/services/connections/dashboard/qlikSenseConnection.py +6 -15
  391. metadata/generated/schema/entity/services/connections/dashboard/quickSightConnection.py +1 -1
  392. metadata/generated/schema/entity/services/connections/dashboard/redashConnection.py +1 -1
  393. metadata/generated/schema/entity/services/connections/dashboard/supersetConnection.py +1 -1
  394. metadata/generated/schema/entity/services/connections/dashboard/tableauConnection.py +1 -1
  395. metadata/generated/schema/entity/services/connections/database/__init__.py +1 -1
  396. metadata/generated/schema/entity/services/connections/database/athenaConnection.py +1 -1
  397. metadata/generated/schema/entity/services/connections/database/azureSQLConnection.py +1 -1
  398. metadata/generated/schema/entity/services/connections/database/bigQueryConnection.py +4 -1
  399. metadata/generated/schema/entity/services/connections/database/bigTableConnection.py +1 -1
  400. metadata/generated/schema/entity/services/connections/database/clickhouseConnection.py +4 -1
  401. metadata/generated/schema/entity/services/connections/database/common/__init__.py +1 -1
  402. metadata/generated/schema/entity/services/connections/database/common/azureConfig.py +1 -1
  403. metadata/generated/schema/entity/services/connections/database/common/basicAuth.py +1 -1
  404. metadata/generated/schema/entity/services/connections/database/common/iamAuthConfig.py +1 -1
  405. metadata/generated/schema/entity/services/connections/database/common/jwtAuth.py +1 -1
  406. metadata/generated/schema/entity/services/connections/database/couchbaseConnection.py +1 -1
  407. metadata/generated/schema/entity/services/connections/database/customDatabaseConnection.py +1 -1
  408. metadata/generated/schema/entity/services/connections/database/databricksConnection.py +4 -1
  409. metadata/generated/schema/entity/services/connections/database/datalake/__init__.py +1 -1
  410. metadata/generated/schema/entity/services/connections/database/datalake/azureConfig.py +1 -1
  411. metadata/generated/schema/entity/services/connections/database/datalake/gcsConfig.py +1 -1
  412. metadata/generated/schema/entity/services/connections/database/datalake/s3Config.py +1 -1
  413. metadata/generated/schema/entity/services/connections/database/datalakeConnection.py +1 -1
  414. metadata/generated/schema/entity/services/connections/database/db2Connection.py +1 -1
  415. metadata/generated/schema/entity/services/connections/database/deltaLakeConnection.py +2 -2
  416. metadata/generated/schema/entity/services/connections/database/domoDatabaseConnection.py +1 -1
  417. metadata/generated/schema/entity/services/connections/database/dorisConnection.py +4 -13
  418. metadata/generated/schema/entity/services/connections/database/druidConnection.py +1 -1
  419. metadata/generated/schema/entity/services/connections/database/dynamoDBConnection.py +4 -1
  420. metadata/generated/schema/entity/services/connections/database/glueConnection.py +1 -1
  421. metadata/generated/schema/entity/services/connections/database/greenplumConnection.py +2 -15
  422. metadata/generated/schema/entity/services/connections/database/hiveConnection.py +4 -1
  423. metadata/generated/schema/entity/services/connections/database/iceberg/__init__.py +1 -1
  424. metadata/generated/schema/entity/services/connections/database/iceberg/dynamoDbCatalogConnection.py +1 -1
  425. metadata/generated/schema/entity/services/connections/database/iceberg/glueCatalogConnection.py +1 -1
  426. metadata/generated/schema/entity/services/connections/database/iceberg/hiveCatalogConnection.py +1 -1
  427. metadata/generated/schema/entity/services/connections/database/iceberg/icebergCatalog.py +1 -1
  428. metadata/generated/schema/entity/services/connections/database/iceberg/icebergFileSystem.py +1 -1
  429. metadata/generated/schema/entity/services/connections/database/iceberg/restCatalogConnection.py +1 -1
  430. metadata/generated/schema/entity/services/connections/database/icebergConnection.py +1 -1
  431. metadata/generated/schema/entity/services/connections/database/impalaConnection.py +1 -1
  432. metadata/generated/schema/entity/services/connections/database/mariaDBConnection.py +1 -1
  433. metadata/generated/schema/entity/services/connections/database/mongoDBConnection.py +4 -1
  434. metadata/generated/schema/entity/services/connections/database/mssqlConnection.py +4 -1
  435. metadata/generated/schema/entity/services/connections/database/mysqlConnection.py +7 -13
  436. metadata/generated/schema/entity/services/connections/database/oracleConnection.py +4 -1
  437. metadata/generated/schema/entity/services/connections/database/pinotDBConnection.py +1 -1
  438. metadata/generated/schema/entity/services/connections/database/postgresConnection.py +5 -15
  439. metadata/generated/schema/entity/services/connections/database/prestoConnection.py +11 -1
  440. metadata/generated/schema/entity/services/connections/database/redshiftConnection.py +5 -15
  441. metadata/generated/schema/entity/services/connections/database/salesforceConnection.py +1 -1
  442. metadata/generated/schema/entity/services/connections/database/sapHana/__init__.py +1 -1
  443. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaHDBConnection.py +1 -1
  444. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaSQLConnection.py +1 -1
  445. metadata/generated/schema/entity/services/connections/database/sapHanaConnection.py +1 -1
  446. metadata/generated/schema/entity/services/connections/database/sasConnection.py +1 -1
  447. metadata/generated/schema/entity/services/connections/database/singleStoreConnection.py +1 -1
  448. metadata/generated/schema/entity/services/connections/database/snowflakeConnection.py +4 -1
  449. metadata/generated/schema/entity/services/connections/database/sqliteConnection.py +1 -1
  450. metadata/generated/schema/entity/services/connections/database/trinoConnection.py +12 -3
  451. metadata/generated/schema/entity/services/connections/database/unityCatalogConnection.py +1 -1
  452. metadata/generated/schema/entity/services/connections/database/verticaConnection.py +1 -1
  453. metadata/generated/schema/entity/services/connections/messaging/__init__.py +1 -1
  454. metadata/generated/schema/entity/services/connections/messaging/customMessagingConnection.py +1 -1
  455. metadata/generated/schema/entity/services/connections/messaging/kafkaConnection.py +7 -1
  456. metadata/generated/schema/entity/services/connections/messaging/kinesisConnection.py +1 -1
  457. metadata/generated/schema/entity/services/connections/messaging/pulsarConnection.py +1 -1
  458. metadata/generated/schema/entity/services/connections/messaging/redpandaConnection.py +1 -1
  459. metadata/generated/schema/entity/services/connections/messaging/saslMechanismType.py +1 -1
  460. metadata/generated/schema/entity/services/connections/metadata/__init__.py +1 -1
  461. metadata/generated/schema/entity/services/connections/metadata/alationConnection.py +7 -3
  462. metadata/generated/schema/entity/services/connections/metadata/amundsenConnection.py +1 -1
  463. metadata/generated/schema/entity/services/connections/metadata/atlasConnection.py +1 -1
  464. metadata/generated/schema/entity/services/connections/metadata/metadataESConnection.py +1 -1
  465. metadata/generated/schema/entity/services/connections/metadata/openMetadataConnection.py +1 -1
  466. metadata/generated/schema/entity/services/connections/mlmodel/__init__.py +1 -1
  467. metadata/generated/schema/entity/services/connections/mlmodel/customMlModelConnection.py +1 -1
  468. metadata/generated/schema/entity/services/connections/mlmodel/mlflowConnection.py +1 -1
  469. metadata/generated/schema/entity/services/connections/mlmodel/sageMakerConnection.py +1 -1
  470. metadata/generated/schema/entity/services/connections/mlmodel/sklearnConnection.py +1 -1
  471. metadata/generated/schema/entity/services/connections/pipeline/__init__.py +1 -1
  472. metadata/generated/schema/entity/services/connections/pipeline/airbyteConnection.py +1 -1
  473. metadata/generated/schema/entity/services/connections/pipeline/airflowConnection.py +1 -1
  474. metadata/generated/schema/entity/services/connections/pipeline/backendConnection.py +1 -1
  475. metadata/generated/schema/entity/services/connections/pipeline/customPipelineConnection.py +1 -1
  476. metadata/generated/schema/entity/services/connections/pipeline/dagsterConnection.py +1 -1
  477. metadata/generated/schema/entity/services/connections/pipeline/databricksPipelineConnection.py +1 -1
  478. metadata/generated/schema/entity/services/connections/pipeline/domoPipelineConnection.py +1 -1
  479. metadata/generated/schema/entity/services/connections/pipeline/fivetranConnection.py +1 -1
  480. metadata/generated/schema/entity/services/connections/pipeline/gluePipelineConnection.py +1 -1
  481. metadata/generated/schema/entity/services/connections/pipeline/kafkaConnectConnection.py +61 -0
  482. metadata/generated/schema/entity/services/connections/pipeline/nifiConnection.py +1 -1
  483. metadata/generated/schema/entity/services/connections/pipeline/openLineageConnection.py +73 -0
  484. metadata/generated/schema/entity/services/connections/pipeline/sparkConnection.py +1 -1
  485. metadata/generated/schema/entity/services/connections/pipeline/splineConnection.py +1 -1
  486. metadata/generated/schema/entity/services/connections/search/__init__.py +1 -1
  487. metadata/generated/schema/entity/services/connections/search/customSearchConnection.py +1 -1
  488. metadata/generated/schema/entity/services/connections/search/elasticSearch/__init__.py +1 -1
  489. metadata/generated/schema/entity/services/connections/search/elasticSearch/apiAuth.py +1 -1
  490. metadata/generated/schema/entity/services/connections/search/elasticSearch/basicAuth.py +1 -1
  491. metadata/generated/schema/entity/services/connections/search/elasticSearchConnection.py +1 -1
  492. metadata/generated/schema/entity/services/connections/search/openSearchConnection.py +1 -1
  493. metadata/generated/schema/entity/services/connections/serviceConnection.py +1 -1
  494. metadata/generated/schema/entity/services/connections/storage/__init__.py +1 -1
  495. metadata/generated/schema/entity/services/connections/storage/adlsConnection.py +1 -1
  496. metadata/generated/schema/entity/services/connections/storage/customStorageConnection.py +1 -1
  497. metadata/generated/schema/entity/services/connections/storage/gcsConnection.py +1 -1
  498. metadata/generated/schema/entity/services/connections/storage/s3Connection.py +5 -2
  499. metadata/generated/schema/entity/services/connections/testConnectionDefinition.py +1 -1
  500. metadata/generated/schema/entity/services/connections/testConnectionResult.py +1 -1
  501. metadata/generated/schema/entity/services/dashboardService.py +4 -1
  502. metadata/generated/schema/entity/services/databaseService.py +1 -1
  503. metadata/generated/schema/entity/services/ingestionPipelines/__init__.py +1 -1
  504. metadata/generated/schema/entity/services/ingestionPipelines/ingestionPipeline.py +1 -1
  505. metadata/generated/schema/entity/services/ingestionPipelines/pipelineServiceClientResponse.py +1 -1
  506. metadata/generated/schema/entity/services/ingestionPipelines/status.py +1 -1
  507. metadata/generated/schema/entity/services/messagingService.py +1 -1
  508. metadata/generated/schema/entity/services/metadataService.py +1 -1
  509. metadata/generated/schema/entity/services/mlmodelService.py +1 -1
  510. metadata/generated/schema/entity/services/pipelineService.py +7 -1
  511. metadata/generated/schema/entity/services/searchService.py +1 -1
  512. metadata/generated/schema/entity/services/serviceType.py +1 -1
  513. metadata/generated/schema/entity/services/storageService.py +1 -1
  514. metadata/generated/schema/entity/teams/__init__.py +1 -1
  515. metadata/generated/schema/entity/teams/persona.py +1 -1
  516. metadata/generated/schema/entity/teams/role.py +1 -1
  517. metadata/generated/schema/entity/teams/team.py +1 -1
  518. metadata/generated/schema/entity/teams/teamHierarchy.py +1 -1
  519. metadata/generated/schema/entity/teams/user.py +2 -2
  520. metadata/generated/schema/entity/type.py +1 -1
  521. metadata/generated/schema/entity/utils/__init__.py +1 -1
  522. metadata/generated/schema/entity/utils/entitiesCount.py +1 -1
  523. metadata/generated/schema/entity/utils/servicesCount.py +1 -1
  524. metadata/generated/schema/entity/utils/supersetApiConnection.py +1 -1
  525. metadata/generated/schema/events/__init__.py +1 -1
  526. metadata/generated/schema/events/alertMetrics.py +1 -1
  527. metadata/generated/schema/events/api/__init__.py +1 -1
  528. metadata/generated/schema/events/api/createEventSubscription.py +1 -1
  529. metadata/generated/schema/events/emailAlertConfig.py +1 -1
  530. metadata/generated/schema/events/eventFilterRule.py +10 -1
  531. metadata/generated/schema/events/eventSubscription.py +6 -2
  532. metadata/generated/schema/events/eventSubscriptionOffset.py +1 -1
  533. metadata/generated/schema/events/failedEvent.py +1 -1
  534. metadata/generated/schema/events/filterResourceDescriptor.py +1 -1
  535. metadata/generated/schema/events/subscriptionResourceDescriptor.py +1 -1
  536. metadata/generated/schema/metadataIngestion/__init__.py +1 -1
  537. metadata/generated/schema/metadataIngestion/application.py +1 -1
  538. metadata/generated/schema/metadataIngestion/applicationPipeline.py +1 -1
  539. metadata/generated/schema/metadataIngestion/dashboardServiceMetadataPipeline.py +19 -6
  540. metadata/generated/schema/metadataIngestion/dataInsightPipeline.py +1 -1
  541. metadata/generated/schema/metadataIngestion/databaseServiceMetadataPipeline.py +37 -1
  542. metadata/generated/schema/metadataIngestion/databaseServiceProfilerPipeline.py +23 -23
  543. metadata/generated/schema/metadataIngestion/databaseServiceQueryLineagePipeline.py +1 -1
  544. metadata/generated/schema/metadataIngestion/databaseServiceQueryUsagePipeline.py +1 -1
  545. metadata/generated/schema/metadataIngestion/dbtPipeline.py +1 -1
  546. metadata/generated/schema/metadataIngestion/dbtconfig/__init__.py +1 -1
  547. metadata/generated/schema/metadataIngestion/dbtconfig/dbtAzureConfig.py +1 -1
  548. metadata/generated/schema/metadataIngestion/dbtconfig/dbtBucketDetails.py +1 -1
  549. metadata/generated/schema/metadataIngestion/dbtconfig/dbtCloudConfig.py +1 -1
  550. metadata/generated/schema/metadataIngestion/dbtconfig/dbtGCSConfig.py +1 -1
  551. metadata/generated/schema/metadataIngestion/dbtconfig/dbtHttpConfig.py +1 -1
  552. metadata/generated/schema/metadataIngestion/dbtconfig/dbtLocalConfig.py +1 -1
  553. metadata/generated/schema/metadataIngestion/dbtconfig/dbtS3Config.py +1 -1
  554. metadata/generated/schema/metadataIngestion/messagingServiceMetadataPipeline.py +1 -1
  555. metadata/generated/schema/metadataIngestion/metadataToElasticSearchPipeline.py +1 -1
  556. metadata/generated/schema/metadataIngestion/mlmodelServiceMetadataPipeline.py +1 -1
  557. metadata/generated/schema/metadataIngestion/pipelineServiceMetadataPipeline.py +22 -4
  558. metadata/generated/schema/metadataIngestion/searchServiceMetadataPipeline.py +1 -1
  559. metadata/generated/schema/metadataIngestion/storage/__init__.py +1 -1
  560. metadata/generated/schema/metadataIngestion/storage/containerMetadataConfig.py +1 -1
  561. metadata/generated/schema/metadataIngestion/storage/manifestMetadataConfig.py +1 -1
  562. metadata/generated/schema/metadataIngestion/storage/storageBucketDetails.py +1 -1
  563. metadata/generated/schema/metadataIngestion/storage/storageMetadataADLSConfig.py +1 -1
  564. metadata/generated/schema/metadataIngestion/storage/storageMetadataGCSConfig.py +1 -1
  565. metadata/generated/schema/metadataIngestion/storage/storageMetadataHttpConfig.py +1 -1
  566. metadata/generated/schema/metadataIngestion/storage/storageMetadataLocalConfig.py +1 -1
  567. metadata/generated/schema/metadataIngestion/storage/storageMetadataS3Config.py +1 -1
  568. metadata/generated/schema/metadataIngestion/storageServiceMetadataPipeline.py +1 -1
  569. metadata/generated/schema/metadataIngestion/testSuitePipeline.py +1 -1
  570. metadata/generated/schema/metadataIngestion/workflow.py +1 -1
  571. metadata/generated/schema/monitoring/__init__.py +1 -1
  572. metadata/generated/schema/monitoring/eventMonitorProvider.py +1 -1
  573. metadata/generated/schema/security/__init__.py +1 -1
  574. metadata/generated/schema/security/client/__init__.py +1 -1
  575. metadata/generated/schema/security/client/auth0SSOClientConfig.py +1 -1
  576. metadata/generated/schema/security/client/azureSSOClientConfig.py +1 -1
  577. metadata/generated/schema/security/client/customOidcSSOClientConfig.py +1 -1
  578. metadata/generated/schema/security/client/googleSSOClientConfig.py +1 -1
  579. metadata/generated/schema/security/client/oidcClientConfig.py +1 -1
  580. metadata/generated/schema/security/client/oktaSSOClientConfig.py +1 -1
  581. metadata/generated/schema/security/client/openMetadataJWTClientConfig.py +1 -1
  582. metadata/generated/schema/security/client/samlSSOClientConfig.py +1 -1
  583. metadata/generated/schema/security/credentials/__init__.py +1 -1
  584. metadata/generated/schema/security/credentials/accessTokenAuth.py +1 -1
  585. metadata/generated/schema/security/credentials/apiAccessTokenAuth.py +1 -1
  586. metadata/generated/schema/security/credentials/awsCredentials.py +1 -1
  587. metadata/generated/schema/security/credentials/azureCredentials.py +1 -1
  588. metadata/generated/schema/security/credentials/basicAuth.py +1 -1
  589. metadata/generated/schema/security/credentials/bitbucketCredentials.py +1 -1
  590. metadata/generated/schema/security/credentials/gcpCredentials.py +1 -1
  591. metadata/generated/schema/security/credentials/gcpExternalAccount.py +1 -1
  592. metadata/generated/schema/security/credentials/gcpValues.py +1 -1
  593. metadata/generated/schema/security/credentials/gitCredentials.py +1 -1
  594. metadata/generated/schema/security/credentials/githubCredentials.py +1 -1
  595. metadata/generated/schema/security/secrets/__init__.py +1 -1
  596. metadata/generated/schema/security/secrets/secretsManagerClientLoader.py +1 -1
  597. metadata/generated/schema/security/secrets/secretsManagerConfiguration.py +1 -1
  598. metadata/generated/schema/security/secrets/secretsManagerProvider.py +1 -1
  599. metadata/generated/schema/security/securityConfiguration.py +1 -1
  600. metadata/generated/schema/security/ssl/__init__.py +1 -1
  601. metadata/generated/schema/security/ssl/validateSSLClientConfig.py +16 -4
  602. metadata/generated/schema/security/ssl/verifySSLConfig.py +10 -1
  603. metadata/generated/schema/settings/__init__.py +1 -1
  604. metadata/generated/schema/settings/settings.py +5 -2
  605. metadata/generated/schema/system/__init__.py +1 -1
  606. metadata/generated/schema/system/entityError.py +1 -1
  607. metadata/generated/schema/system/eventPublisherJob.py +1 -1
  608. metadata/generated/schema/system/indexingError.py +1 -1
  609. metadata/generated/schema/system/ui/__init__.py +1 -1
  610. metadata/generated/schema/system/ui/knowledgePanel.py +1 -1
  611. metadata/generated/schema/system/ui/page.py +1 -1
  612. metadata/generated/schema/system/validationResponse.py +1 -1
  613. metadata/generated/schema/tests/__init__.py +1 -1
  614. metadata/generated/schema/tests/assigned.py +1 -1
  615. metadata/generated/schema/tests/basic.py +31 -15
  616. metadata/generated/schema/tests/customMetric.py +1 -1
  617. metadata/generated/schema/tests/resolved.py +1 -1
  618. metadata/generated/schema/tests/testCase.py +13 -2
  619. metadata/generated/schema/tests/testCaseResolutionStatus.py +1 -1
  620. metadata/generated/schema/tests/testDefinition.py +22 -2
  621. metadata/generated/schema/tests/testSuite.py +1 -1
  622. metadata/generated/schema/type/__init__.py +1 -1
  623. metadata/generated/schema/type/auditLog.py +1 -1
  624. metadata/generated/schema/type/basic.py +7 -1
  625. metadata/generated/schema/type/bulkOperationResult.py +1 -1
  626. metadata/generated/schema/type/changeEvent.py +1 -1
  627. metadata/generated/schema/type/changeEventType.py +1 -1
  628. metadata/generated/schema/type/collectionDescriptor.py +1 -1
  629. metadata/generated/schema/type/csvDocumentation.py +1 -1
  630. metadata/generated/schema/type/csvErrorType.py +1 -1
  631. metadata/generated/schema/type/csvFile.py +1 -1
  632. metadata/generated/schema/type/csvImportResult.py +1 -1
  633. metadata/generated/schema/type/customProperties/__init__.py +1 -1
  634. metadata/generated/schema/type/customProperties/complexTypes.py +86 -0
  635. metadata/generated/schema/type/customProperties/enumConfig.py +1 -1
  636. metadata/generated/schema/type/customProperty.py +3 -3
  637. metadata/generated/schema/type/dailyCount.py +1 -1
  638. metadata/generated/schema/type/databaseConnectionConfig.py +1 -1
  639. metadata/generated/schema/type/entityHierarchy.py +39 -0
  640. metadata/generated/schema/type/entityHistory.py +1 -1
  641. metadata/generated/schema/type/entityLineage.py +3 -1
  642. metadata/generated/schema/type/entityReference.py +1 -1
  643. metadata/generated/schema/type/entityReferenceList.py +1 -1
  644. metadata/generated/schema/type/entityRelationship.py +1 -1
  645. metadata/generated/schema/type/entityUsage.py +1 -1
  646. metadata/generated/schema/type/filterPattern.py +1 -1
  647. metadata/generated/schema/type/function.py +1 -1
  648. metadata/generated/schema/type/include.py +1 -1
  649. metadata/generated/schema/type/jdbcConnection.py +1 -1
  650. metadata/generated/schema/type/lifeCycle.py +1 -1
  651. metadata/generated/schema/type/paging.py +4 -1
  652. metadata/generated/schema/type/profile.py +1 -1
  653. metadata/generated/schema/type/queryParserData.py +1 -1
  654. metadata/generated/schema/type/reaction.py +1 -1
  655. metadata/generated/schema/type/schedule.py +1 -1
  656. metadata/generated/schema/type/schema.py +1 -1
  657. metadata/generated/schema/type/tableQuery.py +1 -1
  658. metadata/generated/schema/type/tableUsageCount.py +1 -1
  659. metadata/generated/schema/type/tagLabel.py +1 -1
  660. metadata/generated/schema/type/usageDetails.py +1 -1
  661. metadata/generated/schema/type/usageRequest.py +1 -1
  662. metadata/generated/schema/type/votes.py +1 -1
  663. metadata/great_expectations/action.py +0 -1
  664. metadata/ingestion/api/delete.py +33 -1
  665. metadata/ingestion/api/step.py +6 -1
  666. metadata/ingestion/api/topology_runner.py +122 -25
  667. metadata/ingestion/bulksink/metadata_usage.py +6 -1
  668. metadata/ingestion/lineage/models.py +34 -1
  669. metadata/ingestion/lineage/parser.py +15 -8
  670. metadata/ingestion/lineage/sql_lineage.py +21 -3
  671. metadata/ingestion/models/custom_properties.py +3 -0
  672. metadata/ingestion/models/life_cycle.py +4 -1
  673. metadata/ingestion/models/patch_request.py +177 -35
  674. metadata/ingestion/models/topology.py +81 -1
  675. metadata/ingestion/ometa/client.py +3 -0
  676. metadata/ingestion/ometa/mixins/es_mixin.py +95 -42
  677. metadata/ingestion/ometa/mixins/lineage_mixin.py +169 -4
  678. metadata/ingestion/ometa/mixins/patch_mixin.py +9 -4
  679. metadata/ingestion/ometa/mixins/server_mixin.py +50 -5
  680. metadata/ingestion/ometa/mixins/tests_mixin.py +55 -1
  681. metadata/ingestion/ometa/mixins/user_mixin.py +18 -6
  682. metadata/ingestion/ometa/ometa_api.py +6 -1
  683. metadata/ingestion/ometa/routes.py +3 -0
  684. metadata/ingestion/ometa/utils.py +2 -0
  685. metadata/ingestion/processor/query_parser.py +36 -26
  686. metadata/ingestion/sink/file.py +4 -1
  687. metadata/ingestion/sink/metadata_rest.py +19 -5
  688. metadata/ingestion/source/dashboard/dashboard_service.py +75 -16
  689. metadata/ingestion/source/dashboard/domodashboard/metadata.py +7 -5
  690. metadata/ingestion/source/dashboard/lightdash/metadata.py +7 -5
  691. metadata/ingestion/source/dashboard/looker/metadata.py +25 -18
  692. metadata/ingestion/source/dashboard/metabase/client.py +39 -8
  693. metadata/ingestion/source/dashboard/metabase/connection.py +2 -1
  694. metadata/ingestion/source/dashboard/metabase/metadata.py +9 -7
  695. metadata/ingestion/source/dashboard/metabase/models.py +1 -1
  696. metadata/ingestion/source/dashboard/mode/metadata.py +7 -5
  697. metadata/ingestion/source/dashboard/mstr/metadata.py +10 -5
  698. metadata/ingestion/source/dashboard/powerbi/client.py +13 -3
  699. metadata/ingestion/source/dashboard/powerbi/connection.py +13 -5
  700. metadata/ingestion/source/dashboard/powerbi/file_client.py +327 -0
  701. metadata/ingestion/source/dashboard/powerbi/metadata.py +156 -53
  702. metadata/ingestion/source/dashboard/powerbi/models.py +26 -0
  703. metadata/ingestion/source/dashboard/qlikcloud/__init__.py +0 -0
  704. metadata/ingestion/source/dashboard/qlikcloud/client.py +167 -0
  705. metadata/ingestion/source/dashboard/qlikcloud/connection.py +56 -0
  706. metadata/ingestion/source/dashboard/qlikcloud/constants.py +66 -0
  707. metadata/ingestion/source/dashboard/qlikcloud/metadata.py +249 -0
  708. metadata/ingestion/source/dashboard/qlikcloud/models.py +33 -0
  709. metadata/ingestion/source/dashboard/qliksense/client.py +9 -26
  710. metadata/ingestion/source/dashboard/qliksense/metadata.py +30 -17
  711. metadata/ingestion/source/dashboard/qliksense/models.py +1 -0
  712. metadata/ingestion/source/dashboard/quicksight/metadata.py +7 -5
  713. metadata/ingestion/source/dashboard/redash/metadata.py +10 -5
  714. metadata/ingestion/source/dashboard/superset/api_source.py +10 -5
  715. metadata/ingestion/source/dashboard/superset/db_source.py +12 -6
  716. metadata/ingestion/source/dashboard/superset/metadata.py +8 -1
  717. metadata/ingestion/source/dashboard/superset/mixin.py +20 -3
  718. metadata/ingestion/source/dashboard/superset/models.py +2 -0
  719. metadata/ingestion/source/dashboard/superset/queries.py +23 -6
  720. metadata/ingestion/source/dashboard/tableau/metadata.py +71 -10
  721. metadata/ingestion/source/database/athena/client.py +1 -1
  722. metadata/ingestion/source/database/athena/lineage.py +2 -0
  723. metadata/ingestion/source/database/athena/metadata.py +83 -15
  724. metadata/ingestion/source/database/athena/models.py +1 -1
  725. metadata/ingestion/source/database/athena/query_parser.py +6 -1
  726. metadata/ingestion/source/database/athena/usage.py +2 -0
  727. metadata/ingestion/source/database/azuresql/metadata.py +4 -2
  728. metadata/ingestion/source/database/azuresql/query_parser.py +4 -1
  729. metadata/ingestion/source/database/bigquery/helper.py +23 -12
  730. metadata/ingestion/source/database/bigquery/incremental_table_processor.py +86 -0
  731. metadata/ingestion/source/database/bigquery/metadata.py +224 -52
  732. metadata/ingestion/source/database/bigquery/models.py +35 -1
  733. metadata/ingestion/source/database/bigquery/queries.py +25 -12
  734. metadata/ingestion/source/database/bigquery/query_parser.py +3 -1
  735. metadata/ingestion/source/database/bigtable/metadata.py +6 -4
  736. metadata/ingestion/source/database/clickhouse/metadata.py +27 -17
  737. metadata/ingestion/source/database/clickhouse/query_parser.py +4 -2
  738. metadata/ingestion/source/database/common_db_source.py +117 -65
  739. metadata/ingestion/source/database/common_nosql_source.py +15 -15
  740. metadata/ingestion/source/database/couchbase/metadata.py +8 -6
  741. metadata/ingestion/source/database/database_service.py +43 -27
  742. metadata/ingestion/source/database/databricks/metadata.py +80 -34
  743. metadata/ingestion/source/database/databricks/queries.py +0 -1
  744. metadata/ingestion/source/database/databricks/query_parser.py +9 -2
  745. metadata/ingestion/source/database/datalake/connection.py +1 -2
  746. metadata/ingestion/source/database/datalake/metadata.py +21 -19
  747. metadata/ingestion/source/database/db2/metadata.py +4 -1
  748. metadata/ingestion/source/database/dbt/dbt_service.py +13 -11
  749. metadata/ingestion/source/database/dbt/metadata.py +97 -33
  750. metadata/ingestion/source/database/dbt/models.py +10 -1
  751. metadata/ingestion/source/database/deltalake/connection.py +2 -2
  752. metadata/ingestion/source/database/deltalake/metadata.py +19 -17
  753. metadata/ingestion/source/database/domodatabase/metadata.py +16 -11
  754. metadata/ingestion/source/database/doris/connection.py +0 -10
  755. metadata/ingestion/source/database/doris/metadata.py +23 -4
  756. metadata/ingestion/source/database/druid/metadata.py +5 -1
  757. metadata/ingestion/source/database/dynamodb/metadata.py +3 -1
  758. metadata/ingestion/source/database/extended_sample_data.py +4 -2
  759. metadata/ingestion/source/database/external_table_lineage_mixin.py +82 -0
  760. metadata/ingestion/source/database/glue/metadata.py +23 -21
  761. metadata/ingestion/source/database/greenplum/connection.py +0 -10
  762. metadata/ingestion/source/database/greenplum/metadata.py +26 -11
  763. metadata/ingestion/source/database/hive/metadata.py +29 -4
  764. metadata/ingestion/source/database/iceberg/helper.py +42 -5
  765. metadata/ingestion/source/database/iceberg/metadata.py +18 -16
  766. metadata/ingestion/source/database/iceberg/models.py +12 -4
  767. metadata/ingestion/source/database/impala/metadata.py +4 -1
  768. metadata/ingestion/source/database/incremental_metadata_extraction.py +144 -0
  769. metadata/ingestion/source/database/life_cycle_query_mixin.py +39 -36
  770. metadata/ingestion/source/database/mariadb/metadata.py +5 -1
  771. metadata/ingestion/source/database/mongodb/metadata.py +4 -2
  772. metadata/ingestion/source/database/mssql/metadata.py +15 -7
  773. metadata/ingestion/source/database/mssql/queries.py +18 -16
  774. metadata/ingestion/source/database/mssql/query_parser.py +4 -1
  775. metadata/ingestion/source/database/mssql/utils.py +3 -0
  776. metadata/ingestion/source/database/mysql/connection.py +0 -11
  777. metadata/ingestion/source/database/mysql/metadata.py +9 -2
  778. metadata/ingestion/source/database/oracle/connection.py +2 -2
  779. metadata/ingestion/source/database/oracle/metadata.py +33 -17
  780. metadata/ingestion/source/database/oracle/queries.py +13 -13
  781. metadata/ingestion/source/database/oracle/query_parser.py +4 -1
  782. metadata/ingestion/source/database/pinotdb/metadata.py +4 -1
  783. metadata/ingestion/source/database/postgres/connection.py +0 -10
  784. metadata/ingestion/source/database/postgres/metadata.py +38 -15
  785. metadata/ingestion/source/database/postgres/queries.py +17 -1
  786. metadata/ingestion/source/database/postgres/query_parser.py +4 -2
  787. metadata/ingestion/source/database/postgres/utils.py +98 -0
  788. metadata/ingestion/source/database/presto/connection.py +14 -0
  789. metadata/ingestion/source/database/presto/metadata.py +8 -5
  790. metadata/ingestion/source/database/query/lineage.py +5 -1
  791. metadata/ingestion/source/database/query/usage.py +4 -1
  792. metadata/ingestion/source/database/redshift/connection.py +0 -10
  793. metadata/ingestion/source/database/redshift/incremental_table_processor.py +192 -0
  794. metadata/ingestion/source/database/redshift/metadata.py +175 -26
  795. metadata/ingestion/source/database/redshift/models.py +74 -1
  796. metadata/ingestion/source/database/redshift/queries.py +17 -2
  797. metadata/ingestion/source/database/redshift/query_parser.py +3 -1
  798. metadata/ingestion/source/database/redshift/utils.py +13 -7
  799. metadata/ingestion/source/database/salesforce/metadata.py +13 -11
  800. metadata/ingestion/source/database/sample_data.py +56 -13
  801. metadata/ingestion/source/database/sample_usage.py +3 -1
  802. metadata/ingestion/source/database/saphana/metadata.py +6 -5
  803. metadata/ingestion/source/database/sas/metadata.py +8 -3
  804. metadata/ingestion/source/database/singlestore/metadata.py +5 -1
  805. metadata/ingestion/source/database/snowflake/metadata.py +193 -59
  806. metadata/ingestion/source/database/snowflake/models.py +24 -1
  807. metadata/ingestion/source/database/snowflake/queries.py +147 -25
  808. metadata/ingestion/source/database/snowflake/query_parser.py +3 -1
  809. metadata/ingestion/source/database/snowflake/utils.py +187 -11
  810. metadata/ingestion/source/database/sql_column_handler.py +2 -0
  811. metadata/ingestion/source/database/sqlalchemy_source.py +4 -4
  812. metadata/ingestion/source/database/sqlite/metadata.py +5 -1
  813. metadata/ingestion/source/database/stored_procedures_mixin.py +11 -9
  814. metadata/ingestion/source/database/trino/connection.py +20 -0
  815. metadata/ingestion/source/database/trino/metadata.py +7 -4
  816. metadata/ingestion/source/database/trino/query_parser.py +4 -1
  817. metadata/ingestion/source/database/unitycatalog/lineage.py +3 -1
  818. metadata/ingestion/source/database/unitycatalog/metadata.py +43 -32
  819. metadata/ingestion/source/database/unitycatalog/query_parser.py +4 -1
  820. metadata/ingestion/source/database/vertica/metadata.py +4 -2
  821. metadata/ingestion/source/database/vertica/query_parser.py +4 -2
  822. metadata/ingestion/source/messaging/common_broker_source.py +45 -6
  823. metadata/ingestion/source/messaging/kafka/metadata.py +21 -1
  824. metadata/ingestion/source/messaging/kinesis/metadata.py +11 -5
  825. metadata/ingestion/source/messaging/messaging_service.py +3 -3
  826. metadata/ingestion/source/messaging/redpanda/metadata.py +5 -1
  827. metadata/ingestion/source/metadata/amundsen/metadata.py +3 -1
  828. metadata/ingestion/source/metadata/atlas/metadata.py +3 -1
  829. metadata/ingestion/source/mlmodel/mlflow/metadata.py +4 -2
  830. metadata/ingestion/source/mlmodel/mlmodel_service.py +3 -3
  831. metadata/ingestion/source/mlmodel/sagemaker/metadata.py +8 -3
  832. metadata/ingestion/source/pipeline/airbyte/metadata.py +9 -7
  833. metadata/ingestion/source/pipeline/airflow/metadata.py +30 -14
  834. metadata/ingestion/source/pipeline/dagster/metadata.py +17 -15
  835. metadata/ingestion/source/pipeline/dagster/queries.py +53 -82
  836. metadata/ingestion/source/pipeline/databrickspipeline/metadata.py +10 -8
  837. metadata/ingestion/source/pipeline/domopipeline/metadata.py +6 -4
  838. metadata/ingestion/source/pipeline/fivetran/metadata.py +6 -4
  839. metadata/ingestion/source/pipeline/gluepipeline/metadata.py +7 -5
  840. metadata/ingestion/source/pipeline/kafkaconnect/__init__.py +0 -0
  841. metadata/ingestion/source/pipeline/kafkaconnect/client.py +278 -0
  842. metadata/ingestion/source/pipeline/kafkaconnect/connection.py +58 -0
  843. metadata/ingestion/source/pipeline/kafkaconnect/metadata.py +319 -0
  844. metadata/ingestion/source/pipeline/kafkaconnect/models.py +62 -0
  845. metadata/ingestion/source/pipeline/nifi/metadata.py +4 -2
  846. metadata/ingestion/source/pipeline/openlineage/__init__.py +0 -0
  847. metadata/ingestion/source/pipeline/openlineage/connection.py +88 -0
  848. metadata/ingestion/source/pipeline/openlineage/metadata.py +520 -0
  849. metadata/ingestion/source/pipeline/openlineage/models.py +88 -0
  850. metadata/ingestion/source/pipeline/openlineage/utils.py +59 -0
  851. metadata/ingestion/source/pipeline/pipeline_service.py +13 -3
  852. metadata/ingestion/source/pipeline/spline/metadata.py +8 -6
  853. metadata/ingestion/source/search/elasticsearch/metadata.py +8 -6
  854. metadata/ingestion/source/search/search_service.py +3 -3
  855. metadata/ingestion/source/sqa_types.py +20 -1
  856. metadata/ingestion/source/storage/s3/connection.py +10 -1
  857. metadata/ingestion/source/storage/s3/metadata.py +45 -30
  858. metadata/ingestion/source/storage/s3/models.py +8 -4
  859. metadata/ingestion/source/storage/storage_service.py +4 -4
  860. metadata/ingestion/stage/table_usage.py +6 -1
  861. metadata/mixins/pandas/pandas_mixin.py +3 -3
  862. metadata/pii/processor.py +6 -1
  863. metadata/profiler/__init__.py +0 -0
  864. metadata/profiler/adaptors/__init__.py +0 -0
  865. metadata/profiler/adaptors/adaptor_factory.py +43 -0
  866. metadata/profiler/adaptors/dynamodb.py +40 -0
  867. metadata/profiler/adaptors/factory.py +76 -0
  868. metadata/profiler/adaptors/mongodb.py +178 -0
  869. metadata/profiler/adaptors/nosql_adaptor.py +65 -0
  870. metadata/profiler/api/models.py +1 -1
  871. metadata/profiler/factory.py +41 -0
  872. metadata/profiler/interface/nosql/profiler_interface.py +236 -0
  873. metadata/profiler/interface/pandas/profiler_interface.py +51 -30
  874. metadata/profiler/interface/profiler_interface.py +6 -2
  875. metadata/profiler/interface/profiler_interface_factory.py +11 -22
  876. metadata/profiler/interface/sqlalchemy/databricks/profiler_interface.py +77 -0
  877. metadata/profiler/interface/sqlalchemy/profiler_interface.py +2 -1
  878. metadata/profiler/interface/sqlalchemy/unity_catalog/profiler_interface.py +3 -6
  879. metadata/profiler/metrics/composed/distinct_ratio.py +2 -1
  880. metadata/profiler/metrics/composed/duplicate_count.py +2 -1
  881. metadata/profiler/metrics/composed/ilike_ratio.py +2 -1
  882. metadata/profiler/metrics/composed/iqr.py +2 -1
  883. metadata/profiler/metrics/composed/like_ratio.py +2 -1
  884. metadata/profiler/metrics/composed/non_parametric_skew.py +2 -1
  885. metadata/profiler/metrics/composed/null_ratio.py +7 -4
  886. metadata/profiler/metrics/composed/unique_ratio.py +2 -1
  887. metadata/profiler/metrics/core.py +14 -1
  888. metadata/profiler/metrics/hybrid/histogram.py +2 -1
  889. metadata/profiler/metrics/registry.py +4 -0
  890. metadata/profiler/metrics/static/column_count.py +2 -1
  891. metadata/profiler/metrics/static/column_names.py +2 -1
  892. metadata/profiler/metrics/static/count.py +2 -1
  893. metadata/profiler/metrics/static/count_in_set.py +2 -1
  894. metadata/profiler/metrics/static/distinct_count.py +11 -2
  895. metadata/profiler/metrics/static/ilike_count.py +2 -1
  896. metadata/profiler/metrics/static/like_count.py +2 -1
  897. metadata/profiler/metrics/static/max.py +26 -7
  898. metadata/profiler/metrics/static/max_length.py +3 -2
  899. metadata/profiler/metrics/static/mean.py +30 -22
  900. metadata/profiler/metrics/static/min.py +25 -6
  901. metadata/profiler/metrics/static/min_length.py +3 -2
  902. metadata/profiler/metrics/static/not_like_count.py +2 -1
  903. metadata/profiler/metrics/static/not_regexp_match_count.py +2 -1
  904. metadata/profiler/metrics/static/null_count.py +2 -1
  905. metadata/profiler/metrics/static/null_missing_count.py +73 -0
  906. metadata/profiler/metrics/static/regexp_match_count.py +2 -1
  907. metadata/profiler/metrics/static/row_count.py +9 -3
  908. metadata/profiler/metrics/static/stddev.py +2 -1
  909. metadata/profiler/metrics/static/sum.py +22 -4
  910. metadata/profiler/metrics/static/unique_count.py +13 -4
  911. metadata/profiler/metrics/system/system.py +2 -1
  912. metadata/profiler/metrics/window/first_quartile.py +2 -1
  913. metadata/profiler/metrics/window/median.py +8 -2
  914. metadata/profiler/metrics/window/third_quartile.py +2 -1
  915. metadata/profiler/orm/converter/base.py +4 -1
  916. metadata/profiler/orm/converter/bigquery/converter.py +11 -0
  917. metadata/profiler/orm/converter/common.py +47 -0
  918. metadata/profiler/orm/converter/converter_registry.py +2 -0
  919. metadata/profiler/orm/converter/redshift/converter.py +48 -0
  920. metadata/profiler/orm/converter/snowflake/converter.py +13 -0
  921. metadata/profiler/orm/functions/conn_test.py +1 -1
  922. metadata/profiler/orm/functions/sum.py +4 -2
  923. metadata/profiler/orm/functions/table_metric_computer.py +1 -1
  924. metadata/profiler/orm/registry.py +6 -3
  925. metadata/profiler/processor/core.py +58 -97
  926. metadata/profiler/processor/default.py +5 -0
  927. metadata/profiler/processor/handle_partition.py +3 -3
  928. metadata/profiler/processor/metric_filter.py +267 -0
  929. metadata/profiler/processor/processor.py +4 -2
  930. metadata/profiler/processor/sampler/nosql/sampler.py +72 -0
  931. metadata/profiler/processor/sampler/pandas/sampler.py +5 -6
  932. metadata/profiler/processor/sampler/sampler_factory.py +9 -0
  933. metadata/profiler/processor/sampler/sampler_interface.py +2 -2
  934. metadata/profiler/processor/sampler/sqlalchemy/sampler.py +3 -3
  935. metadata/profiler/source/base/profiler_source.py +11 -3
  936. metadata/profiler/source/databricks/profiler_source.py +5 -1
  937. metadata/profiler/source/metadata.py +8 -1
  938. metadata/profiler/source/metadata_ext.py +2 -0
  939. metadata/readers/dataframe/avro.py +5 -5
  940. metadata/readers/dataframe/json.py +1 -1
  941. metadata/readers/file/adls.py +20 -0
  942. metadata/readers/file/base.py +6 -0
  943. metadata/readers/file/config_source_factory.py +12 -0
  944. metadata/readers/file/gcs.py +18 -0
  945. metadata/readers/file/local.py +12 -0
  946. metadata/readers/file/s3.py +16 -0
  947. metadata/utils/constants.py +32 -24
  948. metadata/utils/datalake/datalake_utils.py +40 -4
  949. metadata/utils/elasticsearch.py +8 -0
  950. metadata/utils/execution_time_tracker.py +69 -28
  951. metadata/utils/fqn.py +61 -7
  952. metadata/utils/helpers.py +2 -0
  953. metadata/utils/importer.py +15 -6
  954. metadata/utils/logger.py +1 -1
  955. metadata/utils/lru_cache.py +2 -0
  956. metadata/utils/messaging_utils.py +43 -0
  957. metadata/utils/partition.py +93 -28
  958. metadata/utils/sqlalchemy_utils.py +60 -1
  959. metadata/utils/ssl_manager.py +181 -0
  960. metadata/utils/tag_utils.py +30 -13
  961. metadata/utils/test_utils.py +65 -0
  962. metadata/workflow/application.py +6 -1
  963. metadata/workflow/base.py +1 -1
  964. metadata/workflow/ingestion.py +19 -0
  965. metadata/workflow/metadata.py +9 -1
  966. metadata/workflow/output_handler.py +24 -2
  967. metadata/workflow/workflow_output_handler.py +2 -0
  968. {openmetadata_ingestion-1.3.4.0.dist-info → openmetadata_ingestion-1.4.0.0rc2.dist-info}/METADATA +325 -326
  969. openmetadata_ingestion-1.4.0.0rc2.dist-info/RECORD +1501 -0
  970. metadata/applications/auto_tagger.py +0 -212
  971. metadata/cli/backup.py +0 -202
  972. metadata/cli/db_dump.py +0 -239
  973. metadata/cli/docker.py +0 -382
  974. metadata/cli/openmetadata_dag_config_migration.py +0 -109
  975. metadata/cli/openmetadata_imports_migration.py +0 -71
  976. metadata/cli/utils.py +0 -56
  977. metadata/generated/schema/entity/applications/configuration/external/autoTaggerAppConfig.py +0 -28
  978. openmetadata_ingestion-1.3.4.0.dist-info/RECORD +0 -1435
  979. {openmetadata_ingestion-1.3.4.0.dist-info → openmetadata_ingestion-1.4.0.0rc2.dist-info}/LICENSE +0 -0
  980. {openmetadata_ingestion-1.3.4.0.dist-info → openmetadata_ingestion-1.4.0.0rc2.dist-info}/WHEEL +0 -0
  981. {openmetadata_ingestion-1.3.4.0.dist-info → openmetadata_ingestion-1.4.0.0rc2.dist-info}/entry_points.txt +0 -0
  982. {openmetadata_ingestion-1.3.4.0.dist-info → openmetadata_ingestion-1.4.0.0rc2.dist-info}/top_level.txt +0 -0
@@ -14,9 +14,11 @@ Distinct Count Metric definition
14
14
  """
15
15
  # pylint: disable=duplicate-code
16
16
 
17
+ import json
17
18
 
18
19
  from sqlalchemy import column, distinct, func
19
20
 
21
+ from metadata.generated.schema.configuration.profilerConfiguration import MetricType
20
22
  from metadata.profiler.metrics.core import StaticMetric, _label
21
23
  from metadata.profiler.orm.functions.count import CountFn
22
24
  from metadata.utils.logger import profiler_logger
@@ -33,7 +35,7 @@ class DistinctCount(StaticMetric):
33
35
 
34
36
  @classmethod
35
37
  def name(cls):
36
- return "distinctCount"
38
+ return MetricType.distinctCount.value
37
39
 
38
40
  @property
39
41
  def metric_type(self):
@@ -57,7 +59,14 @@ class DistinctCount(StaticMetric):
57
59
  counter = Counter()
58
60
  for df in dfs:
59
61
  df_col_value = df[self.col.name].dropna().to_list()
60
- counter.update(df_col_value)
62
+ try:
63
+ counter.update(df_col_value)
64
+ except TypeError as err:
65
+ if isinstance(df_col_value, list):
66
+ for value in df_col_value:
67
+ counter.update([json.dumps(value)])
68
+ else:
69
+ raise err
61
70
  return len(counter.keys())
62
71
  except Exception as err:
63
72
  logger.debug(
@@ -16,6 +16,7 @@ ILIKE Count Metric definition
16
16
 
17
17
  from sqlalchemy import case, column
18
18
 
19
+ from metadata.generated.schema.configuration.profilerConfiguration import MetricType
19
20
  from metadata.profiler.metrics.core import StaticMetric, _label
20
21
  from metadata.profiler.orm.functions.sum import SumFn
21
22
 
@@ -35,7 +36,7 @@ class ILikeCount(StaticMetric):
35
36
 
36
37
  @classmethod
37
38
  def name(cls):
38
- return "iLikeCount"
39
+ return MetricType.iLikeCount.value
39
40
 
40
41
  @property
41
42
  def metric_type(self):
@@ -16,6 +16,7 @@ Like Count Metric definition
16
16
 
17
17
  from sqlalchemy import case, column
18
18
 
19
+ from metadata.generated.schema.configuration.profilerConfiguration import MetricType
19
20
  from metadata.profiler.metrics.core import StaticMetric, _label
20
21
  from metadata.profiler.orm.functions.sum import SumFn
21
22
 
@@ -35,7 +36,7 @@ class LikeCount(StaticMetric):
35
36
 
36
37
  @classmethod
37
38
  def name(cls):
38
- return "likeCount"
39
+ return MetricType.likeCount.value
39
40
 
40
41
  @property
41
42
  def metric_type(self):
@@ -12,14 +12,17 @@
12
12
  """
13
13
  Max Metric definition
14
14
  """
15
- # pylint: disable=duplicate-code
16
-
15
+ from functools import partial
16
+ from typing import Callable, Optional
17
17
 
18
18
  from sqlalchemy import TIME, column
19
19
  from sqlalchemy.ext.compiler import compiles
20
20
  from sqlalchemy.sql.functions import GenericFunction
21
21
 
22
- from metadata.profiler.metrics.core import CACHE, StaticMetric, _label
22
+ from metadata.generated.schema.configuration.profilerConfiguration import MetricType
23
+ from metadata.generated.schema.entity.data.table import DataType, Table
24
+ from metadata.profiler.adaptors.nosql_adaptor import NoSQLAdaptor
25
+ from metadata.profiler.metrics.core import CACHE, StaticMetric, T, _label
23
26
  from metadata.profiler.orm.functions.length import LenFn
24
27
  from metadata.profiler.orm.registry import (
25
28
  FLOAT_SET,
@@ -29,6 +32,8 @@ from metadata.profiler.orm.registry import (
29
32
  is_quantifiable,
30
33
  )
31
34
 
35
+ # pylint: disable=duplicate-code
36
+
32
37
 
33
38
  class MaxFn(GenericFunction):
34
39
  name = __qualname__
@@ -77,7 +82,7 @@ class Max(StaticMetric):
77
82
 
78
83
  @classmethod
79
84
  def name(cls):
80
- return "max"
85
+ return MetricType.max.value
81
86
 
82
87
  @_label
83
88
  def fn(self):
@@ -90,9 +95,23 @@ class Max(StaticMetric):
90
95
 
91
96
  def df_fn(self, dfs=None):
92
97
  """pandas function"""
98
+ import pandas as pd
99
+
93
100
  if is_quantifiable(self.col.type):
94
101
  return max((df[self.col.name].max() for df in dfs))
102
+
95
103
  if is_date_time(self.col.type):
96
- max_ = max((df[self.col.name].max() for df in dfs))
97
- return int(max_.timestamp() * 1000)
98
- return 0
104
+ max_ = None
105
+ if self.col.type in {DataType.DATETIME, DataType.DATE}:
106
+ max_ = max((pd.to_datetime(df[self.col.name]).max() for df in dfs))
107
+ return None if pd.isnull(max_) else int(max_.timestamp() * 1000)
108
+ elif self.col.type == DataType.TIME:
109
+ max_ = max((pd.to_timedelta(df[self.col.name]).max() for df in dfs))
110
+ return None if pd.isnull(max_) else max_.seconds
111
+ return None
112
+
113
+ def nosql_fn(self, adaptor: NoSQLAdaptor) -> Callable[[Table], Optional[T]]:
114
+ """nosql function"""
115
+ if is_quantifiable(self.col.type):
116
+ return partial(adaptor.max, column=self.col)
117
+ return lambda table: None
@@ -17,6 +17,7 @@ MAX_LENGTH Metric definition
17
17
 
18
18
  from sqlalchemy import column, func
19
19
 
20
+ from metadata.generated.schema.configuration.profilerConfiguration import MetricType
20
21
  from metadata.profiler.metrics.core import StaticMetric, _label
21
22
  from metadata.profiler.orm.functions.length import LenFn
22
23
  from metadata.profiler.orm.registry import is_concatenable
@@ -36,7 +37,7 @@ class MaxLength(StaticMetric):
36
37
 
37
38
  @classmethod
38
39
  def name(cls):
39
- return "maxLength"
40
+ return MetricType.maxLength.value
40
41
 
41
42
  @property
42
43
  def metric_type(self):
@@ -66,7 +67,7 @@ class MaxLength(StaticMetric):
66
67
  max_length_list = []
67
68
 
68
69
  for df in dfs:
69
- if any(df[self.col.name]):
70
+ if any(df[self.col.name].dropna()):
70
71
  max_length_list.append(
71
72
  length_vectorize_func(
72
73
  df[self.col.name].dropna().astype(str)
@@ -12,16 +12,17 @@
12
12
  """
13
13
  AVG Metric definition
14
14
  """
15
- # pylint: disable=duplicate-code
16
-
17
-
18
- from typing import List, cast
15
+ from functools import partial
16
+ from typing import Callable, List, Optional, cast
19
17
 
20
18
  from sqlalchemy import column, func
21
19
  from sqlalchemy.ext.compiler import compiles
22
20
  from sqlalchemy.sql.functions import GenericFunction
23
21
 
24
- from metadata.profiler.metrics.core import CACHE, StaticMetric, _label
22
+ from metadata.generated.schema.configuration.profilerConfiguration import MetricType
23
+ from metadata.generated.schema.entity.data.table import Table
24
+ from metadata.profiler.adaptors.nosql_adaptor import NoSQLAdaptor
25
+ from metadata.profiler.metrics.core import CACHE, StaticMetric, T, _label
25
26
  from metadata.profiler.orm.functions.length import LenFn
26
27
  from metadata.profiler.orm.registry import (
27
28
  FLOAT_SET,
@@ -32,6 +33,9 @@ from metadata.profiler.orm.registry import (
32
33
  )
33
34
  from metadata.utils.logger import profiler_logger
34
35
 
36
+ # pylint: disable=duplicate-code
37
+
38
+
35
39
  logger = profiler_logger()
36
40
 
37
41
 
@@ -85,7 +89,7 @@ class Mean(StaticMetric):
85
89
 
86
90
  @classmethod
87
91
  def name(cls):
88
- return "mean"
92
+ return MetricType.mean.value
89
93
 
90
94
  @property
91
95
  def metric_type(self):
@@ -115,25 +119,23 @@ class Mean(StaticMetric):
115
119
 
116
120
  means = []
117
121
  weights = []
118
-
119
- if is_quantifiable(self.col.type):
120
- for df in dfs:
121
- mean = df[self.col.name].mean()
122
- if not pd.isnull(mean):
123
- means.append(mean)
124
- weights.append(df[self.col.name].count())
125
-
126
- if is_concatenable(self.col.type):
127
- length_vectorize_func = vectorize(len)
128
- for df in dfs:
122
+ length_vectorize_func = vectorize(len)
123
+ for df in dfs:
124
+ processed_df = df[self.col.name].dropna()
125
+ try:
129
126
  mean = None
130
- if any(df[self.col.name]):
131
- mean = length_vectorize_func(
132
- df[self.col.name].dropna().astype(str)
133
- ).mean()
127
+ if is_quantifiable(self.col.type):
128
+ mean = processed_df.mean()
129
+ if is_concatenable(self.col.type):
130
+ mean = length_vectorize_func(processed_df.astype(str)).mean()
134
131
  if not pd.isnull(mean):
135
132
  means.append(mean)
136
- weights.append(df[self.col.name].dropna().count())
133
+ weights.append(processed_df.count())
134
+ except Exception as err:
135
+ logger.debug(
136
+ f"Error while computing mean for column {self.col.name}: {err}"
137
+ )
138
+ return None
137
139
 
138
140
  if means:
139
141
  return average(means, weights=weights)
@@ -142,3 +144,9 @@ class Mean(StaticMetric):
142
144
  f"Don't know how to process type {self.col.type} when computing MEAN"
143
145
  )
144
146
  return None
147
+
148
+ def nosql_fn(self, adaptor: NoSQLAdaptor) -> Callable[[Table], Optional[T]]:
149
+ """nosql function"""
150
+ if is_quantifiable(self.col.type):
151
+ return partial(adaptor.mean, column=self.col)
152
+ return lambda table: None
@@ -12,13 +12,17 @@
12
12
  """
13
13
  Min Metric definition
14
14
  """
15
- # pylint: disable=duplicate-code
15
+ from functools import partial
16
+ from typing import Callable, Optional
16
17
 
17
18
  from sqlalchemy import TIME, column
18
19
  from sqlalchemy.ext.compiler import compiles
19
20
  from sqlalchemy.sql.functions import GenericFunction
20
21
 
21
- from metadata.profiler.metrics.core import CACHE, StaticMetric, _label
22
+ from metadata.generated.schema.configuration.profilerConfiguration import MetricType
23
+ from metadata.generated.schema.entity.data.table import DataType, Table
24
+ from metadata.profiler.adaptors.nosql_adaptor import NoSQLAdaptor
25
+ from metadata.profiler.metrics.core import CACHE, StaticMetric, T, _label
22
26
  from metadata.profiler.orm.functions.length import LenFn
23
27
  from metadata.profiler.orm.registry import (
24
28
  FLOAT_SET,
@@ -28,6 +32,8 @@ from metadata.profiler.orm.registry import (
28
32
  is_quantifiable,
29
33
  )
30
34
 
35
+ # pylint: disable=duplicate-code
36
+
31
37
 
32
38
  class MinFn(GenericFunction):
33
39
  name = __qualname__
@@ -76,7 +82,7 @@ class Min(StaticMetric):
76
82
 
77
83
  @classmethod
78
84
  def name(cls):
79
- return "min"
85
+ return MetricType.min.value
80
86
 
81
87
  @_label
82
88
  def fn(self):
@@ -90,9 +96,22 @@ class Min(StaticMetric):
90
96
 
91
97
  def df_fn(self, dfs=None):
92
98
  """pandas function"""
99
+ import pandas as pd
100
+
93
101
  if is_quantifiable(self.col.type):
94
102
  return min((df[self.col.name].min() for df in dfs))
95
103
  if is_date_time(self.col.type):
96
- min_ = min((df[self.col.name].min() for df in dfs))
97
- return int(min_.timestamp() * 1000)
98
- return 0
104
+ min_ = None
105
+ if self.col.type in {DataType.DATETIME, DataType.DATE}:
106
+ min_ = min((pd.to_datetime(df[self.col.name]).min() for df in dfs))
107
+ return None if pd.isnull(min_) else int(min_.timestamp() * 1000)
108
+ elif self.col.type == DataType.TIME:
109
+ min_ = min((pd.to_timedelta(df[self.col.name]).min() for df in dfs))
110
+ return None if pd.isnull(min_) else min_.seconds
111
+ return None
112
+
113
+ def nosql_fn(self, adaptor: NoSQLAdaptor) -> Callable[[Table], Optional[T]]:
114
+ """nosql function"""
115
+ if is_quantifiable(self.col.type):
116
+ return partial(adaptor.min, column=self.col)
117
+ return lambda table: None
@@ -17,6 +17,7 @@ MIN_LENGTH Metric definition
17
17
 
18
18
  from sqlalchemy import column, func
19
19
 
20
+ from metadata.generated.schema.configuration.profilerConfiguration import MetricType
20
21
  from metadata.profiler.metrics.core import StaticMetric, _label
21
22
  from metadata.profiler.orm.functions.length import LenFn
22
23
  from metadata.profiler.orm.registry import is_concatenable
@@ -36,7 +37,7 @@ class MinLength(StaticMetric):
36
37
 
37
38
  @classmethod
38
39
  def name(cls):
39
- return "minLength"
40
+ return MetricType.minLength.value
40
41
 
41
42
  @property
42
43
  def metric_type(self):
@@ -67,7 +68,7 @@ class MinLength(StaticMetric):
67
68
  min_length_list = []
68
69
 
69
70
  for df in dfs:
70
- if any(df[self.col.name]):
71
+ if any(df[self.col.name].dropna()):
71
72
  min_length_list.append(
72
73
  length_vectorize_func(
73
74
  df[self.col.name].dropna().astype(str)
@@ -16,6 +16,7 @@ Like Count Metric definition
16
16
 
17
17
  from sqlalchemy import case, column
18
18
 
19
+ from metadata.generated.schema.configuration.profilerConfiguration import MetricType
19
20
  from metadata.profiler.metrics.core import StaticMetric, _label
20
21
  from metadata.profiler.orm.functions.sum import SumFn
21
22
 
@@ -35,7 +36,7 @@ class NotLikeCount(StaticMetric):
35
36
 
36
37
  @classmethod
37
38
  def name(cls):
38
- return "notLikeCount"
39
+ return MetricType.notLikeCount.value
39
40
 
40
41
  @property
41
42
  def metric_type(self):
@@ -16,6 +16,7 @@ Regex Count Metric definition
16
16
 
17
17
  from sqlalchemy import case, column, not_
18
18
 
19
+ from metadata.generated.schema.configuration.profilerConfiguration import MetricType
19
20
  from metadata.profiler.metrics.core import StaticMetric, _label
20
21
  from metadata.profiler.orm.functions.sum import SumFn
21
22
  from metadata.profiler.orm.registry import is_concatenable
@@ -36,7 +37,7 @@ class NotRegexCount(StaticMetric):
36
37
 
37
38
  @classmethod
38
39
  def name(cls):
39
- return "notRegexCount"
40
+ return MetricType.notRegexCount.value
40
41
 
41
42
  @property
42
43
  def metric_type(self):
@@ -17,6 +17,7 @@ Null Count Metric definition
17
17
 
18
18
  from sqlalchemy import case, column
19
19
 
20
+ from metadata.generated.schema.configuration.profilerConfiguration import MetricType
20
21
  from metadata.profiler.metrics.core import StaticMetric, _label
21
22
  from metadata.profiler.orm.functions.sum import SumFn
22
23
 
@@ -38,7 +39,7 @@ class NullCount(StaticMetric):
38
39
 
39
40
  @classmethod
40
41
  def name(cls):
41
- return "nullCount"
42
+ return MetricType.nullCount.value
42
43
 
43
44
  @property
44
45
  def metric_type(self):
@@ -0,0 +1,73 @@
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
+ Null Count Metric definition
14
+ """
15
+ # pylint: disable=duplicate-code
16
+
17
+
18
+ from sqlalchemy import case, column
19
+
20
+ from metadata.generated.schema.configuration.profilerConfiguration import MetricType
21
+ from metadata.profiler.metrics.core import StaticMetric, _label
22
+ from metadata.profiler.orm.functions.sum import SumFn
23
+
24
+
25
+ class NullMissingCount(StaticMetric):
26
+ """
27
+ NULL + Empty COUNT Metric
28
+
29
+ Given a column, return the null count.
30
+
31
+ We are building a CASE WHEN structure:
32
+ ```
33
+ SUM(
34
+ CASE is not null THEN 1
35
+ ELSE 0
36
+ )
37
+ ```
38
+ """
39
+
40
+ @classmethod
41
+ def name(cls):
42
+ """
43
+ Returns the name of the metric.
44
+ """
45
+ return MetricType.nullCount.value
46
+
47
+ @property
48
+ def metric_type(self):
49
+ """
50
+ Returns the type of the metric.
51
+ """
52
+ return int
53
+
54
+ @_label
55
+ def fn(self):
56
+ """
57
+ Returns the SQLAlchemy function for calculating the metric.
58
+ """
59
+ return SumFn(
60
+ case(
61
+ [
62
+ (column(self.col.name, self.col.type).is_(None), 1),
63
+ (column(self.col.name, self.col.type).__eq__(""), 1),
64
+ ],
65
+ else_=0,
66
+ )
67
+ )
68
+
69
+ def df_fn(self, dfs=None):
70
+ """
71
+ Returns the pandas function for calculating the metric.
72
+ """
73
+ return sum(df[self.col.name].isnull().sum() for df in dfs)
@@ -16,6 +16,7 @@ Regex Count Metric definition
16
16
 
17
17
  from sqlalchemy import case, column
18
18
 
19
+ from metadata.generated.schema.configuration.profilerConfiguration import MetricType
19
20
  from metadata.profiler.metrics.core import StaticMetric, _label
20
21
  from metadata.profiler.orm.functions.sum import SumFn
21
22
  from metadata.profiler.orm.registry import is_concatenable
@@ -36,7 +37,7 @@ class RegexCount(StaticMetric):
36
37
 
37
38
  @classmethod
38
39
  def name(cls):
39
- return "regexCount"
40
+ return MetricType.regexCount.value
40
41
 
41
42
  @property
42
43
  def metric_type(self):
@@ -12,11 +12,13 @@
12
12
  """
13
13
  Table Count Metric definition
14
14
  """
15
- # pylint: disable=duplicate-code
16
-
15
+ from typing import Callable
17
16
 
18
17
  from sqlalchemy import func
19
18
 
19
+ from metadata.generated.schema.configuration.profilerConfiguration import MetricType
20
+ from metadata.generated.schema.entity.data.table import Table
21
+ from metadata.profiler.adaptors.nosql_adaptor import NoSQLAdaptor
20
22
  from metadata.profiler.metrics.core import StaticMetric, _label
21
23
 
22
24
 
@@ -29,7 +31,7 @@ class RowCount(StaticMetric):
29
31
 
30
32
  @classmethod
31
33
  def name(cls):
32
- return "rowCount"
34
+ return MetricType.rowCount.value
33
35
 
34
36
  @classmethod
35
37
  def is_col_metric(cls) -> bool:
@@ -50,3 +52,7 @@ class RowCount(StaticMetric):
50
52
  def df_fn(self, dfs=None):
51
53
  """pandas function"""
52
54
  return sum(len(df.index) for df in dfs)
55
+
56
+ @classmethod
57
+ def nosql_fn(cls, client: NoSQLAdaptor) -> Callable[[Table], int]:
58
+ return client.item_count
@@ -21,6 +21,7 @@ from sqlalchemy import column
21
21
  from sqlalchemy.ext.compiler import compiles
22
22
  from sqlalchemy.sql.functions import FunctionElement
23
23
 
24
+ from metadata.generated.schema.configuration.profilerConfiguration import MetricType
24
25
  from metadata.profiler.metrics.core import CACHE, StaticMetric, _label
25
26
  from metadata.profiler.orm.functions.length import LenFn
26
27
  from metadata.profiler.orm.registry import (
@@ -103,7 +104,7 @@ class StdDev(StaticMetric):
103
104
 
104
105
  @classmethod
105
106
  def name(cls):
106
- return "stddev"
107
+ return MetricType.stddev.value
107
108
 
108
109
  @property
109
110
  def metric_type(self):
@@ -12,15 +12,21 @@
12
12
  """
13
13
  SUM Metric definition
14
14
  """
15
- # pylint: disable=duplicate-code
15
+ from functools import partial
16
+ from typing import Callable, Optional
16
17
 
17
18
  from sqlalchemy import column
18
19
 
19
- from metadata.profiler.metrics.core import StaticMetric, _label
20
+ from metadata.generated.schema.configuration.profilerConfiguration import MetricType
21
+ from metadata.generated.schema.entity.data.table import Table
22
+ from metadata.profiler.adaptors.nosql_adaptor import NoSQLAdaptor
23
+ from metadata.profiler.metrics.core import StaticMetric, T, _label
20
24
  from metadata.profiler.orm.functions.length import LenFn
21
25
  from metadata.profiler.orm.functions.sum import SumFn
22
26
  from metadata.profiler.orm.registry import is_concatenable, is_quantifiable
23
27
 
28
+ # pylint: disable=duplicate-code
29
+
24
30
 
25
31
  class Sum(StaticMetric):
26
32
  """
@@ -33,7 +39,7 @@ class Sum(StaticMetric):
33
39
 
34
40
  @classmethod
35
41
  def name(cls):
36
- return "sum"
42
+ return MetricType.sum.value
37
43
 
38
44
  @_label
39
45
  def fn(self):
@@ -50,5 +56,17 @@ class Sum(StaticMetric):
50
56
  """pandas function"""
51
57
 
52
58
  if is_quantifiable(self.col.type):
53
- return sum(df[self.col.name].sum() for df in dfs)
59
+ try:
60
+ return sum(df[self.col.name].sum() for df in dfs)
61
+ except (TypeError, ValueError):
62
+ try:
63
+ return sum(df[self.col.name].astype(float).sum() for df in dfs)
64
+ except Exception:
65
+ return None
54
66
  return None
67
+
68
+ def nosql_fn(self, adaptor: NoSQLAdaptor) -> Callable[[Table], Optional[T]]:
69
+ """nosql function"""
70
+ if is_quantifiable(self.col.type):
71
+ return partial(adaptor.sum, column=self.col)
72
+ return lambda table: None
@@ -12,11 +12,13 @@
12
12
  """
13
13
  Unique Count Metric definition
14
14
  """
15
+ import json
15
16
  from typing import Optional
16
17
 
17
18
  from sqlalchemy import column, func
18
19
  from sqlalchemy.orm import DeclarativeMeta, Session
19
20
 
21
+ from metadata.generated.schema.configuration.profilerConfiguration import MetricType
20
22
  from metadata.profiler.metrics.core import QueryMetric
21
23
  from metadata.profiler.orm.functions.unique_count import _unique_count_query_mapper
22
24
  from metadata.profiler.orm.registry import NOT_COMPUTE
@@ -34,7 +36,7 @@ class UniqueCount(QueryMetric):
34
36
 
35
37
  @classmethod
36
38
  def name(cls):
37
- return "uniqueCount"
39
+ return MetricType.uniqueCount.value
38
40
 
39
41
  @property
40
42
  def metric_type(self):
@@ -59,8 +61,8 @@ class UniqueCount(QueryMetric):
59
61
  unique_count_query = _unique_count_query_mapper[session.bind.dialect.name](
60
62
  col, session, sample
61
63
  )
62
- only_once_cte = unique_count_query.cte("only_once")
63
- return session.query(func.count().label(self.name())).select_from(only_once_cte)
64
+ only_once_sub = unique_count_query.subquery("only_once")
65
+ return session.query(func.count().label(self.name())).select_from(only_once_sub)
64
66
 
65
67
  def df_fn(self, dfs=None):
66
68
  """
@@ -72,7 +74,14 @@ class UniqueCount(QueryMetric):
72
74
  counter = Counter()
73
75
  for df in dfs:
74
76
  df_col_value = df[self.col.name].dropna().to_list()
75
- counter.update(df_col_value)
77
+ try:
78
+ counter.update(df_col_value)
79
+ except TypeError as err:
80
+ if isinstance(df_col_value, list):
81
+ for value in df_col_value:
82
+ counter.update([json.dumps(value)])
83
+ else:
84
+ raise err
76
85
  return len([key for key, value in counter.items() if value == 1])
77
86
  except Exception as err:
78
87
  logger.debug(
@@ -20,6 +20,7 @@ from typing import Dict, List, Optional
20
20
  from sqlalchemy import text
21
21
  from sqlalchemy.orm import DeclarativeMeta, Session
22
22
 
23
+ from metadata.generated.schema.configuration.profilerConfiguration import MetricType
23
24
  from metadata.generated.schema.entity.services.connections.database.bigQueryConnection import (
24
25
  BigQueryConnection,
25
26
  )
@@ -430,7 +431,7 @@ class System(SystemMetric):
430
431
 
431
432
  @classmethod
432
433
  def name(cls):
433
- return "system"
434
+ return MetricType.system.value
434
435
 
435
436
  def _manage_cache(self, max_size_in_bytes: int = MAX_SIZE_IN_BYTES) -> None:
436
437
  """manage cache and clears it if it exceeds the max size
@@ -18,6 +18,7 @@ from typing import List, cast
18
18
 
19
19
  from sqlalchemy import column
20
20
 
21
+ from metadata.generated.schema.configuration.profilerConfiguration import MetricType
21
22
  from metadata.profiler.metrics.core import StaticMetric, _label
22
23
  from metadata.profiler.metrics.window.percentille_mixin import PercentilMixin
23
24
  from metadata.profiler.orm.functions.length import LenFn
@@ -38,7 +39,7 @@ class FirstQuartile(StaticMetric, PercentilMixin):
38
39
 
39
40
  @classmethod
40
41
  def name(cls):
41
- return "firstQuartile"
42
+ return MetricType.firstQuartile.value
42
43
 
43
44
  @classmethod
44
45
  def is_window_metric(cls):