[ 
https://issues.apache.org/jira/browse/BEAM-3311?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16319340#comment-16319340
 ] 

Anna Smith commented on BEAM-3311:
----------------------------------

Thanks, [~sduskis]!  The approaches suggested seem a bit more complicated than 
writing a new builder method, especially since we have a need to retain 
windowing information.

An implementation for bulk writes using a new builder method for a PTransform 
of an Iterable is suggested here: 
https://github.com/andrisnoko/beam/blob/bulk-write-needs-fix-autovalue/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.java

If this seems like a valid approach, we can add tests and remove merge 
conflicts.

> Extend BigTableIO to write Iterable of KV 
> ------------------------------------------
>
>                 Key: BEAM-3311
>                 URL: https://issues.apache.org/jira/browse/BEAM-3311
>             Project: Beam
>          Issue Type: Improvement
>          Components: sdk-java-gcp
>    Affects Versions: 2.2.0
>            Reporter: Anna Smith
>            Assignee: Solomon Duskis
>
> The motivation is to achieve qps as advertised in BigTable in Dataflow 
> streaming mode (ex: 300k qps for 30 node cluster).  Currently we aren't 
> seeing this as the bundle size is small in streaming mode and the requests 
> are overwhelmed by AuthentiationHeader.  For example, in order to achieve qps 
> advertised each payload is recommended to be ~1KB but without batching each 
> payload is 7KB, the majority of which is the authentication header.
> Currently BigTableIO supports DoFn<KV<ByteString, Iterable<Mutation>>,...> 
> where batching is done per Bundle on flush in finishBundle. We would like to 
> be able to manually batch using a DoFn<Iterable<KV<ByteString, 
> Iterable<Mutation>>>,...> so we can get around the small Bundle size in 
> streaming.  We have seen some improvements in qps to BigTable when running 
> with Dataflow using this approach.
> Initial thoughts on implementation would be to extend Write in order to have 
> a BulkWrite of Iterable<KV<ByteString, Iterable<Mutation>>>.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to