| 123456789101112131415161718192021222324252627282930313233343536373839 |
- from typing import Generic
- from ray.data.block import Block, BlockAccessor, BlockType, T
- class BlockBuilder(Generic[T]):
- """A builder class for blocks."""
- @staticmethod
- def for_block(block: Block) -> "BlockBuilder":
- return BlockAccessor.for_block(block).builder()
- def add(self, item: T) -> None:
- """Append a single row to the block being built."""
- raise NotImplementedError
- def add_block(self, block: Block) -> None:
- """Append an entire block to the block being built."""
- raise NotImplementedError
- def will_build_yield_copy(self) -> bool:
- """Whether building this block will yield a new block copy."""
- raise NotImplementedError
- def build(self) -> Block:
- """Build the block."""
- raise NotImplementedError
- def num_rows(self) -> int:
- """Return the number of rows added in the block."""
- raise NotImplementedError
- def get_estimated_memory_usage(self) -> int:
- """Return the estimated memory usage so far in bytes."""
- raise NotImplementedError
- def block_type(self) -> BlockType:
- """Return the block type."""
- raise NotImplementedError
|