public class StreamWriterV2 extends Object implements AutoCloseable
TODO: Support batching.
TODO: Support schema change.
| Modifier and Type | Class and Description |
|---|---|
static class |
StreamWriterV2.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 StreamWriterV2.Builder |
newBuilder(String streamName)
Constructs a new
StreamWriterV2.Builder using the given stream. |
static StreamWriterV2.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 StreamWriterV2.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 StreamWriterV2.Builder newBuilder(String streamName)
StreamWriterV2.Builder using the given stream.Copyright © 2023 Google LLC. All rights reserved.