Class 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.

    • 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 interface AutoCloseable