Documentation ¶
Overview ¶
Package zst implements the reading and writing of ZST storage objects to and from any Zed format. The ZST storage format is described at https://github.com/brimdata/zed/blob/main/docs/formats/zst.md.
A ZST storage object must be seekable (e.g., a local file or S3 object), so, unlike ZNG, streaming of ZST objects is not supported.
The zst/column package handles reading and writing row data to columns, while the zst package comprises the API used to read and write ZST objects.
An Object provides the interface to the underlying storage object. To generate rows or cuts (and in the future more sophisticated traversals and introspection), an Assembly is created from the Object then zng records are read from the assembly, which implements zio.Reader. The Assembly keeps track of where each column is, which is why you need a separate Assembly per scan.
You can have multiple Assembly's referring to one Object as once an object is created, it's state never changes. That said, each assembly will issue reads to the underlying storage object and the read pattern may create performance issues.
Index ¶
- Constants
- Variables
- type Assembler
- type Assembly
- type CutAssembler
- type FileMeta
- type Object
- type Reader
- func NewCutter(object *Object, fields []string) (*Reader, error)
- func NewCutterFromPath(ctx context.Context, zctx *zed.Context, engine storage.Engine, path string, ...) (*Reader, error)
- func NewReader(object *Object) (*Reader, error)
- func NewReaderFromPath(ctx context.Context, zctx *zed.Context, engine storage.Engine, path string) (*Reader, error)
- func NewReaderFromSeeker(zctx *zed.Context, seeker *storage.Seeker) (*Reader, error)
- type Writer
- type WriterURI
Constants ¶
const ( FileType = "zst" Version = 2 )
const ( MaxSegmentThresh = column.MaxSegmentThresh MaxSkewThresh = 512 * 1024 * 1024 )
Variables ¶
var ErrBadTypeNumber = errors.New("bad type number in ZST root reassembly map")
Functions ¶
This section is empty.
Types ¶
type Assembler ¶
type Assembler struct {
// contains filtered or unexported fields
}
Assembler reads a columnar ZST object to generate a stream of zed.Values. It also has methods to read metadata for test and debugging.
type CutAssembler ¶
type CutAssembler struct {
// contains filtered or unexported fields
}
func NewCutAssembler ¶
type Object ¶
type Object struct {
// contains filtered or unexported fields
}
func NewObjectFromPath ¶
func NewObjectFromSeeker ¶
func (*Object) NewReassemblyReader ¶
type Reader ¶
Reader implements zio.Reader and io.Closer. It reads a columnar zst object to generate a stream of zed.Records. It also has methods to read metainformation for test and debugging.
func NewCutterFromPath ¶
func NewReader ¶
NewReader returns a Reader ready to read a zst object as zed.Records. Close() should be called when done. This embeds a zst.Object.
func NewReaderFromPath ¶
type Writer ¶
type Writer struct {
// contains filtered or unexported fields
}
Writer implements the zio.Writer interface. A Writer creates a columnar zst object from a stream of zed.Records.