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]
