Class Group.ByFields<InputT>
- All Implemented Interfaces:
Serializable
,HasDisplayData
- Enclosing class:
Group
PTransform
that groups schema elements based on the given fields.
The output of this transform will have a key field of type Row
containing the
specified extracted fields. It will also have a value field of type Row
containing the
specified extracted fields.
- See Also:
-
Field Summary
Fields inherited from class org.apache.beam.sdk.transforms.PTransform
annotations, displayData, name, resourceHints
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<CombineInputT,
AccumT, CombineOutputT>
Group.CombineFieldsByFields<InputT> aggregateField
(int inputFieldId, Combine.CombineFn<CombineInputT, AccumT, CombineOutputT> fn, String outputFieldName) <CombineInputT,
AccumT, CombineOutputT>
Group.CombineFieldsByFields<InputT> aggregateField
(int inputFieldId, Combine.CombineFn<CombineInputT, AccumT, CombineOutputT> fn, Schema.Field outputField) Build up an aggregation function over the input elements.<CombineInputT,
AccumT, CombineOutputT>
Group.CombineFieldsByFields<InputT> aggregateField
(String inputFieldName, Combine.CombineFn<CombineInputT, AccumT, CombineOutputT> fn, String outputFieldName) Build up an aggregation function over the input elements.<CombineInputT,
AccumT, CombineOutputT>
Group.CombineFieldsByFields<InputT> aggregateField
(String inputFieldName, Combine.CombineFn<CombineInputT, AccumT, CombineOutputT> fn, Schema.Field outputField) Build up an aggregation function over the input elements.<CombineInputT,
AccumT, CombineOutputT>
Group.CombineFieldsByFields<InputT> aggregateFieldBaseValue
(int inputFieldId, Combine.CombineFn<CombineInputT, AccumT, CombineOutputT> fn, String outputFieldName) <CombineInputT,
AccumT, CombineOutputT>
Group.CombineFieldsByFields<InputT> aggregateFieldBaseValue
(int inputFieldId, Combine.CombineFn<CombineInputT, AccumT, CombineOutputT> fn, Schema.Field outputField) <CombineInputT,
AccumT, CombineOutputT>
Group.CombineFieldsByFields<InputT> aggregateFieldBaseValue
(String inputFieldName, Combine.CombineFn<CombineInputT, AccumT, CombineOutputT> fn, String outputFieldName) <CombineInputT,
AccumT, CombineOutputT>
Group.CombineFieldsByFields<InputT> aggregateFieldBaseValue
(String inputFieldName, Combine.CombineFn<CombineInputT, AccumT, CombineOutputT> fn, Schema.Field outputField) <CombineInputT,
AccumT, CombineOutputT>
Group.CombineFieldsByFields<InputT> aggregateFields
(List<String> inputFieldNames, Combine.CombineFn<CombineInputT, AccumT, CombineOutputT> fn, String outputFieldName) Build up an aggregation function over the input elements.<CombineInputT,
AccumT, CombineOutputT>
Group.CombineFieldsByFields<InputT> aggregateFields
(List<String> inputFieldNames, Combine.CombineFn<CombineInputT, AccumT, CombineOutputT> fn, Schema.Field outputField) Build up an aggregation function over the input elements.<CombineInputT,
AccumT, CombineOutputT>
Group.CombineFieldsByFields<InputT> aggregateFields
(FieldAccessDescriptor fieldsToAggregate, Combine.CombineFn<CombineInputT, AccumT, CombineOutputT> fn, String outputFieldName) Build up an aggregation function over the input elements.<CombineInputT,
AccumT, CombineOutputT>
Group.CombineFieldsByFields<InputT> aggregateFields
(FieldAccessDescriptor fieldsToAggregate, Combine.CombineFn<CombineInputT, AccumT, CombineOutputT> fn, Schema.Field outputField) Build up an aggregation function over the input elements.<CombineInputT,
AccumT, CombineOutputT>
Group.CombineFieldsByFields<InputT> aggregateFieldsById
(List<Integer> inputFieldIds, Combine.CombineFn<CombineInputT, AccumT, CombineOutputT> fn, String outputFieldName) <CombineInputT,
AccumT, CombineOutputT>
Group.CombineFieldsByFields<InputT> aggregateFieldsById
(List<Integer> inputFieldIds, Combine.CombineFn<CombineInputT, AccumT, CombineOutputT> fn, Schema.Field outputField) Build up an aggregation function over the input elements by field id.expand
(PCollection<InputT> input) Override this method to specify how thisPTransform
should be expanded on the givenInputT
.Group.ByFields<InputT>.org.apache.beam.sdk.schemas.transforms.Group.ByFields.ToKV
getToKV()
withKeyField
(String keyField) withValueField
(String valueField) Methods inherited from class org.apache.beam.sdk.transforms.PTransform
addAnnotation, compose, compose, getAdditionalInputs, getAnnotations, getDefaultOutputCoder, getDefaultOutputCoder, getDefaultOutputCoder, getKindString, getName, getResourceHints, populateDisplayData, setDisplayData, setResourceHints, toString, validate, validate
-
Constructor Details
-
ByFields
public ByFields()
-
-
Method Details
-
getToKV
-
withKeyField
-
withValueField
-
aggregateField
public <CombineInputT,AccumT, Group.CombineFieldsByFields<InputT> aggregateFieldCombineOutputT> (String inputFieldName, Combine.CombineFn<CombineInputT, AccumT, CombineOutputT> fn, String outputFieldName) Build up an aggregation function over the input elements.This method specifies an aggregation over single field of the input. The union of all calls to aggregateField and aggregateFields will determine the output schema.
Field types in the output schema will be inferred from the provided combine function. Sometimes the field type cannot be inferred due to Java's type erasure. In that case, use the overload that allows setting the output field type explicitly.
-
aggregateFieldBaseValue
public <CombineInputT,AccumT, Group.CombineFieldsByFields<InputT> aggregateFieldBaseValueCombineOutputT> (String inputFieldName, Combine.CombineFn<CombineInputT, AccumT, CombineOutputT> fn, String outputFieldName) -
aggregateField
public <CombineInputT,AccumT, Group.CombineFieldsByFields<InputT> aggregateFieldCombineOutputT> (int inputFieldId, Combine.CombineFn<CombineInputT, AccumT, CombineOutputT> fn, String outputFieldName) -
aggregateFieldBaseValue
public <CombineInputT,AccumT, Group.CombineFieldsByFields<InputT> aggregateFieldBaseValueCombineOutputT> (int inputFieldId, Combine.CombineFn<CombineInputT, AccumT, CombineOutputT> fn, String outputFieldName) -
aggregateField
public <CombineInputT,AccumT, Group.CombineFieldsByFields<InputT> aggregateFieldCombineOutputT> (String inputFieldName, Combine.CombineFn<CombineInputT, AccumT, CombineOutputT> fn, Schema.Field outputField) Build up an aggregation function over the input elements.This method specifies an aggregation over single field of the input. The union of all calls to aggregateField and aggregateFields will determine the output schema.
- Specified by:
aggregateField
in classGroup.AggregateCombiner<InputT>
-
aggregateFieldBaseValue
public <CombineInputT,AccumT, Group.CombineFieldsByFields<InputT> aggregateFieldBaseValueCombineOutputT> (String inputFieldName, Combine.CombineFn<CombineInputT, AccumT, CombineOutputT> fn, Schema.Field outputField) -
aggregateField
public <CombineInputT,AccumT, Group.CombineFieldsByFields<InputT> aggregateFieldCombineOutputT> (int inputFieldId, Combine.CombineFn<CombineInputT, AccumT, CombineOutputT> fn, Schema.Field outputField) Description copied from class:Group.AggregateCombiner
Build up an aggregation function over the input elements.This method specifies an aggregation over single field of the input. The union of all calls to aggregateField and aggregateFields will determine the output schema.
- Specified by:
aggregateField
in classGroup.AggregateCombiner<InputT>
-
aggregateFieldBaseValue
public <CombineInputT,AccumT, Group.CombineFieldsByFields<InputT> aggregateFieldBaseValueCombineOutputT> (int inputFieldId, Combine.CombineFn<CombineInputT, AccumT, CombineOutputT> fn, Schema.Field outputField) -
aggregateFields
public <CombineInputT,AccumT, Group.CombineFieldsByFields<InputT> aggregateFieldsCombineOutputT> (List<String> inputFieldNames, Combine.CombineFn<CombineInputT, AccumT, CombineOutputT> fn, String outputFieldName) Build up an aggregation function over the input elements.This method specifies an aggregation over multiple fields of the input. The union of all calls to aggregateField and aggregateFields will determine the output schema.
Field types in the output schema will be inferred from the provided combine function. Sometimes the field type cannot be inferred due to Java's type erasure. In that case, use the overload that allows setting the output field type explicitly.
-
aggregateFieldsById
public <CombineInputT,AccumT, Group.CombineFieldsByFields<InputT> aggregateFieldsByIdCombineOutputT> (List<Integer> inputFieldIds, Combine.CombineFn<CombineInputT, AccumT, CombineOutputT> fn, String outputFieldName) -
aggregateFields
public <CombineInputT,AccumT, Group.CombineFieldsByFields<InputT> aggregateFieldsCombineOutputT> (FieldAccessDescriptor fieldsToAggregate, Combine.CombineFn<CombineInputT, AccumT, CombineOutputT> fn, String outputFieldName) Build up an aggregation function over the input elements.This method specifies an aggregation over multiple fields of the input. The union of all calls to aggregateField and aggregateFields will determine the output schema.
Field types in the output schema will be inferred from the provided combine function. Sometimes the field type cannot be inferred due to Java's type erasure. In that case, use the overload that allows setting the output field type explicitly.
-
aggregateFields
public <CombineInputT,AccumT, Group.CombineFieldsByFields<InputT> aggregateFieldsCombineOutputT> (List<String> inputFieldNames, Combine.CombineFn<CombineInputT, AccumT, CombineOutputT> fn, Schema.Field outputField) Build up an aggregation function over the input elements.This method specifies an aggregation over multiple fields of the input. The union of all calls to aggregateField and aggregateFields will determine the output schema.
-
aggregateFieldsById
public <CombineInputT,AccumT, Group.CombineFieldsByFields<InputT> aggregateFieldsByIdCombineOutputT> (List<Integer> inputFieldIds, Combine.CombineFn<CombineInputT, AccumT, CombineOutputT> fn, Schema.Field outputField) Description copied from class:Group.AggregateCombiner
Build up an aggregation function over the input elements by field id.This method specifies an aggregation over multiple fields of the input. The union of all calls to aggregateField and aggregateFields will determine the output schema.
Field types in the output schema will be inferred from the provided combine function. Sometimes the field type cannot be inferred due to Java's type erasure. In that case, use the overload that allows setting the output field type explicitly.
- Specified by:
aggregateFieldsById
in classGroup.AggregateCombiner<InputT>
-
aggregateFields
public <CombineInputT,AccumT, Group.CombineFieldsByFields<InputT> aggregateFieldsCombineOutputT> (FieldAccessDescriptor fieldsToAggregate, Combine.CombineFn<CombineInputT, AccumT, CombineOutputT> fn, Schema.Field outputField) Build up an aggregation function over the input elements.This method specifies an aggregation over multiple fields of the input. The union of all calls to aggregateField and aggregateFields will determine the output schema.
-
expand
Description copied from class:PTransform
Override this method to specify how thisPTransform
should be expanded on the givenInputT
.NOTE: This method should not be called directly. Instead apply the
PTransform
should be applied to theInputT
using theapply
method.Composite transforms, which are defined in terms of other transforms, should return the output of one of the composed transforms. Non-composite transforms, which do not apply any transforms internally, should return a new unbound output and register evaluators (via backend-specific registration methods).
- Specified by:
expand
in classPTransform<PCollection<InputT>,
PCollection<Row>>
-