InputT - the type of the elements in the input PCollectionpublic abstract static class ApproximateDistinct.GloballyDistinct<InputT> extends PTransform<PCollection<InputT>,PCollection<java.lang.Long>>
ApproximateDistinct.globally().annotations, displayData, name, resourceHints| Constructor and Description | 
|---|
| GloballyDistinct() | 
| Modifier and Type | Method and Description | 
|---|---|
| PCollection<java.lang.Long> | expand(PCollection<InputT> input)Override this method to specify how this  PTransformshould be expanded on the givenInputT. | 
| ApproximateDistinct.GloballyDistinct<InputT> | withPrecision(int p)Sets the precision  p. | 
| ApproximateDistinct.GloballyDistinct<InputT> | withSparsePrecision(int sp)Sets the sparse representation's precision  sp. | 
addAnnotation, compose, compose, getAdditionalInputs, getAnnotations, getDefaultOutputCoder, getDefaultOutputCoder, getDefaultOutputCoder, getKindString, getName, getResourceHints, populateDisplayData, setDisplayData, setResourceHints, toString, validate, validatepublic ApproximateDistinct.GloballyDistinct<InputT> withPrecision(int p)
p.
 Keep in mind that p cannot be lower than 4, because the estimation would be too
 inaccurate.
 
See ApproximateDistinct.precisionForRelativeError(double) and ApproximateDistinct.relativeErrorForPrecision(int) to have more information about the
 relationship between precision and relative error.
p - the precision value for the normal representationpublic ApproximateDistinct.GloballyDistinct<InputT> withSparsePrecision(int sp)
sp.
 Values above 32 are not yet supported by the AddThis version of HyperLogLog+.
Fore more information about the sparse representation, read Google's paper available here.
sp - the precision of HyperLogLog+' sparse representationpublic PCollection<java.lang.Long> expand(PCollection<InputT> input)
PTransformPTransform should be expanded on the given
 InputT.
 NOTE: This method should not be called directly. Instead apply the PTransform should
 be applied to the InputT using the apply 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).
expand in class PTransform<PCollection<InputT>,PCollection<java.lang.Long>>