Contents | |
---|---|
bfilter | Contains the definition of the Bloom Filter operation and its implementations (algorithm parallelbfilter, and primitive bfilter). |
BFILTER | Encodes the Bloom Filter operation, that filters a stream based on a Bloom bitmap. |
parallelbfilter | Parallel implementation of the Bloom Filter operation. |
bfilter | Primitive implementation of the Bloom Filter operation. |
bloom | Contains the definition of the Bloom operation and its implementations (algorithm parallelbloom, and primitive bloom). |
BLOOM | Encodes the Bloom operation, that creates a Bloom bitmap from a stream of tuples. |
parallelbloom | Parallel implementation of the Bloom operation. |
bloom | Primitive implementation of the Bloom operation. |
hjoin | Contains the definition of the Hash Join operation and its implementations (algorithms bloomfilterhjoin and parallelhjoin, and primitive hjoin). |
HJOIN | Encodes the Hash Join (natural join) operation. |
bloomfilterhjoin | Implementation of the Hash Join operation, that starts by building a bloom filter for input stream A, and then filters input stream B before applying the Hash Join operation to both streams. |
parallelhjoin | Parallel implementation of the Hash Join operation. |
hjoin | Primitive implementation of the Hash Join operation. |
m-merge-split | Contains the definition of the Bitmap Split and Bitmap Merge operations, their implementations (primitives msplit" and "mmerge"), and their optimizations. |
MMERGE | Encodes the Bitmap Merge operation, that merges several bitmaps into a single one. |
pmmerge | Primitive implementation of the Bitmap merge operation. |
MMERGESPLIT | Encodes Bitmap Merge-Hash Split operation that receives an array of bitmaps, and returns the same array of bitmaps. |
mms_mmergemsplit | Implementation of the Bitmap Merge-Hash Split operation, that starts by merging the input bitmaps, and then splits the resulting bitmap. |
mms_identity | Implementation of the Bitmap Merge-Hash Split operation as the identity. |
MSPLIT | Encodes the Bitmap Split operation, that splits a Bloom bitmap. |
pmsplit | Primitive implementation of the Bitmap Split operation. |
merge-hsplit | Contains the definition of the Hash Split and Merge operations, their implementations (primitives hsplit and merge), and their optimizations. |
HSPLIT | Encodes the Hash Split operation, that splits a stream based on an hash function. |
phsplit | Primitive implementation of the Hash Split operation. |
MERGE | Encodes the Merge operation, that merges several streams into a single one. |
pmerge | Primitive implementation of the Merge operation. |
MERGEHSPLIT | Encodes the Merge-Hash Split operation, that receives an array of streams of tuples, and returns another array of streams, where the input tuples were split according to an hash function. |
ms_mergehsplit | Implementation of the Merge-Hash Split operation, that starts by merging the input streams, and then splits the resulting stream. |
ms_identity | Implementation of the Merge-Hash Split operation as the identity (possible when the array of input streams is already "correctly" split). |
ms_hsplitmerge | Implementation of the Merge-Hash Split operation, that starts by splitting each input stream (in parallel), and then merges all sub-streams for that have the same hash value. |
MERGESPLIT | Encodes the Merge-Hash Split operation, that receives an array of streams of tuples, and returns another array of streams, where the input tuples were split according to an hash function. |
ms_splitmerge | Implementation of the Merge-Hash Split operation, that starts by splitting each input stream (in parallel), and then merges all sub-streams that have the same hash value. |
ms_mergesplit | Implementation of the Merge-Hash Split operation, that starts by merging the input streams, and then splits the resulting stream. |
Contains the definition of the Bloom Filter operation and its implementations (algorithm parallelbfilter, and primitive bfilter).
(A : Relation) = BFILTER(A : Relation, M : BitMap, BFilterKey : String)
Encodes the Bloom Filter operation, that filters a stream based on a Bloom bitmap.
Its additional parameter represents the attribute that is to be used as hash key when filtering the stream.
(A : Relation) = parallelbfilter(A : Relation, M : BitMap, BFilterKey : String)
Parallel implementation of the Bloom Filter operation. The input stream is split (using an hash function), as well as the Bloom bitmap. Then they are processed in parallel, and finally the result of the different BFilter operations are merged.
(A : Relation) = bfilter(A : Relation, M : BitMap, BFilterKey : String)
Primitive implementation of the Bloom Filter operation.
Contains the definition of the Bloom operation and its implementations (algorithm parallelbloom, and primitive bloom).
(A : Relation, M : BitMap) = BLOOM(A : Relation, BloomKey : String)
Encodes the Bloom operation, that creates a Bloom bitmap from a stream of tuples.
Its additional parameter represents the attribute that is to be used as hash key when creating the bitmap.
(A : Relation, M : BitMap) = parallelbloom(A : Relation, BloomKey : String)
Parallel implementation of the Bloom operation. The input stream is split (using an hash function), then they are processed in parallel, and finally the results of the different Bloom operations are merged.
(A : Relation, M : BitMap) = bloom(A : Relation, BloomKey : String)
Primitive implementation of the Bloom operation.
Contains the definition of the Hash Join operation and its implementations (algorithms bloomfilterhjoin and parallelhjoin, and primitive hjoin).
(AB : Relation) = HJOIN(A : Relation, B : Relation, JoinKeyA : String, JoinKeyB : String)
Encodes the Hash Join (natural join) operation.
Its additional parameters represent the attributes that are to be used as join keys.
(AB : Relation) = bloomfilterhjoin(A : Relation, B : Relation, JoinKeyA : String, JoinKeyB : String)
Implementation of the Hash Join operation, that starts by building a bloom filter for input stream A, and then filters input stream B before applying the Hash Join operation to both streams.
(AB : Relation) = parallelhjoin(A : Relation, B : Relation, JoinKeyA : String, JoinKeyB : String)
Parallel implementation of the Hash Join operation. Each input stream is split (using an hash function), then they are joined in parallel, and finally the result of the different Hash Joins are merged.
(AB : Relation) = hjoin(A : Relation, B : Relation, JoinKeyA : String, JoinKeyB : String)
Primitive implementation of the Hash Join operation.
Contains the definition of the Bitmap Split and Bitmap Merge operations, their implementations (primitives msplit" and "mmerge"), and their optimizations.
(M : BitMap) = MMERGE(M[N] : BitMap[])
Encodes the Bitmap Merge operation, that merges several bitmaps into a single one.
(M : BitMap) = pmmerge(M[N] : BitMap[])
Primitive implementation of the Bitmap merge operation.
(M[N] : BitMap[]) = MMERGESPLIT(M[N] : BitMap[])
Encodes Bitmap Merge-Hash Split operation that receives an array of bitmaps, and returns the same array of bitmaps.
(M[N] : BitMap[]) = mms_mmergemsplit(M[N] : BitMap[])
Implementation of the Bitmap Merge-Hash Split operation, that starts by merging the input bitmaps, and then splits the resulting bitmap.
(M[N] : BitMap[]) = mms_identity(M[N] : BitMap[])
Implementation of the Bitmap Merge-Hash Split operation as the identity.
Contains the definition of the Hash Split and Merge operations, their implementations (primitives hsplit and merge), and their optimizations.
(A[N] : Relation[]) = HSPLIT(A : Relation, SplitKey : String)
Encodes the Hash Split operation, that splits a stream based on an hash function.
Its additional parameter represents the attribute to be used to choose the output stream.
(A[N] : Relation[]) = phsplit(A : Relation, SplitKey : String)
Primitive implementation of the Hash Split operation.
(A : Relation) = MERGE(A[N] : Relation[])
Encodes the Merge operation, that merges several streams into a single one.
(A : Relation) = pmerge(A[N] : Relation[])
Primitive implementation of the Merge operation.
(A[N] : Relation[]) = MERGEHSPLIT(A[N] : Relation[], SplitKey : String)
Encodes the Merge-Hash Split operation, that receives an array of streams of tuples, and returns another array of streams, where the input tuples were split according to an hash function. The number of output streams is equal to the number of input streams.
Its additional parameter represents the attribute to be used when splitting the streams.
(A[N] : Relation[]) = ms_mergehsplit(A[N] : Relation[], SplitKey : String)
Implementation of the Merge-Hash Split operation, that starts by merging the input streams, and then splits the resulting stream.
(A[N] : Relation[]) = ms_identity(A[N] : Relation[], SplitKey : String)
Implementation of the Merge-Hash Split operation as the identity (possible when the array of input streams is already "correctly" split).
(A[N] : Relation[]) = ms_hsplitmerge(A[N] : Relation[], SplitKey : String)
Implementation of the Merge-Hash Split operation, that starts by splitting each input stream (in parallel), and then merges all sub-streams for that have the same hash value.
(A[M] : Relation[]) = MERGESPLIT(A[N] : Relation[], SplitKey : String)
Encodes the Merge-Hash Split operation, that receives an array of streams of tuples, and returns another array of streams, where the input tuples were split according to an hash function.
Its additional parameter represents the attribute to be used when splitting the streams.
(A[M] : Relation[]) = ms_splitmerge(A[N] : Relation[], SplitKey : String)
Implementation of the Merge-Hash Split operation, that starts by splitting each input stream (in parallel), and then merges all sub-streams that have the same hash value.
(A[M] : Relation[]) = ms_mergesplit(A[N] : Relation[], SplitKey : String)
Implementation of the Merge-Hash Split operation, that starts by merging the input streams, and then splits the resulting stream.