通过列内的索引访问 ChunkedArray 的各个元素

问题描述

随机访问 arrow::ChunkedArray 的单个元素(“标量”)的最佳方法是什么,例如用于测试和显示目的?考虑到 Array::GetScalar 由多个块组成,是否有一些与 ChunkedArray 等效的方法

到目前为止我发现的方法一个自己的辅助函数,它像这样“搜索”适当的块(未测试):

std::shared_ptr<arrow::Scalar>
get_scalar(const std::shared_ptr<arrow::ChunkedArray>& chunked_array,int64_t index) {
    auto it = chunked_array->chunks().begin();
    while (index >= (*it)->length()) {
        index -= (*it)->length();
        ++it;
    }
    auto result = (*it)->GetScalar(index);
    if (!result.ok()) {
        return nullptr;
    }
    return result.MoveValueUnsafe();
}

但我想知道是否已经提供了类似的东西,或者有更好的做法吗?

类似适用于 arrow::stl::ArrayIterator - Chunked::Array 是否有等效的迭代器?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...