@InternalExtensionOnly public static class CloudBigtableIO.CloudBigtableMultiTableWriteFn extends AbstractCloudBigtableTableDoFn<InputType,Void>
DoFn that can write either a bounded or unbounded PCollection of KV
of (String tableName, List of Mutations) to the specified table.
NOTE: This DoFn will write Puts and Deletes, not Appends and Increments.
This limitation exists because if the batch fails partway through, Appends/Increments might be
re-run, causing the Mutation to be executed twice, which is never the user's intent.
Re-running a Delete will not cause any differences. Re-running a Put isn't normally a problem,
but might cause problems in some cases when the number of versions supported by the column
family is greater than one. In a case where multiple versions could be a problem, it's best to
add a timestamp to the Put.
DoFn.AlwaysFetched, DoFn.BoundedPerElement, DoFn.BundleFinalizer, DoFn.Element, DoFn.FieldAccess, DoFn.FinishBundle, DoFn.FinishBundleContext, DoFn.GetInitialRestriction, DoFn.GetInitialWatermarkEstimatorState, DoFn.GetRestrictionCoder, DoFn.GetSize, DoFn.GetWatermarkEstimatorStateCoder, DoFn.Key, DoFn.MultiOutputReceiver, DoFn.NewTracker, DoFn.NewWatermarkEstimator, DoFn.OnTimer, DoFn.OnTimerContext, DoFn.OnTimerFamily, DoFn.OnWindowExpiration, DoFn.OnWindowExpirationContext, DoFn.OutputReceiver<T>, DoFn.ProcessContext, DoFn.ProcessContinuation, DoFn.ProcessElement, DoFn.RequiresStableInput, DoFn.RequiresTimeSortedInput, DoFn.Restriction, DoFn.Setup, DoFn.SideInput, DoFn.SplitRestriction, DoFn.StartBundle, DoFn.StartBundleContext, DoFn.StateId, DoFn.Teardown, DoFn.TimerFamily, DoFn.TimerId, DoFn.Timestamp, DoFn.TruncateRestriction, DoFn.UnboundedPerElement, DoFn.WatermarkEstimatorState, DoFn.WindowedContextconfig, connection, DOFN_LOG| Constructor and Description |
|---|
CloudBigtableMultiTableWriteFn(CloudBigtableConfiguration config) |
| Modifier and Type | Method and Description |
|---|---|
void |
finishBundle(DoFn.FinishBundleContext c) |
void |
processElement(DoFn.ProcessContext context)
|
void |
startBundle() |
getConfig, getConnection, logExceptions, logRetriesExhaustedWithDetailsException, populateDisplayData, rethrowExceptiongetAllowedTimestampSkew, getInputTypeDescriptor, getOutputTypeDescriptor, prepareForProcessingpublic CloudBigtableMultiTableWriteFn(CloudBigtableConfiguration config)
@DoFn.StartBundle public void startBundle() throws Exception
Exception@DoFn.ProcessElement public void processElement(DoFn.ProcessContext context) throws Exception
@DoFn.FinishBundle public void finishBundle(DoFn.FinishBundleContext c) throws Exception
Exception