public abstract static class SpannerIO.Write extends PTransform<PCollection<com.google.cloud.spanner.Mutation>,SpannerWriteResult>
PTransform
that writes Mutation
objects to Google Cloud Spanner.SpannerIO
,
Serialized Formname, resourceHints
Constructor and Description |
---|
Write() |
Modifier and Type | Method and Description |
---|---|
SpannerWriteResult |
expand(PCollection<com.google.cloud.spanner.Mutation> input)
Override this method to specify how this
PTransform should be expanded on the given
InputT . |
SpannerIO.WriteGrouped |
grouped()
Same transform but can be applied to
PCollection of MutationGroup . |
void |
populateDisplayData(DisplayData.Builder builder)
Register display data for the given transform or component.
|
SpannerIO.Write |
withBatchSizeBytes(long batchSizeBytes)
Specifies the batch size limit (max number of bytes mutated per batch).
|
SpannerIO.Write |
withCommitDeadline(Duration commitDeadline)
Specifies the deadline for the Commit API call.
|
SpannerIO.Write |
withDatabaseId(java.lang.String databaseId)
Specifies the Cloud Spanner database.
|
SpannerIO.Write |
withDatabaseId(ValueProvider<java.lang.String> databaseId)
Specifies the Cloud Spanner database.
|
SpannerIO.Write |
withEmulatorHost(java.lang.String emulatorHost) |
SpannerIO.Write |
withEmulatorHost(ValueProvider<java.lang.String> emulatorHost)
Specifies the Cloud Spanner emulator host.
|
SpannerIO.Write |
withFailureMode(SpannerIO.FailureMode failureMode)
Specifies failure mode.
|
SpannerIO.Write |
withGroupingFactor(int groupingFactor)
Specifies the multiple of max mutation (in terms of both bytes per batch and cells per batch)
that is used to select a set of mutations to sort by key for batching.
|
SpannerIO.Write |
withHost(java.lang.String host)
Specifies the Cloud Spanner host.
|
SpannerIO.Write |
withHost(ValueProvider<java.lang.String> host)
Specifies the Cloud Spanner host.
|
SpannerIO.Write |
withInstanceId(java.lang.String instanceId)
Specifies the Cloud Spanner instance.
|
SpannerIO.Write |
withInstanceId(ValueProvider<java.lang.String> instanceId)
Specifies the Cloud Spanner instance.
|
SpannerIO.Write |
withMaxCumulativeBackoff(Duration maxCumulativeBackoff)
Specifies the maximum cumulative backoff time when retrying after DEADLINE_EXCEEDED errors.
|
SpannerIO.Write |
withMaxNumMutations(long maxNumMutations)
Specifies the cell mutation limit (maximum number of mutated cells per batch).
|
SpannerIO.Write |
withMaxNumRows(long maxNumRows)
Specifies the row mutation limit (maximum number of mutated rows per batch).
|
SpannerIO.Write |
withProjectId(java.lang.String projectId)
Specifies the Cloud Spanner project.
|
SpannerIO.Write |
withProjectId(ValueProvider<java.lang.String> projectId)
Specifies the Cloud Spanner project.
|
SpannerIO.Write |
withSchemaReadySignal(PCollection<?> signal)
Specifies an optional input PCollection that can be used as the signal for
Wait.OnSignal to indicate when the database schema is ready to be read. |
SpannerIO.Write |
withSpannerConfig(SpannerConfig spannerConfig)
Specifies the Cloud Spanner configuration.
|
compose, compose, getAdditionalInputs, getDefaultOutputCoder, getDefaultOutputCoder, getDefaultOutputCoder, getKindString, getName, getResourceHints, setResourceHints, toString, validate
public SpannerIO.Write withSpannerConfig(SpannerConfig spannerConfig)
public SpannerIO.Write withProjectId(java.lang.String projectId)
public SpannerIO.Write withProjectId(ValueProvider<java.lang.String> projectId)
public SpannerIO.Write withInstanceId(java.lang.String instanceId)
public SpannerIO.Write withInstanceId(ValueProvider<java.lang.String> instanceId)
public SpannerIO.Write withDatabaseId(java.lang.String databaseId)
public SpannerIO.Write withDatabaseId(ValueProvider<java.lang.String> databaseId)
public SpannerIO.Write withHost(ValueProvider<java.lang.String> host)
public SpannerIO.Write withHost(java.lang.String host)
public SpannerIO.Write withEmulatorHost(ValueProvider<java.lang.String> emulatorHost)
public SpannerIO.Write withEmulatorHost(java.lang.String emulatorHost)
public SpannerIO.Write withCommitDeadline(Duration commitDeadline)
withMaxCumulativeBackoff(Duration)
is
reached. DEADLINE_EXCEEDED errors are reported with logging and counters.public SpannerIO.Write withMaxCumulativeBackoff(Duration maxCumulativeBackoff)
If the mutations still have not been written after this time, they are treated as a
failure, and handled according to the setting of #withFailureMode(FailureMode)
.
public SpannerIO.WriteGrouped grouped()
PCollection
of MutationGroup
.public SpannerIO.Write withBatchSizeBytes(long batchSizeBytes)
public SpannerIO.Write withFailureMode(SpannerIO.FailureMode failureMode)
SpannerIO.FailureMode.FAIL_FAST
mode is selected by default.public SpannerIO.Write withMaxNumMutations(long maxNumMutations)
public SpannerIO.Write withMaxNumRows(long maxNumRows)
public SpannerIO.Write withSchemaReadySignal(PCollection<?> signal)
Wait.OnSignal
to indicate when the database schema is ready to be read.
To be used when the database schema is created by another section of the pipeline, this
causes this transform to wait until the signal PCollection
has been closed before
reading the schema from the database.
Wait.OnSignal
public SpannerIO.Write withGroupingFactor(int groupingFactor)
public SpannerWriteResult expand(PCollection<com.google.cloud.spanner.Mutation> input)
PTransform
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).
expand
in class PTransform<PCollection<com.google.cloud.spanner.Mutation>,SpannerWriteResult>
public void populateDisplayData(DisplayData.Builder builder)
PTransform
populateDisplayData(DisplayData.Builder)
is invoked by Pipeline runners to collect
display data via DisplayData.from(HasDisplayData)
. Implementations may call super.populateDisplayData(builder)
in order to register display data in the current namespace,
but should otherwise use subcomponent.populateDisplayData(builder)
to use the namespace
of the subcomponent.
By default, does not register any display data. Implementors may override this method to provide their own display data.
populateDisplayData
in interface HasDisplayData
populateDisplayData
in class PTransform<PCollection<com.google.cloud.spanner.Mutation>,SpannerWriteResult>
builder
- The builder to populate with display data.HasDisplayData