Skip to content

[#7778] feat(client-python): Support statistics python client config for gravitino client#7831

Open
TEOTEO520 wants to merge 1 commit intoapache:mainfrom
TEOTEO520:feature/stat-python-client
Open

[#7778] feat(client-python): Support statistics python client config for gravitino client#7831
TEOTEO520 wants to merge 1 commit intoapache:mainfrom
TEOTEO520:feature/stat-python-client

Conversation

@TEOTEO520
Copy link
Contributor

What changes were proposed in this pull request?

This PR implements the Python client for the Statistics API in Apache Gravitino. The implementation includes:

  • Statistics API interfaces (Statistic, StatisticValue, StatisticValues, SupportsStatistics)
  • DTOs for statistics data transfer (StatisticDTO, StatisticValueDTO)
  • Request/Response classes (StatisticsUpdateRequest, StatisticListResponse)
  • Client operations class (MetadataObjectStatisticsOperations)
  • Exception handling (IllegalStatisticNameException, UnmodifiableStatisticException)

Why are the changes needed?

  • List statistics for metadata objects (tables)
  • Update statistics with custom values
  • Drop statistics by name

Fix: #(issue)

Does this PR introduce any user-facing change?

Yes, this PR adds new user-facing APIs for Python users:

  1. New API classes: SupportsStatistics interface for objects that support statistics operations
  2. New methods: list_statistics(), update_statistics(), drop_statistics()
  3. New factory class: StatisticValues for creating statistic values of different types

How was this patch tested?

  • Added unit tests in tests/unittests/test_statistics_api.py covering all components

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Subtask] Add python client for statistics

1 participant