yihua opened a new pull request, #760:
URL: https://github.com/apache/hudi-rs/pull/760
## Description
Adds an `explain` subcommand to the TPC-H harness to diagnose the
datafusion+hudi vs datafusion+parquet performance gap (#713): it prints
`EXPLAIN` (or `EXPLAIN ANALYZE` with `--analyze`) output for the selected
queries through either or both registrations, along with per-statement
parse+logical-plan vs collect timing and per-source registration timing. Plain
`EXPLAIN`'s collect covers physical planning including `TableProvider::scan`,
so the hudi-vs-parquet difference in that number isolates per-query planning
overhead. Statement splitting is extracted from `bench_source` into a shared
helper (behavior-preserving); Q15's CREATE VIEW / DROP VIEW run unwrapped so
the query statement plans against the view, and a failing query is reported and
skipped instead of aborting the run.
## How are the changes test-covered
- [ ] N/A
- [x] Automated tests (unit and/or integration tests)
- [x] Manual tests
- [x] Details are described below
Unit tests cover statement splitting (comment stripping, multi-statement, no
trailing semicolon) and EXPLAIN wrapping (SELECT/WITH/VALUES wrapped, DDL and
parenthesized set operations left unwrapped). Manually validated against local
sf1 data on both hudi and parquet registrations: Q06 plain EXPLAIN (plans and
timings print for both engines) and Q15 with `--analyze` (view lifecycle runs
unwrapped, the query executes and reports operator metrics).
--
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]