hqlalala opened a new pull request, #7975:
URL: https://github.com/apache/paimon/pull/7975
### Purpose
- Add a standalone Java CLI (`paimon-cli`) for Apache Paimon, providing a
native command-line tool that works without Flink/Spark
- Full SQL support via Apache Calcite planner (JOIN, GROUP BY, window
functions, subqueries, UNION, etc.)
- Supports catalog operations: create/drop/alter database and table,
schema evolution, snapshot/tag management, branch management, orphan file
cleanup
- Includes data read/write, EXPLAIN plan, and an interactive SQL REPL
- Installs as a single `paimon` command with fat jar packaging
## Comparison with Python CLI
| Feature | Java CLI | Python CLI |
|---------|----------|------------|
| SQL Engine | Apache Calcite (full planner) | DataFusion (Rust) |
| SQL Capabilities | JOIN, window functions, subqueries, UNION | Same |
| Filter/Projection Pushdown | Yes (via ProjectableFilterableTable) | Yes
(native) |
| Deployment | Single fat jar, JVM only | Requires Python + pypaimon wheel
|
| Catalog Operations | Full (create/alter/drop DB & table) | Full |
| Schema Evolution | Yes (add/drop/rename column, set options) | Limited |
| Snapshot Management | Yes (view, tag, expire, rollback) | No |
| Branch Management | Yes (create, list, rename, delete) | No |
| Orphan File Cleanup | Yes | No |
| Interactive REPL | Yes | Yes |
### Tests
- [x] 98 unit/integration tests passing (`mvn clean test -pl paimon-cli`)
- [x] SQL tests cover: SELECT, WHERE, LIMIT, GROUP BY, HAVING, DISTINCT,
ORDER BY, JOIN, subquery, CASE WHEN, UNION, window functions (ROW_NUMBER)
- [x] Manual verification via `paimon sql` against local filesystem
warehouse
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]