public override void main() { Trace.WriteLine(Rank + ": MAP FUNCTION IDENTITY #1 " + Output_data.Instance.GetType()); IIteratorInstance <IKVPair <OMK, OMV> > output = (IIteratorInstance <IKVPair <OMK, OMV> >)Output_data.Instance; object test = Output_data.createItem(); Trace.WriteLine(Rank + ": MAP FUNCTION IDENTITY #3" + test.GetType()); IKVPairInstance <IMK, IMV> kvpair = (IKVPairInstance <IMK, IMV>)Output_data.createItem(); Trace.WriteLine(Rank + ": MAP FUNCTION IDENTITY #4" + " - " + Input_key.Instance.GetType()); kvpair.Key = Input_key.Instance; kvpair.Value = Input_value.Instance; output.put(kvpair); }
public override void main() { IStringInstance input = (IStringInstance)Input_value.Instance; IIteratorInstance <IKVPair <IString, IString> > output = (IIteratorInstance <IKVPair <IString, IString> >)Output_data.Instance; if (!input.Value.Equals("")) { string[] words = input.Value.Split(' '); IKVPairInstance <IString, IString> kvpair = (IKVPairInstance <IString, IString>)Output_data.createItem(); ((IStringInstance)kvpair.Key).Value = words [0]; ((IStringInstance)kvpair.Value).Value = words [1] + " " + words [2]; output.put(kvpair); if (!words [1].Equals("c") && !words [1].Equals("d")) { IKVPairInstance <IString, IString> kvpair2 = (IKVPairInstance <IString, IString>)Output_data.createItem(); ((IStringInstance)kvpair2.Key).Value = words [1]; ((IStringInstance)kvpair2.Value).Value = "i" + " " + words [0]; output.put(kvpair2); } } }
public override void main() { IIntegerInstance input_key = (IIntegerInstance)Input_key.Instance; IPageNodeInstance input_value = (IPageNodeInstance)Input_value.Instance; IIteratorInstance <IKVPair <IString, IDouble> > output = (IIteratorInstance <IKVPair <IString, IDouble> >)Output_data.Instance; double slice = input_value.PgrankInstance; int size = input_value.NeighborsInstance.Count; IEnumerator <int> iterator = input_value.NeighborsInstance.GetEnumerator(); while (iterator.MoveNext()) { string n = iterator.Current.ToString(); IKVPairInstance <IString, IDouble> kvpair = (IKVPairInstance <IString, IDouble>)Output_data.createItem(); ((IStringInstance)kvpair.Key).Value = n; ((IDoubleInstance)kvpair.Value).Value = slice / size; output.put(kvpair); } if (size == 0) { IKVPairInstance <IString, IDouble> kvpair = (IKVPairInstance <IString, IDouble>)Output_data.createItem(); ((IStringInstance)kvpair.Key).Value = "X"; ((IDoubleInstance)kvpair.Value).Value = slice; output.put(kvpair); } IKVPairInstance <IString, IDouble> KV = (IKVPairInstance <IString, IDouble>)Output_data.createItem(); ((IStringInstance)KV.Key).Value = input_key.Value.ToString(); ((IDoubleInstance)KV.Value).Value = 0.0; output.put(KV); }
public override void main() { Trace.WriteLine(WorldComm.Rank + ": STARTING BREAK IN LINE (SPLIT FUNCTION)"); IStringInstance input_data_instance = (IStringInstance)Input_data.Instance; IIteratorInstance <IKVPair <IInteger, IString> > output_data_instance = (IIteratorInstance <IKVPair <IInteger, IString> >)Output_data.Instance; string s = input_data_instance.Value; string[] lines = s.Split(new char[] { System.Environment.NewLine[0] }); int line_counter = 0; foreach (string line in lines) { if (!line.Trim().Equals("")) { Trace.WriteLine(WorldComm.Rank + ": LINE = " + line); IKVPairInstance <IInteger, IString> line_pair = (IKVPairInstance <IInteger, IString>)Output_data.createItem(); ((IIntegerInstance)line_pair.Key).Value = line_counter++; ((IStringInstance)line_pair.Value).Value = line; output_data_instance.put(line_pair); } } Trace.WriteLine(WorldComm.Rank + ": FINISH BREAK IN LINES #1 !!! " + output_data_instance.GetHashCode()); output_data_instance.finish(); Trace.WriteLine(WorldComm.Rank + ": FINISH BREAK IN LINES #2 !!!"); }
private void createPageNodes(string fileContent) { IIteratorInstance <IKVPair <IInteger, IPageNode> > output = (IIteratorInstance <IKVPair <IInteger, IPageNode> >)Output_data.Instance; IDictionary <int, IDictionary <int, IPageNodeInstance> > dictionary = new Dictionary <int, IDictionary <int, IPageNodeInstance> >(); IList <IKVPairInstance <IInteger, IPageNode> > PAGENODES = new List <IKVPairInstance <IInteger, IPageNode> >(); string[] lines = fileContent.Split(new char[] { System.Environment.NewLine[0] }); foreach (string line in lines) { if (!line.Trim().Equals("")) { IPageNodeInstance V, W, temp = null; IDictionary <int, IPageNodeInstance> referenceV, referenceW = null; int[] KEY = new int[2]; string[] vwID = line.Split(' '); for (int k = 0; k < 2; k++) { KEY [k] = int.Parse(vwID [k]); } if (!dictionary.TryGetValue(KEY [0], out referenceV)) { IKVPairInstance <IInteger, IPageNode> kvpair = (IKVPairInstance <IInteger, IPageNode>)Output_data.createItem(); V = (IPageNodeInstance)kvpair.Value; V.IdInstance = KEY [0]; ((IIntegerInstance)kvpair.Key).Value = V.IdInstance; referenceV = new Dictionary <int, IPageNodeInstance> (); dictionary [KEY [0]] = referenceV; referenceV [KEY [0]] = V; PAGENODES.Add(kvpair); } if (!dictionary.TryGetValue(KEY [1], out referenceW)) { IKVPairInstance <IInteger, IPageNode> kvpair = (IKVPairInstance <IInteger, IPageNode>)Output_data.createItem(); W = (IPageNodeInstance)kvpair.Value; W.IdInstance = KEY [1]; ((IIntegerInstance)kvpair.Key).Value = W.IdInstance; referenceW = new Dictionary <int, IPageNodeInstance> (); dictionary [KEY [1]] = referenceW; referenceW [KEY [1]] = W; PAGENODES.Add(kvpair); } if (!referenceV.TryGetValue(KEY [1], out temp)) { V = referenceV [KEY [0]]; W = referenceW [KEY [1]]; referenceV [KEY [1]] = W; V.NeighborsInstance.Add(W.IdInstance); } } } IEnumerator <IKVPairInstance <IInteger, IPageNode> > iterator = PAGENODES.GetEnumerator(); while (iterator.MoveNext()) { IKVPairInstance <IInteger, IPageNode> kvpair = iterator.Current; IIntegerInstance k = (IIntegerInstance)kvpair.Key; output.put(kvpair); dic [k.Value] = kvpair; } output.finish(); }
public override void main() { Trace.WriteLine(Rank + ": START SPLIT PATH INFO 1"); IIteratorInstance <IPathInfo> input_data_instance = (IIteratorInstance <IPathInfo>)Input_data.Instance; IIteratorInstance <IKVPair <IInteger, IPathInfo> > output_data_instance = (IIteratorInstance <IKVPair <IInteger, IPathInfo> >)Output_data.Instance; Trace.WriteLine(Rank + ": START SPLIT PATH INFO 2"); object path_info; while (input_data_instance.fetch_next(out path_info)) { Trace.WriteLine(Rank + ": LOOP SPLIT PATH INFO " + path_info.GetType()); IPathInfoInstance path_info_instance = (IPathInfoInstance)path_info; IKVPairInstance <IInteger, IPathInfo> path_info_output = (IKVPairInstance <IInteger, IPathInfo>)Output_data.createItem(); ((IIntegerInstance)path_info_output.Key).Value = ((Info)path_info_instance.Value).vertex; path_info_output.Value = path_info_instance; Trace.WriteLine(Rank + ": vertex = " + path_info_output.Key); output_data_instance.put(path_info_output); } output_data_instance.finish(); Trace.Write(Rank + ": STOP SPLIT PATH INFO "); }
public override void main() { IStringInstance input_value_instance = (IStringInstance)Input_value.Instance; IIteratorInstance <IKVPair <IString, IInteger> > output_value_instance = (IIteratorInstance <IKVPair <IString, IInteger> >)Output_data.Instance; string input_string = input_value_instance.Value; string chars = " ;?.!:,*<>+"; string[] words = input_string.Split(new char[] { chars[0], chars[1], chars[2], chars[3], chars[4], chars[5], chars[6], chars[7], chars[8], chars[9], chars[10] }); IDictionary <string, int> index = new Dictionary <string, int>(); foreach (string word_ in words) { string word = word_.ToLower().Trim(); if (word != "") { int counter; if (index.TryGetValue(word, out counter)) { index.Remove(word); } else { counter = 0; } index.Add(word, counter + 1); } } foreach (KeyValuePair <string, int> occurrences in index) { // Trace.WriteLine(WorldComm.Rank + ": MAP (WORD COUNTER) - " + occurrences.Key + ":" + occurrences.Value); IKVPairInstance <IString, IInteger> item = (IKVPairInstance <IString, IInteger>)Output_data.createItem(); ((IStringInstance)item.Key).Value = occurrences.Key; ((IIntegerInstance)item.Value).Value = occurrences.Value; output_value_instance.put(item); } }
public override void main() { IIteratorInstance <IKVPair <IString, ICliqueNode> > output = (IIteratorInstance <IKVPair <IString, ICliqueNode> >)Output_data.Instance; IIntegerInstance input_key = (IIntegerInstance)Input_key.Instance; ICliqueNodeInstance input_value = (ICliqueNodeInstance)Input_value.Instance; //Debug Start // string saida = ""; // IIntegerInstance I = input_key; // ICliqueNodeInstance N = input_value; // saida = "TaskRank="+this.Rank+" <" + I.Value + ", ["; // IEnumerator<int> neighbor = N.NeighborsInstance.GetEnumerator (); // while (neighbor.MoveNext ()) { // saida = saida + neighbor.Current + " "; // } // saida = saida + "]>"; // using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"./logCliqueMap"+Rank, true)){ // file.WriteLine(saida); // } //Debug End IEnumerator <int> iterator = input_value.NeighborsInstance.GetEnumerator(); while (iterator.MoveNext()) { IKVPairInstance <IString, ICliqueNode> KV = (IKVPairInstance <IString, ICliqueNode>)Output_data.createItem(); ((IStringInstance)KV.Key).Value = iterator.Current.ToString(); ((ICliqueNodeInstance)KV.Value).IdInstance = input_value.IdInstance; ((ICliqueNodeInstance)KV.Value).NeighborsInstance = input_value.NeighborsInstance; output.put(KV); } }