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

Safe HaskellSafe
LanguageHaskell2010

Data.Function.MapReduce.Internal

Contents

Description

Generic implementation of various map-reduce functions.

Synopsis

Types

type MapReduce a k v b 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.

Functiom for mapping and then reducing.

Grouping

groupReduce Source #

Arguments

:: Ord k 
=> MapReduce a k a b 
-> (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 
=> MapReduce a k a [b] 
-> (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 
=> MapReduce a k a b 
-> (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 
=> MapReduce a k a [b] 
-> (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 
=> MapReduce a k a [b] 
-> (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

mapReduceFlatten Source #

Arguments

:: Ord k 
=> MapReduce a k v [b] 
-> (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 
=> MapReduce a k v b 
-> (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

:: MapReduce a () v b 
-> (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 
=> MapReduce a k v b 
-> (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 
=> MapReduce a k v b 
-> (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.