libfaster API Documentation  Development Version
Super fast distributted computing
ByKey Operator Variants

Description

A variant of original operators that groups entries by key to be processed.

ByKey operators use user functions that can access multiple entries of the same corresponding key U F(K, vector<void*>, size_t).

Parameters
K- Key type of the created dataset
T- Value type of the source dataset
L- Key type of the created dataset
U- Value type of the created dataset
funcP- A function pointer of a user function U F(K, vector<void*>, size_t) that will be used on each dataset entry
Returns
A pointer to a new dataset

Functions

template<typename To >
fdd< To > * faster::groupedFdd< K >::mapByKey (mapByKeyG3FunctionP< K, To > funcP)
 
template<typename L , typename U >
indexedFdd< L, U > * faster::indexedFdd< K, T >::mapByKey (ImapByKeyIFunctionP< K, T, L, U > funcP)
 creates a indexedFdd<L,U>
 
template<typename L , typename U >
indexedFdd< L, U > * faster::indexedFdd< K, T >::mapByKey (IPmapByKeyIFunctionP< K, T, L, U > funcP)
 creates a indexedFdd<L,U*>
 
template<typename L , typename U >
fdd< U > * faster::indexedFdd< K, T >::mapByKey (mapByKeyIFunctionP< K, T, U > funcP)
 creates a fdd<U>
 
template<typename L , typename U >
fdd< U > * faster::indexedFdd< K, T >::mapByKey (PmapByKeyIFunctionP< K, T, U > funcP)
 creates a fdd<U *>
 

Typedefs

template<typename K , typename T >
using faster::updateByKeyIFunctionP = void(*)(K &inKey, std::vector< T * > &input)
 
template<typename K , typename T , typename L , typename U >
using faster::ImapByKeyIFunctionP = std::pair< L, U >(*)(const K &inKey, std::vector< T * > &input)
 
template<typename K , typename T , typename U >
using faster::mapByKeyIFunctionP = U(*)(const K &inKey, std::vector< T * > &input)
 
template<typename K , typename T , typename L , typename U >
using faster::IPmapByKeyIFunctionP = std::tuple< L, U, size_t >(*)(const K &inKey, std::vector< T * > &input)
 
template<typename K , typename T , typename U >
using faster::PmapByKeyIFunctionP = std::pair< U, size_t >(*)(const K &inKey, std::vector< T * > &input)
 
template<typename K , typename T >
using faster::IreduceByKeyIFunctionP = std::pair< K, T >(*)(const K &keyA, T *a, size_t sizeA, const K &keyB, T *b, size_t sizeB)
 
template<typename K , typename T , typename L , typename U >
using faster::ImapByKeyIPFunctionP = std::pair< L, U >(*)(const K &inKey, std::vector< std::pair< T *, size_t >>)
 
template<typename K , typename T , typename U >
using faster::mapByKeyIPFunctionP = U(*)(const K &inKey, std::vector< std::pair< T *, size_t >>)
 
template<typename K , typename T , typename L , typename U >
using faster::IPmapByKeyIPFunctionP = std::tuple< L, U, size_t >(*)(const K &inKey, std::vector< std::pair< T *, size_t >>)
 
template<typename K , typename T , typename U >
using faster::PmapByKeyIPFunctionP = std::pair< U, size_t >(*)(const K &inKey, std::vector< std::pair< T *, size_t >>)
 
template<typename K , typename T >
using faster::IPreduceByKeyIPFunctionP = std::tuple< K, T *, size_t >(*)(K keyA, T **a, size_t *dataSizesA, size_t sizeA, K keyB, T **b, size_t *dataSizesB, size_t sizeB)
 
template<typename K >
using faster::updateByKeyG2FunctionP = void(*)(const K &key, std::vector< void * > &a, std::vector< void * > &b)
 
template<typename K >
using faster::updateByKeyG3FunctionP = void(*)(const K &key, std::vector< void * > &a, std::vector< void * > &b, std::vector< void * > &c)
 
template<typename K , typename To >
using faster::flatMapByKeyG2FunctionP = std::deque< To >(*)(const K &key, std::vector< void * > &a, std::vector< void * > &b)
 
template<typename K , typename To >
using faster::flatMapByKeyG3FunctionP = std::deque< To >(*)(const K &key, std::vector< void * > &a, std::vector< void * > &b, std::vector< void * > &c)
 
template<typename K , typename Ko , typename To >
using faster::IflatMapByKeyG2FunctionP = std::deque< std::pair< Ko, To >>(*)(const K &key, std::vector< void * > &a, std::vector< void * > &b)
 
template<typename K , typename Ko , typename To >
using faster::IflatMapByKeyG3FunctionP = std::deque< std::pair< Ko, To >>(*)(const K &key, std::vector< void * > &a, std::vector< void * > &b, std::vector< void * > &c)