Class BeamRowToBigtableMutation

java.lang.Object
org.apache.beam.sdk.transforms.PTransform<PCollection<Row>,PCollection<KV<ByteString,Iterable<com.google.bigtable.v2.Mutation>>>>
org.apache.beam.sdk.io.gcp.bigtable.BeamRowToBigtableMutation
All Implemented Interfaces:
Serializable, HasDisplayData

public class BeamRowToBigtableMutation extends PTransform<PCollection<Row>,PCollection<KV<ByteString,Iterable<com.google.bigtable.v2.Mutation>>>> implements Serializable
Bigtable reference: .

Requires a flat schema and a mapping which column family corresponds to which column.

Row represents Bigtable Mutation in the following way:

Mapped Beam Row:

BEAM_ROW: ROWinvalid input: '<'key STRING, [columnQualifier VALUE]+>

VALUE: Beam Schema type except for ARRAY, DECIMAL, ITERABLE, MAP, ROW

Mapped Mutation:

mutation: key, setCell[]

setCell: familyName, columnQualifier, ROW[columnQualifier] - familyName comes from the column: family mapping

See Also:
  • Constructor Details

    • BeamRowToBigtableMutation

      public BeamRowToBigtableMutation(Map<String,Set<String>> familyColumnMapping)
  • Method Details

    • expand

      public PCollection<KV<ByteString,Iterable<com.google.bigtable.v2.Mutation>>> expand(PCollection<Row> input)
      Description copied from class: PTransform
      Override this method to specify how this PTransform 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).

      Specified by:
      expand in class PTransform<PCollection<Row>,PCollection<KV<ByteString,Iterable<com.google.bigtable.v2.Mutation>>>>