XuQianJin-Stars opened a new pull request, #2949:
URL: https://github.com/apache/fluss/pull/2949

   ### Purpose
   
   <!-- Linking this pull request to the issue -->
   Linked issue: close #2403
   
   <!-- What is the purpose of the change -->
   Add Map type support for Lance lake storage. This enables Fluss tables with 
`MAP` columns to be tiered into Lance format.
   
   ### Brief change log
   
   <!-- Please describe the changes made in this pull request and explain how 
they address the issue -->
   
   - **LanceArrowUtils.java**: Added `MapType` to Arrow `Map` type conversion 
in `toArrowField()` and `toArrowType()`. The Arrow Map structure follows the 
standard layout: `Map -> entries(Struct) -> [key, value]`.
   - **ArrowDataConverter.java**: Added `MapVector` data copy logic in 
`copyVectorData()`. The `MapVector` check is placed **before** `ListVector` 
since `MapVector` extends `ListVector`. Added `copyMapVectorData()` method 
which reuses `copyListVectorData()` logic due to shared memory layout.
   - **ShadedArrowBatchWriter.java**: Added `MapVector` initialization logic in 
`initFieldVector()`.
   
   ### Tests
   
   <!-- List UT and IT cases to verify this change -->
   
   - `LanceArrowUtilsTest#testToArrowSchemaWithMapType` - Basic Map type 
conversion
   - `LanceArrowUtilsTest#testToArrowSchemaWithMapOfComplexValueType` - Map 
with Row value type
   - `LanceArrowUtilsTest#testToArrowSchemaWithRowContainingMap` - Nested Row 
containing Map
   - `LanceTieringTest#testTieringWriteTableWithMapType` - Map type write and 
read unit test
   - `LanceTieringITCase#testTieringWithMapType` - End-to-end integration test 
for Map type
   
   ### API and Format
   
   <!-- Does this change affect API or storage format -->
   No API or storage format changes. This only extends the Lance lake storage 
plugin to support an additional Fluss data type (`MAP`).
   
   ### Documentation
   
   <!-- Does this change introduce a new feature -->
   No documentation changes needed. This is an internal enhancement to the 
Lance lake storage plugin.
   


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