Hi,
    I'm using Acero as  the stream executor to run large scale data
transformation. The core data used in UDF is `ArraySpan` in
`ExecSpan`, but not much document on ArraySpan. I'd like to known
what's the *three* `buffers` are in ArraySpan. What are `1` means when
`GetValues` called?
    For input data, I can use a `ArraySpanVisitor` to iterator over
different input types. But for output data, I don't know how to write
to the`array_span_mutable()` if it is not a simple c_type.
    For example, I'm implementing a sha256 udf, which input is
`arrow::utf8()` and the output is `arrow::fixed_size_binary(32)`, then
how can I directly write to the out buffers and what is the actual
type should I get from `GetValues`?
    Maybe, `auto *out_values =
out->array_span_mutable()->GetValues(uint8_t *>(1);` and
`memcpy(*out_values++, some_ptr, 32);`?

-- 
---------------------
Best Regards,
Wenbo Hu,

Reply via email to