Package org.apache.beam.sdk.io.solr
Class SolrIO.Write
- java.lang.Object
-
- org.apache.beam.sdk.transforms.PTransform<org.apache.beam.sdk.values.PCollection<org.apache.solr.common.SolrInputDocument>,org.apache.beam.sdk.values.PDone>
-
- org.apache.beam.sdk.io.solr.SolrIO.Write
-
- All Implemented Interfaces:
java.io.Serializable,org.apache.beam.sdk.transforms.display.HasDisplayData
- Enclosing class:
- SolrIO
public abstract static class SolrIO.Write extends org.apache.beam.sdk.transforms.PTransform<org.apache.beam.sdk.values.PCollection<org.apache.solr.common.SolrInputDocument>,org.apache.beam.sdk.values.PDone>APTransformwriting data to Solr.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description Write()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.apache.beam.sdk.values.PDoneexpand(org.apache.beam.sdk.values.PCollection<org.apache.solr.common.SolrInputDocument> input)SolrIO.Writeto(java.lang.String collection)Provide name of collection while reading from Solr.SolrIO.WritewithConnectionConfiguration(SolrIO.ConnectionConfiguration connectionConfiguration)Provide the Solr connection configuration object.SolrIO.WritewithMaxBatchSize(int batchSize)Provide a maximum size in number of documents for the batch.SolrIO.WritewithRetryConfiguration(SolrIO.RetryConfiguration retryConfiguration)Provides configuration to retry a failed batch call to Solr.-
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
-
-
-
-
Method Detail
-
withConnectionConfiguration
public SolrIO.Write withConnectionConfiguration(SolrIO.ConnectionConfiguration connectionConfiguration)
Provide the Solr connection configuration object.
-
to
public SolrIO.Write to(java.lang.String collection)
Provide name of collection while reading from Solr.- Parameters:
collection- the collection toward which the requests will be issued
-
withMaxBatchSize
public SolrIO.Write withMaxBatchSize(int batchSize)
Provide a maximum size in number of documents for the batch. Depending on the execution engine, size of bundles may vary, this sets the maximum size. Change this if you need to have smaller batch. Default max batch size is 1000.- Parameters:
batchSize- maximum batch size in number of documents
-
withRetryConfiguration
public SolrIO.Write withRetryConfiguration(SolrIO.RetryConfiguration retryConfiguration)
Provides configuration to retry a failed batch call to Solr. A batch is considered as failed if the underlyingCloudSolrClientsurfacesHttpSolrClient.RemoteSolrException,SolrServerExceptionorIOException. Users should consider that retrying might compound the underlying problem which caused the initial failure. Users should also be aware that once retrying is exhausted the error is surfaced to the runner which may then opt to retry the current partition in entirety or abort if the max number of retries of the runner is completed. Retrying uses an exponential backoff algorithm, with minimum backoff of 5 seconds and then surfacing the error once the maximum number of retries or maximum configuration duration is exceeded.Example use:
SolrIO.write() .withRetryConfiguration(SolrIO.RetryConfiguration.create(10, Duration.standardMinutes(3)) ...- Parameters:
retryConfiguration- the rules which govern the retry behavior- Returns:
- the
SolrIO.Writewith retrying configured
-
expand
public org.apache.beam.sdk.values.PDone expand(org.apache.beam.sdk.values.PCollection<org.apache.solr.common.SolrInputDocument> input)
- Specified by:
expandin classorg.apache.beam.sdk.transforms.PTransform<org.apache.beam.sdk.values.PCollection<org.apache.solr.common.SolrInputDocument>,org.apache.beam.sdk.values.PDone>
-
-