Skip to content

Instantly share code, notes, and snippets.

View SaschaDittmann's full-sized avatar

Sascha Dittmann SaschaDittmann

View GitHub Profile
@SaschaDittmann
SaschaDittmann / MedianStdDevCombiner.cs
Created April 10, 2015 08:19
MapReduce Entwurfsmuster – Numerische Aggregation (Standardabweichung 2/2)
public class MedianStdDevCombiner
: JsonOutReducerCombinerBase<MedianStdDevData>
{
public override void Reduce(string key,
IEnumerable<string> values,
JsonReducerCombinerContext<MedianStdDevData> context)
{
var query = values
.Select(int.Parse)
.GroupBy(v => v)
@SaschaDittmann
SaschaDittmann / MedianStdDevMapper.cs
Created April 10, 2015 08:14
MapReduce Entwurfsmuster – Numerische Aggregation (Standardabweichung 1/2)
public class MedianStdDevMapper : MapperBase
{
public override void Map(string inputLine, MapperContext context)
{
var parsed = XmlUtils.ParseXml(inputLine);
if (parsed == null
|| !parsed.ContainsKey("CreationDate")
|| !parsed.ContainsKey("Text"))
{
@SaschaDittmann
SaschaDittmann / AverageCombiner.cs
Created April 10, 2015 08:09
MapReduce Entwurfsmuster – Numerische Aggregation (Average)
public class AverageCombiner
: JsonInOutReducerCombinerBase<CountAverageData, CountAverageData>
{
public override void Reduce(string key,
IEnumerable<CountAverageData> values,
JsonReducerCombinerContext<CountAverageData> context)
{
float sum = 0;
float count = 0;
@SaschaDittmann
SaschaDittmann / MinMaxCountCombiner.cs
Created April 10, 2015 07:49
MapReduce Entwurfsmuster – Numerische Aggregation (Min/Max/Count)
public class MinMaxCountCombiner :
JsonInOutReducerCombinerBase<MinMaxCountData, MinMaxCountData>
{
public override void Reduce(string key,
IEnumerable<MinMaxCountData> values,
JsonReducerCombinerContext<MinMaxCountData> context)
{
var data = values.ToList();
context.EmitKeyValue(key, new MinMaxCountData