Class StreamWriterV2 (2.22.0)

public class StreamWriterV2 implements AutoCloseable

A BigQuery Stream Writer that can be used to write data into BigQuery Table.

TODO: Support batching.

TODO: Support schema change.

Inheritance

java.lang.Object > StreamWriterV2

Implements

AutoCloseable

Static Methods

getApiMaxRequestBytes()

public static long getApiMaxRequestBytes()

The maximum size of one request. Defined by the API.

Returns
TypeDescription
long

newBuilder(String streamName)

public static StreamWriterV2.Builder newBuilder(String streamName)

Constructs a new StreamWriterV2.Builder using the given stream.

Parameter
NameDescription
streamNameString
Returns
TypeDescription
StreamWriterV2.Builder

newBuilder(String streamName, BigQueryWriteClient client)

public static StreamWriterV2.Builder newBuilder(String streamName, BigQueryWriteClient client)

Constructs a new 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.

Parameters
NameDescription
streamNameString
clientBigQueryWriteClient
Returns
TypeDescription
StreamWriterV2.Builder

Methods

append(ProtoRows rows, long offset)

public 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
NameDescription
rowsProtoRows

the rows in serialized format to write to BigQuery.

offsetlong

the offset of the first row.

Returns
TypeDescription
ApiFuture<AppendRowsResponse>

the append response wrapped in a future.

close()

public void close()

Close the stream writer. Shut down all resources.