arrowbased

package
v0.0.0-...-3e647be Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 2, 2023 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewArrowRecordIterator

func NewArrowRecordIterator(ctx context.Context, rpi rowscanner.ResultPageIterator, bi BatchIterator, arrowSchemaBytes []byte, cfg config.Config) rows.ArrowBatchIterator

func NewArrowRowScanner

func NewArrowRowScanner(resultSetMetadata *cli_service.TGetResultSetMetadataResp, rowSet *cli_service.TRowSet, cfg *config.Config, logger *dbsqllog.DBSQLLogger, ctx context.Context) (rowscanner.RowScanner, dbsqlerr.DBError)

NewArrowRowScanner returns an instance of RowScanner which handles arrow format results

func NewCloudBatchLoader

func NewCloudBatchLoader(ctx context.Context, files []*cli_service.TSparkArrowResultLink, startRowOffset int64, cfg *config.Config) (*batchLoader[*cloudURL], dbsqlerr.DBError)

func NewLocalBatchLoader

func NewLocalBatchLoader(ctx context.Context, batches []*cli_service.TSparkArrowBatch, startRowOffset int64, arrowSchemaBytes []byte, cfg *config.Config) (*batchLoader[*localBatch], dbsqlerr.DBError)

Types

type BatchIterator

type BatchIterator interface {
	Next() (SparkArrowBatch, error)
	HasNext() bool
	Close()
}

func NewBatchIterator

func NewBatchIterator(batchLoader BatchLoader) (BatchIterator, dbsqlerr.DBError)

type BatchLoader

type BatchLoader interface {
	rowscanner.Delimiter
	GetBatchFor(recordNum int64) (SparkArrowBatch, dbsqlerr.DBError)
	Close()
}

type RowValues

type RowValues interface {
	rowscanner.Delimiter
	Close()
	NColumns() int
	SetColumnValues(columnIndex int, values arrow.ArrayData) error
	IsNull(columnIndex int, rowNumber int64) bool
	Value(columnIndex int, rowNumber int64) (any, error)
	SetDelimiter(d rowscanner.Delimiter)
}

Abstraction for holding the values for a set of rows

func NewRowValues

func NewRowValues(d rowscanner.Delimiter, holders []columnValues) RowValues

type SparkArrowBatch

type SparkArrowBatch interface {
	rowscanner.Delimiter
	Next() (SparkArrowRecord, error)
	HasNext() bool
	Close()
}

Abstraction for a set of arrow records

type SparkArrowRecord

type SparkArrowRecord interface {
	rowscanner.Delimiter
	arrow.Record
}

Abstraction for an arrow record

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL