Class StreamWriterV2
- java.lang.Object
-
- com.google.cloud.bigquery.storage.v1beta2.StreamWriterV2
-
- All Implemented Interfaces:
AutoCloseable
public class StreamWriterV2 extends Object implements AutoCloseable
A BigQuery Stream Writer that can be used to write data into BigQuery Table.TODO: Support batching.
TODO: Support schema change.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
StreamWriterV2.Builder
A builder ofStreamWriterV2
s.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method 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 newStreamWriterV2.Builder
using the given stream.static StreamWriterV2.Builder
newBuilder(String streamName, BigQueryWriteClient client)
Constructs a newStreamWriterV2.Builder
using the given stream and client.
-
-
-
Method Detail
-
getApiMaxRequestBytes
public static long getApiMaxRequestBytes()
The maximum size of one request. Defined by the API.
-
append
public com.google.api.core.ApiFuture<AppendRowsResponse> append(ProtoRows rows, long offset)
Schedules the writing of a message.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());
- Parameters:
rows
- the rows in serialized format to write to BigQuery.offset
- the offset of the first row.- Returns:
- the append response wrapped in a future.
-
close
public void close()
Close the stream writer. Shut down all resources.- Specified by:
close
in interfaceAutoCloseable
-
newBuilder
public static StreamWriterV2.Builder newBuilder(String streamName, BigQueryWriteClient client)
Constructs a newStreamWriterV2.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.
-
newBuilder
public static StreamWriterV2.Builder newBuilder(String streamName)
Constructs a newStreamWriterV2.Builder
using the given stream.
-
-