openmetadata-ingestion 1.3.3.0rc2__py3-none-any.whl → 1.4.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of openmetadata-ingestion might be problematic. Click here for more details.

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