#include "utils/TeraSort.h" #include "utils/type.h" #include "triple.h" double sampRate=0.001; class TripleSort:public TeraWorker { char* tmp; public: TripleSort():TeraWorker(sampRate, false){ tmp = new char[TRIPLE_STRBUF_SIZE]; } ~TripleSort() {delete tmp;} virtual TeraItem* toVertex(char* line) { TeraItem* v=new TeraItem; v->content=line; statement o; o.parseTriple(line); v->key+=o.subject; return v; } virtual void toline(TeraItem* v) { sprintf(tmp, "%s\n", v->content.c_str()); write(tmp); } }; int main(int argc, char* argv[]){ WorkerParams param; param.input_path="/dblp_nt"; param.output_path="/dblp_sorted"; param.force_write=true; param.native_dispatcher=false; TripleSort worker; worker.run(param); return 0; }