21 lines
672 B
C
21 lines
672 B
C
#ifndef __mapreduce_h__
|
|
#define __mapreduce_h__
|
|
|
|
// Different function pointer types used by MR
|
|
typedef char *(*Getter)(char *key, int partition_number);
|
|
typedef void (*Mapper)(char *file_name);
|
|
typedef void (*Reducer)(char *key, Getter get_func, int partition_number);
|
|
typedef unsigned long (*Partitioner)(char *key, int num_partitions);
|
|
|
|
// External functions: these are what you must define
|
|
void MR_Emit(char *key, char *value);
|
|
|
|
unsigned long MR_DefaultHashPartition(char *key, int num_partitions);
|
|
|
|
void MR_Run(int argc, char *argv[],
|
|
Mapper map, int num_mappers,
|
|
Reducer reduce, int num_reducers,
|
|
Partitioner partition);
|
|
|
|
#endif // __mapreduce_h__
|