raft-0.3.7.2: Miscellaneous Haskell utilities for data structures and data manipulation.

Safe HaskellSafe
LanguageHaskell2010

Data.Function.MapReduce

Contents

Description

Various map-reduce functions.

Synopsis

Grouping

groupReduce Source #

Arguments

:: Ord k 
=> (a -> k)

Function for extracting keys for grouping.

-> ([a] -> b)

Function for reducing values.

-> [a]

The values.

-> [b]

The reduced values.

Reduce values by group.

groupReduceFlatten Source #

Arguments

:: Ord k 
=> (a -> k)

Function for extracting keys for grouping.

-> ([a] -> [b])

Function for reducing values.

-> [a]

The values.

-> [b]

The reduced values.

Reduce values by group, and flatten the result.

groupReduceByKey Source #

Arguments

:: Ord k 
=> (a -> k)

Function for extracting keys for grouping.

-> (k -> [a] -> b)

Function for reducing values.

-> [a]

The values.

-> [b]

The reduced values.

Reduce values by group, where the reducer receives the key.

groupReduceFlattenByKey Source #

Arguments

:: Ord k 
=> (a -> k)

Function for extracting keys for grouping.

-> (k -> [a] -> [b])

Function for reducing values.

-> [a]

The values.

-> [b]

The reduced values.

Reduce values by group, and flatten the result, where the reducer receives the key.

groupExtract Source #

Arguments

:: Ord k 
=> (a -> k)

Function for extracting keys for grouping.

-> (a -> b)

Function for extracting values.

-> [a]

The values.

-> [b]

The extract.

Order and extract values.

Map-Reduce

mapReduce Source #

Arguments

:: Ord k 
=> (a -> (k, v))

Function for mapping to keys and values.

-> (k -> [v] -> b)

Function for reducing values.

-> [a]

The values.

-> [b]

The reduced values.

Reduce values by keying them.

mapReduceFlatten Source #

Arguments

:: Ord k 
=> (a -> (k, v))

Function for mapping to keys and values.

-> (k -> [v] -> [b])

Function for reducing values.

-> [a]

The values.

-> [b]

The reduced values.

Reduce values by keying them, and flatten the result.

mapReduceFinalize Source #

Arguments

:: Ord k 
=> (a -> (k, v))

Function for mapping to keys and values.

-> (k -> [v] -> v)

Function for reducing values.

-> (k -> v -> b)

Function for transforming the reduced values.

-> [a]

The values.

-> [b]

The reduced values.

Reduce values by keying them, transforming the result.

Aggregation

aggregate Source #

Arguments

:: (a -> v)

Function to extract values.

-> ([v] -> b)

Function to aggregate a list of values.

-> [a]

The values.

-> b

The aggregate.

Aggregate values.

aggregateByKey Source #

Arguments

:: Ord k 
=> (a -> k)

Function for extracting keys.

-> (a -> v)

Function for extracting values.

-> ([v] -> b)

Function to aggregate a list of values.

-> [a]

The values.

-> [b]

The aggregates.

Aggregate values by key.

aggregateWithKey Source #

Arguments

:: Ord k 
=> (a -> k)

Function for extracting keys.

-> (a -> v)

Function for extracting values.

-> (k -> [v] -> b)

Function to aggregate a list of values.

-> [a]

The values.

-> [b]

The aggregates.

Aggregate values by key.