alamb opened a new issue, #8083:
URL: https://github.com/apache/arrow-rs/issues/8083

   **Is your feature request related to a problem or challenge? Please describe 
what you are trying to do.**
   - part of https://github.com/apache/arrow-rs/issues/6736
   
   **Note this is likely one of the most complex parts of implementing Shredded 
Variants , so it is not a good first task**
   
   We introduced the basic `variant_get` kernel in and now we need to expand 
its feature set
   - https://github.com/apache/arrow-rs/pull/8021
   
   In particular, Shredded Objects 
   * [Representing Variant In Arrow Proposal: "Shredding an 
Object"](https://docs.google.com/document/d/1pw0AWoMQY3SjD7R4LgbPvMjG_xSCtXp3rZHkVp9jpZ4/edit?tab=t.0#heading=h.wediefuitb91)
   *  [Variant 
Shredding::Objects](https://github.com/apache/parquet-format/blob/master/VariantShredding.md#objects)
   
   
   **Describe the solution you'd like**
   I would like `variant_get` to support shredded objects, along with being 
able to extract elements from them. 
   
   So roughly that means
   ```rust
   // get the named field of variant object as a Variant
   variant_get(array, "$.field_name")
   // get the named field of variant object as a typed field 
   variant_get(array, "$.field_name", DataType::Int)
   ```
   
   This should work for:
   1. Variants where the field_name is in a typed_value 
   2. Variants where the field_name is not in the typed value
   
   **Describe alternatives you've considered**
   1. Add a test that manually constructs a shredded variant array (follow the 
example in the arrow proposal)
   2. Add a test that calls variant_get appropriately
   3. Implement the code
   
   I suggest getting this working for non-nested obejcts first, and then 
working on nesting / pathing as a second pR
   
   
   **Additional context**
   Reference
   - [Variant 
Spec](https://github.com/apache/parquet-format/blob/master/VariantEncoding.md#encoding-types)
   - [Variant Shredding 
Spec](https://github.com/apache/parquet-format/blob/master/VariantShredding.md#value-shredding)
   - [Representing Variant In Arrow 
Proposal](https://docs.google.com/document/d/1pw0AWoMQY3SjD7R4LgbPvMjG_xSCtXp3rZHkVp9jpZ4)


-- 
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: github-unsubscr...@arrow.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to