package bloom
Import Path
github.com/parquet-go/parquet-go/bloom (on go.dev)
Dependency Relation
imports 6 packages, and imported by one package
Involved Source Files
block.go
block_amd64.go
Package bloom implements parquet bloom filters.
filter.go
filter_amd64.go
hash.go
block_amd64.s
filter_amd64.s
Package-Level Type Names (total 6)
Block represents bloom filter blocks which contain eight 32 bits words.
Bytes returns b as a byte slice.
(*Block) Check(x uint32) bool
(*Block) Insert(x uint32)
*Block : github.com/apache/arrow-go/v18/internal/hashing.ByteSlice
func SplitBlockFilter.Block(x uint64) *Block
Filter is an interface representing read-only bloom filters where programs
can probe for the possible presence of a hash key.
( Filter) Check(uint64) bool
SplitBlockFilter
Hash is an interface abstracting the hashing algorithm used in bloom filters.
Hash instances must be safe to use concurrently from multiple goroutines.
( Hash) MultiSum64Uint128(dst []uint64, src [][16]byte) int
( Hash) MultiSum64Uint16(dst []uint64, src []uint16) int
( Hash) MultiSum64Uint32(dst []uint64, src []uint32) int
( Hash) MultiSum64Uint64(dst []uint64, src []uint64) int
Compute hashes of the array of fixed size values passed as arguments,
returning the number of hashes written to the destination buffer.
Returns the 64 bit hash of the value passed as argument.
( Hash) Sum64Uint128(value [16]byte) uint64
( Hash) Sum64Uint16(value uint16) uint64
( Hash) Sum64Uint32(value uint32) uint64
( Hash) Sum64Uint64(value uint64) uint64
Compute hashes of individual values of primitive types.
XXH64
func github.com/parquet-go/parquet-go.BloomFilterColumn.Hash() Hash
SplitBlockFilter is an in-memory implementation of the parquet bloom filters.
This type is useful to construct bloom filters that are later serialized
to a storage medium.
Block returns a pointer to the block that the given value hashes to in the
bloom filter.
Bytes converts f to a byte slice.
The returned slice shares the memory of f. The method is intended to be used
to serialize the bloom filter to a storage medium.
Check tests whether x is in f.
Insert adds x to f.
InsertBulk adds all values from x into f.
Reset clears the content of the filter f.
SplitBlockFilter : Filter
SplitBlockFilter : github.com/apache/arrow-go/v18/internal/hashing.ByteSlice
func MakeSplitBlockFilter(data []byte) SplitBlockFilter
Word represents 32 bits words of bloom filter blocks.
XXH64 is an implementation of the Hash interface using the XXH64 algorithm.
( XXH64) MultiSum64Uint128(h []uint64, v [][16]byte) int
( XXH64) MultiSum64Uint16(h []uint64, v []uint16) int
( XXH64) MultiSum64Uint32(h []uint64, v []uint32) int
( XXH64) MultiSum64Uint64(h []uint64, v []uint64) int
( XXH64) MultiSum64Uint8(h []uint64, v []uint8) int
( XXH64) Sum64(b []byte) uint64
( XXH64) Sum64Uint128(v [16]byte) uint64
( XXH64) Sum64Uint16(v uint16) uint64
( XXH64) Sum64Uint32(v uint32) uint64
( XXH64) Sum64Uint64(v uint64) uint64
( XXH64) Sum64Uint8(v uint8) uint64
XXH64 : Hash
Package-Level Functions (total 3)
CheckSplitBlock is similar to bloom.SplitBlockFilter.Check but reads the
bloom filter of n bytes from r.
The size n of the bloom filter is assumed to be a multiple of the block size.
MakeSplitBlockFilter constructs a SplitBlockFilter value from the data byte
slice.
NumSplitBlocksOf returns the number of blocks in a filter intended to hold
the given number of values and bits of filter per value.
This function is useful to determine the number of blocks when creating bloom
filters in memory, for example:
f := make(bloom.SplitBlockFilter, bloom.NumSplitBlocksOf(n, 10))
Package-Level Constants (only one)
BlockSize is the size of bloom filter blocks in bytes.
![]() |
The pages are generated with Golds v0.8.2. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |