我目前正在编写一些代码来将任意数据结构转换为 Apache Arrow 向量,但陷入了一些相对简单的问题,即如何将 abyte[]写入ListVector.
ListVector当通过 a向 a 写入数据时BaseWriter.ListWriter,可以非常轻松地添加原始类型 \xe2\x80\x93 即,writer.integer().writeInt(i)或writer.float4().writeFloat4(f)。
然而,对于像字节(或字符串)这样的可变长度类型,只剩下具有类似于以下签名的方法:
\n\npublic void write(VarBinaryHolder h);\n\npublic void writeVarBinary(int start, int end, ArrowBuf buffer);\nRun Code Online (Sandbox Code Playgroud)\n\n作为VarBinaryHolder一个简单生成的包装类,ArrowBuf甚至没有构造函数。
我期待与VarBinaryVector提供的内容类似的东西,它有一个Mutator完全setSafe(int index, byte[] bytes)符合预期的方法。
此外,似乎没有直接的方法将字节数组包装到 an 中ArrowBuf,我看到的唯一方法是将数据写入新的VarBinaryVector并随后获取底层ArrowBuf。
所以,我的审讯是:
\n\n1 AVarBinaryVector适合简单的情况,但我也希望能够嵌套列表。此外,列表包含多种类型的能力也很有用。
| 归档时间: |
|
| 查看次数: |
960 次 |
| 最近记录: |