public class StreamWriter extends Object implements AutoCloseable
TODO: Support batching.
TODO: Support schema change.
| Modifier and Type | Class and Description |
|---|---|
static class |
StreamWriter.Builder
A builder of
StreamWriterV2s. |
| Modifier and Type | Method and Description |
|---|---|
com.google.api.core.ApiFuture<AppendRowsResponse> |
append(ProtoRows rows,
long offset)
Schedules the writing of a message.
|
void |
close()
Close the stream writer.
|
static long |
getApiMaxRequestBytes()
The maximum size of one request.
|
static StreamWriter.Builder |
newBuilder(String streamName)
Constructs a new
StreamWriterV2.Builder using the given stream. |
static StreamWriter.Builder |
newBuilder(String streamName,
BigQueryWriteClient client)
Constructs a new
StreamWriterV2.Builder using the given stream and client. |
public static long getApiMaxRequestBytes()
public com.google.api.core.ApiFuture<AppendRowsResponse> append(ProtoRows rows, long offset)
Example of writing a message.
AppendRowsRequest message;
ApiFuture<AppendRowsResponse> messageIdFuture = writer.append(message);
ApiFutures.addCallback(messageIdFuture, new ApiFutureCallback<AppendRowsResponse>() {
public void onSuccess(AppendRowsResponse response) {
if (!response.hasError()) {
System.out.println("written with offset: " + response.getAppendResult().getOffset());
} else {
System.out.println("received an in stream error: " + response.getError().toString());
}
}
public void onFailure(Throwable t) {
System.out.println("failed to write: " + t);
}
}, MoreExecutors.directExecutor());
rows - the rows in serialized format to write to BigQuery.offset - the offset of the first row.public void close()
close in interface AutoCloseablepublic static StreamWriter.Builder newBuilder(String streamName, BigQueryWriteClient client)
StreamWriterV2.Builder using the given stream and client. AppendRows
needs special headers to be added to client, so a passed in client will not work. This should
be used by test only.public static StreamWriter.Builder newBuilder(String streamName)
StreamWriterV2.Builder using the given stream.Copyright © 2021 Google LLC. All rights reserved.