抽象
只读
children只读
finished一个布尔值,指示是否已在此 Builder
上调用 Builder.prototype.finish()
。
只读
length写入 Builder
尚未刷新的值的数量。
可选
只读
空值此 Builder
的空值标记列表。当其中一个值被写入 Builder
(通过 Builder.prototype.set()
或 Builder.prototype.append()
)时,一个 1 位将被写入此 Builder 底层的空 BitmapBufferBuilder。
只读
步长底层 values TypedArray 中表示单个逻辑元素的元素数量,由该 Builder 的 DataType
决定。对于大多数类型,该值为 1,但当 DataType
为 Int64
、Uint64
、Decimal
、DateMillisecond
、某些 Interval
变体、Time
或 Timestamp
、FixedSizeBinary
和 FixedSizeList
时,该值更大。
只读
类型Builder 的 DataType
实例。
已写入值的总长度(以字节为单位)。
已预留用于写入新值的总长度(以字节为单位)。
已预留用于写入新值的总行数。
一个用于从任意 JavaScript 值构造 Arrow 向量的抽象基类。
Builder
负责根据每种数据类型的 Arrow 规范将任意 JavaScript 值写入 ArrayBuffers 和/或子构建器,并根据需要创建或调整底层 ArrayBuffers 的大小。每种 Arrow
DataType
的Builder
负责转换和追加给定DataType
的值。高级makeBuilder()
便捷方法会为提供的DataType
创建特定的Builder
子类。创建后,
Builder
实例支持将值追加到Builder
的末尾,以及对特定索引进行随机访问写入(Builder.prototype.append(value)
是builder.set(builder.length, value)
的便捷方法)。 在构建器的当前长度之外追加或设置值可能会导致构建器扩展其底层缓冲区或子构建器(如果适用)以容纳新值。将足够的值写入
Builder
后,Builder.prototype.flush()
会将值提交到底层 ArrayBuffers(或子构建器)。内部构建器状态将重置,并返回Data<T>
的实例。或者,Builder.prototype.toVector()
将刷新Builder
并返回Vector<T>
的实例。当没有更多值要写入时,使用
Builder.prototype.finish()
来完成Builder
。这不会重置内部状态,因此如果仍然有值排队等待刷新,则需要最后一次调用Builder.prototype.flush()
或toVector()
。注意:使用
DictionaryBuilder
时,必须调用Builder.prototype.finish()
,因为这是它刷新在其内部字典的Builder
中排队的值并为Dictionary
DataType
创建dictionaryVector
的时候。示例
类型参数
T 此
Builder
的DataType
。类型参数
TNull 将被视为空值标记的值的类型。