cshuo opened a new pull request, #19842:
URL: https://github.com/apache/hudi/pull/19842

   ### Describe the issue this Pull Request addresses
   
   Closes #19821.
   
   Following the Lance VECTOR writer support merged in #19831, Flink also needs 
to read these columns as ArrayData and preserve their VECTOR schema identity. 
The existing reader only handles variable-length Arrow lists.
   
   ### Summary and Changelog
   
   - Read Arrow FixedSizeList values as Flink arrays while retaining ordinary 
List support.
   - Restore VECTOR schema identity from the Lance footer's vector-column 
metadata and Arrow element type and dimension.
   - Validate requested vector dimensions and element types against the file 
schema.
   - Add real Lance file round-trip coverage for FLOAT/DOUBLE vectors, null 
vectors, ordinary arrays, reordered projections, schema restoration, and 
incompatible dimensions.
   - Add COW/MOR upsert-read coverage, including completed MOR compaction.
   
   ### Impact
   
   Enables Flink to read top-level FLOAT and DOUBLE VECTOR columns from 
Hudi-written Lance files. No configuration or file-format changes. INT8 
vectors, nested vectors, and Lance schema evolution remain out of scope. 
Reading materializes the elements as ArrayData using the existing array 
conversion path.
   
   ### Risk Level
   
   Medium. The change affects Lance array decoding and schema reconstruction. 
Regression coverage includes ordinary arrays and the existing writer tests.
   
   Validation on Flink 2.1: 21 tests passed, with no failures, errors, or 
skipped tests; the Maven reactor and Checkstyle passed.
   
   ```bash
   mvn -Pflink2.1 -pl hudi-flink-datasource/hudi-flink -am \
     
'-Dtest=TestHoodieFlinkLanceArrowUtils,TestLanceRowDataWriter,TestHoodieRowDataLanceReader,ITTestVectorDataSource#testLanceVectorUpsertRead'
 \
     -Dsurefire.failIfNoSpecifiedTests=false -DskipITs -DskipSparkTests 
-DskipScalaTests test
   ```
   
   ### Documentation Update
   
   The Flink VECTOR/Lance support documentation should describe FLOAT/DOUBLE 
vector reads. No documentation changes are included in this PR.
   
   ### Contributor's checklist
   
   - [ ] Read through [contributor's 
guide](https://hudi.apache.org/contribute/how-to-contribute)
   - [x] Enough context is provided in the sections above
   - [x] Adequate tests were added if applicable
   


-- 
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]

Reply via email to