OoOJoin  0.0.1
The next generation of out-of-order join operator
The classes of dataloader
Collaboration diagram for The classes of dataloader:

Classes

class  OoOJoin::AbstractDataLoader
 The abstract class of dataloader. More...
 
class  OoOJoin::FileDataLoader
 The dataloader which loads data from external csv file. More...
 
class  OoOJoin::ZipfDataLoader
 The dataloader which allows zipf distribution of key, value, event time and arrival skewness. More...
 
class  OoOJoin::RandomDataLoader
 The dataloader which produces random key, random value and random skewness. More...
 

Functions

virtual bool OoOJoin::AbstractDataLoader::setConfig (ConfigMapPtr cfg)
 Set the GLOBAL config map related to this loader. More...
 
virtual bool OoOJoin::AbstractDataLoader::setModConfig (ConfigMapPtr cfg)
 Set the modification config map related to this loader. More...
 
virtual vector< TrackTuplePtrOoOJoin::AbstractDataLoader::getTupleVectorS ()
 get the vector of s tuple More...
 
virtual vector< TrackTuplePtrOoOJoin::AbstractDataLoader::getTupleVectorR ()
 get the vector of R tuple More...
 
void OoOJoin::FileDataLoader::spilt (const std::string s, const std::string &c, vector< std::string > &v)
 
std::vector< TrackTuplePtrOoOJoin::FileDataLoader::loadDataFromCsv (std::string fname, std::string separator=",", std::string newLine="\n")
 load a dataset from csv file More...
 
virtual bool OoOJoin::FileDataLoader::setConfig (ConfigMapPtr cfg)
 Set the GLOBAL config map related to this loader. More...
 
virtual bool OoOJoin::FileDataLoader::setModConfig (ConfigMapPtr cfg)
 Set the modification config map related to this loader. More...
 
virtual vector< TrackTuplePtrOoOJoin::FileDataLoader::getTupleVectorS ()
 get the vector of s tuple More...
 
virtual vector< TrackTuplePtrOoOJoin::FileDataLoader::getTupleVectorR ()
 get the vector of R tuple More...
 
vector< tsTypeOoOJoin::ZipfDataLoader::genArrivalTime (vector< tsType > eventTime, vector< tsType > arrivalSkew)
 
vector< OoOJoin::TrackTuplePtrOoOJoin::ZipfDataLoader::genTuples (vector< keyType > keyS, vector< valueType > valueS, vector< tsType > eventS, vector< tsType > arrivalS)
 
void OoOJoin::ZipfDataLoader::genKey ()
 generate the vector of key More...
 
void OoOJoin::ZipfDataLoader::genValue ()
 enerate the vector of key More...
 
void OoOJoin::ZipfDataLoader::genEvent ()
 generate the vector of event More...
 
void OoOJoin::ZipfDataLoader::genArrival ()
 generate the vector of arrival More...
 
void OoOJoin::ZipfDataLoader::genFinal ()
 generate the final result of s and r
 
virtual bool OoOJoin::ZipfDataLoader::setConfig (ConfigMapPtr cfg)
 Set the GLOBAL config map related to this loader. More...
 
virtual bool OoOJoin::ZipfDataLoader::setModConfig (ConfigMapPtr cfg)
 Set the modification config map related to this loader. More...
 
virtual vector< TrackTuplePtrOoOJoin::ZipfDataLoader::getTupleVectorS ()
 get the vector of s tuple More...
 
virtual vector< TrackTuplePtrOoOJoin::ZipfDataLoader::getTupleVectorR ()
 get the vector of R tuple More...
 

Variables

ConfigMapPtr OoOJoin::FileDataLoader::cfgGlobal
 
vector< TrackTuplePtrOoOJoin::FileDataLoader::sTuple
 
vector< TrackTuplePtrOoOJoin::FileDataLoader::rTuple
 
tsType OoOJoin::ZipfDataLoader::windowLenMs
 
tsType OoOJoin::ZipfDataLoader::timeStepUs
 
tsType OoOJoin::ZipfDataLoader::watermarkTimeMs
 
tsType OoOJoin::ZipfDataLoader::maxArrivalSkewMs
 
tsType OoOJoin::ZipfDataLoader::eventRateKTps
 
uint64_t OoOJoin::ZipfDataLoader::zipfDataLoader_zipfKey
 
uint64_t OoOJoin::ZipfDataLoader::zipfDataLoader_zipfValue
 
uint64_t OoOJoin::ZipfDataLoader::zipfDataLoader_zipfEvent
 
uint64_t OoOJoin::ZipfDataLoader::zipfDataLoader_zipfSkew
 
vector< keyTypeOoOJoin::ZipfDataLoader::keyS
 
vector< keyTypeOoOJoin::ZipfDataLoader::keyR
 
vector< valueTypeOoOJoin::ZipfDataLoader::valueS
 
vector< valueTypeOoOJoin::ZipfDataLoader::valueR
 
vector< tsTypeOoOJoin::ZipfDataLoader::eventS
 
vector< tsTypeOoOJoin::ZipfDataLoader::eventR
 
vector< tsTypeOoOJoin::ZipfDataLoader::arrivalS
 
vector< tsTypeOoOJoin::ZipfDataLoader::arrivalR
 
size_t OoOJoin::ZipfDataLoader::testSize
 
size_t OoOJoin::ZipfDataLoader::keyRange
 
size_t OoOJoin::ZipfDataLoader::valueRange
 
double OoOJoin::ZipfDataLoader::zipfDataLoader_zipfKeyFactor
 
double OoOJoin::ZipfDataLoader::zipfDataLoader_zipfValueFactor
 
double OoOJoin::ZipfDataLoader::zipfDataLoader_zipfEventFactor
 
double OoOJoin::ZipfDataLoader::zipfDataLoader_zipfSkewFactor
 
MicroDataSet OoOJoin::ZipfDataLoader::md
 
ConfigMapPtr OoOJoin::ZipfDataLoader::cfgGlobal
 
vector< TrackTuplePtrOoOJoin::ZipfDataLoader::sTuple
 
vector< TrackTuplePtrOoOJoin::ZipfDataLoader::rTuple
 
typedef std::shared_ptr< class AbstractDataLoaderOoOJoin::AbstractDataLoaderPtr
 The class to describe a shared pointer to AbstractDataLoader.
 
#define newAbstractDataLoader   std::make_shared<OoOJoin::AbstractDataLoader>
 (Macro) To creat a new AbstractDataLoader under shared pointer.
 
typedef std::shared_ptr< class FileDataLoaderOoOJoin::FileDataLoaderPtr
 The class to describe a shared pointer to FileDataLoader.
 
#define newFileDataLoader   std::make_shared<OoOJoin::FileDataLoader>
 (Macro) To creat a new FileDataLoader under shared pointer.
 
typedef std::shared_ptr< class ZipfDataLoaderOoOJoin::ZipfDataLoaderPtr
 The class to describe a shared pointer to ZipfDataLoader.
 
#define newZipfDataLoader   std::make_shared<OoOJoin::ZipfDataLoader>
 (Macro) To creat a new ZipfDataLoader under shared pointer.
 
typedef std::shared_ptr< class RandomDataLoaderOoOJoin::RandomDataLoaderPtr
 The class to describe a shared pointer to RandomDataLoader.
 
#define newRandomDataLoader   std::make_shared<OoOJoin::RandomDataLoader>
 (Macro) To creat a new RandomDataLoader under shared pointer.
 

Detailed Description

Function Documentation

◆ genArrival()

void ZipfDataLoader::genArrival ( )
protected

generate the vector of arrival

use zipf for event

◆ genEvent()

void ZipfDataLoader::genEvent ( )
protected

generate the vector of event

use zipf for event

◆ genKey()

void ZipfDataLoader::genKey ( )
protected

generate the vector of key

use zipf for key

◆ genValue()

void ZipfDataLoader::genValue ( )
protected

enerate the vector of key

use zipf for value

◆ getTupleVectorR() [1/3]

virtual vector<TrackTuplePtr> OoOJoin::AbstractDataLoader::getTupleVectorR ( )
inlinevirtual

get the vector of R tuple

Returns
the vector

Reimplemented in OoOJoin::ZipfDataLoader, OoOJoin::RandomDataLoader, and OoOJoin::FileDataLoader.

◆ getTupleVectorR() [2/3]

vector< TrackTuplePtr > FileDataLoader::getTupleVectorR ( )
virtual

get the vector of R tuple

Returns
the vector

Reimplemented from OoOJoin::AbstractDataLoader.

◆ getTupleVectorR() [3/3]

vector< TrackTuplePtr > ZipfDataLoader::getTupleVectorR ( )
virtual

get the vector of R tuple

Returns
the vector

Reimplemented from OoOJoin::AbstractDataLoader.

◆ getTupleVectorS() [1/3]

virtual vector<TrackTuplePtr> OoOJoin::AbstractDataLoader::getTupleVectorS ( )
inlinevirtual

get the vector of s tuple

Returns
the vector

Reimplemented in OoOJoin::ZipfDataLoader, OoOJoin::RandomDataLoader, and OoOJoin::FileDataLoader.

◆ getTupleVectorS() [2/3]

vector< TrackTuplePtr > FileDataLoader::getTupleVectorS ( )
virtual

get the vector of s tuple

Returns
the vector

Reimplemented from OoOJoin::AbstractDataLoader.

◆ getTupleVectorS() [3/3]

vector< TrackTuplePtr > ZipfDataLoader::getTupleVectorS ( )
virtual

get the vector of s tuple

Returns
the vector

Reimplemented from OoOJoin::AbstractDataLoader.

◆ loadDataFromCsv()

std::vector< TrackTuplePtr > OoOJoin::FileDataLoader::loadDataFromCsv ( std::string  fname,
std::string  separator = ",",
std::string  newLine = "\n" 
)
protected

load a dataset from csv file

Parameters
fnameThe name of file
separatorThe separator in .csv, default is ","
newLineTHe indicator of a new line. default is "\n"
Returns
The vector of TrackTuplePtr

header is of << "key,value,eventTime,arrivalTime,processedTime\n"; should read the first line

Note
parase the first row here
deciding the valid rows

re-open file

jump the header,

◆ setConfig() [1/3]

virtual bool OoOJoin::AbstractDataLoader::setConfig ( ConfigMapPtr  cfg)
inlinevirtual

Set the GLOBAL config map related to this loader.

Parameters
cfgThe config map
Returns
bool whether the config is successfully set

Reimplemented in OoOJoin::ZipfDataLoader, OoOJoin::RandomDataLoader, and OoOJoin::FileDataLoader.

◆ setConfig() [2/3]

bool FileDataLoader::setConfig ( ConfigMapPtr  cfg)
virtual

Set the GLOBAL config map related to this loader.

Parameters
cfgThe config map
Returns
bool whether the config is successfully set

Reimplemented from OoOJoin::AbstractDataLoader.

◆ setConfig() [3/3]

bool ZipfDataLoader::setConfig ( ConfigMapPtr  cfg)
virtual

Set the GLOBAL config map related to this loader.

Parameters
cfgThe config map
Returns
bool whether the config is successfully set

load some common settings

Reimplemented from OoOJoin::AbstractDataLoader.

◆ setModConfig() [1/3]

virtual bool OoOJoin::AbstractDataLoader::setModConfig ( ConfigMapPtr  cfg)
inlinevirtual

Set the modification config map related to this loader.

Parameters
cfgThe config map
Returns
bool whether the config is successfully set

Reimplemented in OoOJoin::ZipfDataLoader, OoOJoin::RandomDataLoader, and OoOJoin::FileDataLoader.

◆ setModConfig() [2/3]

virtual bool OoOJoin::FileDataLoader::setModConfig ( ConfigMapPtr  cfg)
inlinevirtual

Set the modification config map related to this loader.

Parameters
cfgThe config map
Returns
bool whether the config is successfully set

Reimplemented from OoOJoin::AbstractDataLoader.

◆ setModConfig() [3/3]

virtual bool OoOJoin::ZipfDataLoader::setModConfig ( ConfigMapPtr  cfg)
inlinevirtual

Set the modification config map related to this loader.

Parameters
cfgThe config map
Returns
bool whether the config is successfully set

Reimplemented from OoOJoin::AbstractDataLoader.