thswlsqls opened a new issue, #9078: URL: https://github.com/apache/paimon/issues/9078
**Search before asking** - [x] I searched in the [issues](https://github.com/apache/paimon/issues) and found nothing similar. **Paimon version** master @ a5e87ebf6 (2.1-SNAPSHOT) **Compute Engine** Hive **Minimal reproduce step** Create a Paimon table with a `MULTISET<STRING>` column, then insert one row from Hive: ```sql INSERT INTO t SELECT 1, map('apple', 2); ``` `PaimonSerDe.initialize()` succeeds — the object inspector is `struct<id:int,tags:map<string,int>>`, because #8949 added `case MULTISET:` to `PaimonObjectInspectorFactory`. The first `serialize()` call then fails: ``` java.lang.ClassCastException: StandardMapObjectInspector cannot be cast to PrimitiveObjectInspector at org.apache.paimon.hive.HiveDeserializer$DeserializerVisitor.lambda$primitive$0(HiveDeserializer.java:117) ``` `SchemaVisitor.visit()` (SchemaVisitor.java line 56-96) branches on `ROW`, `ARRAY` and `MAP` only, so `MULTISET` falls through to `default: return visitor.primitive(type, partner)`. **What doesn't meet your expectations?** Expected: the row is written, as reading the same column already works. Actual: reads work but every write of a multiset column throws. **Anything else?** Fix: visit `MULTISET` as `MapType(elementType, IntType)` — the mapping `PaimonObjectInspectorFactory` already uses on the read side (#8949). **Are you willing to submit a PR?** - [x] I'm willing to submit a PR! -- 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]
