| Interface | Description | 
|---|---|
| Aggregator<T> | Aggregate a sequence of values into a possibly smaller sequence of the same type. | 
| Emitter<T> | Interface for writing outputs from a  DoFn. | 
| PCollection<S> | A representation of an immutable, distributed collection of elements that is
 the fundamental target of computations in Crunch. | 
| PGroupedTable<K,V> | The Crunch representation of a grouped  PTable, which corresponds to the output of
 the shuffle phase of a MapReduce job. | 
| Pipeline | Manages the state of a pipeline execution. | 
| PipelineExecution | A handle to allow clients to control a Crunch pipeline as it runs. | 
| PObject<T> | A  PObjectrepresents a singleton object value that results from a distributed
 computation. | 
| PTable<K,V> | A sub-interface of  PCollectionthat represents an immutable,
 distributed multi-map of keys and values. | 
| ReadableData<T> | Represents the contents of a data source that can be read on the cluster from within one
 of the tasks running as part of a Crunch pipeline. | 
| Source<T> | A  Sourcerepresents an input data set that is an input to one or more
 MapReduce jobs. | 
| SourceTarget<T> | An interface for classes that implement both the  Sourceand theTargetinterfaces. | 
| TableSource<K,V> | The interface  Sourceimplementations that return aPTable. | 
| TableSourceTarget<K,V> | An interface for classes that implement both the  TableSourceand theTargetinterfaces. | 
| Target | A  Targetrepresents the output destination of a CrunchPCollectionin the context of a Crunch job. | 
| Tuple | A fixed-size collection of Objects, used in Crunch for representing joins
 between  PCollections. | 
| Class | Description | 
|---|---|
| CachingOptions | Options for controlling how a  PCollection<T>is cached for subsequent processing. | 
| CachingOptions.Builder | A Builder class to use for setting the  CachingOptionsfor aPCollection. | 
| CombineFn<S,T> | |
| CreateOptions | Additional options that can be specified when creating a new PCollection using  Pipeline.create(java.lang.Iterable<T>, org.apache.crunch.types.PType<T>). | 
| DoFn<S,T> | Base class for all data processing functions in Crunch. | 
| FilterFn<T> | A  DoFnfor the common case of filtering the members of aPCollectionbased on a boolean condition. | 
| GroupingOptions | Options that can be passed to a  groupByKeyoperation in order to
 exercise finer control over how the partitioning, grouping, and sorting of
 keys is performed. | 
| GroupingOptions.Builder | Builder class for creating  GroupingOptionsinstances. | 
| MapFn<S,T> | A  DoFnfor the common case of emitting exactly one value for each
 input record. | 
| Pair<K,V> | A convenience class for two-element  Tuples. | 
| ParallelDoOptions | Container class that includes optional information about a  parallelDooperation
 applied to aPCollection. | 
| ParallelDoOptions.Builder | |
| PipelineCallable<Output> | A specialization of  Callablethat executes some sequential logic on the client machine as
 part of an overall Crunch pipeline in order to generate zero or more outputs, some of
 which may bePCollectioninstances that are processed by other jobs in the
 pipeline. | 
| PipelineResult | Container for the results of a call to  runordoneon the
 Pipeline interface that includes details and statistics about the component
 stages of the data pipeline. | 
| PipelineResult.StageResult | |
| Tuple3<V1,V2,V3> | A convenience class for three-element  Tuples. | 
| Tuple3.Collect<V1,V2,V3> | |
| Tuple4<V1,V2,V3,V4> | A convenience class for four-element  Tuples. | 
| Tuple4.Collect<V1,V2,V3,V4> | |
| TupleN | A  Tupleinstance for an arbitrary number of values. | 
| Union | Allows us to represent the combination of multiple data sources that may contain different types of data
 as a single type with an index to indicate which of the original sources the current record was from. | 
| Enum | Description | 
|---|---|
| PipelineCallable.Status | |
| PipelineExecution.Status | |
| Target.WriteMode | An enum to represent different options the client may specify
 for handling the case where the output path, table, etc. | 
| Exception | Description | 
|---|---|
| CrunchRuntimeException | A  RuntimeExceptionimplementation that includes some additional options
 for the Crunch execution engine to track reporting status. | 
Copyright © 2017 The Apache Software Foundation. All rights reserved.