Class: Google::Bigtable::V2::RowFilter::Interleave

Inherits:
Object
  • Object
show all
Defined in:
lib/google/cloud/bigtable/v2/doc/google/bigtable/v2/data.rb

Overview

A RowFilter which sends each row to each of several component RowFilters and interleaves the results.

Instance Attribute Summary collapse

Instance Attribute Details

#filtersArray<Google::Bigtable::V2::RowFilter>

Returns The elements of "filters" all process a copy of the input row, and the results are pooled, sorted, and combined into a single output row. If multiple cells are produced with the same column and timestamp, they will all appear in the output row in an unspecified mutual order. Consider the following example, with three filters:

                             input row
                                 |
       -----------------------------------------------------
       |                         |                         |
      f(0)                      f(1)                      f(2)
       |                         |                         |
1: foo,bar,10,x             foo,bar,10,z              far,bar,7,a
2: foo,blah,11,z            far,blah,5,x              far,blah,5,x
       |                         |                         |
       -----------------------------------------------------
                                 |
1:                      foo,bar,10,z   // could have switched with #2
2:                      foo,bar,10,x   // could have switched with #1
3:                      foo,blah,11,z
4:                      far,bar,7,a
5:                      far,blah,5,x   // identical to #6
6:                      far,blah,5,x   // identical to #5

All interleaved filters are executed atomically.

Returns:

  • (Array<Google::Bigtable::V2::RowFilter>)

    The elements of "filters" all process a copy of the input row, and the results are pooled, sorted, and combined into a single output row. If multiple cells are produced with the same column and timestamp, they will all appear in the output row in an unspecified mutual order. Consider the following example, with three filters:

                                 input row
                                     |
           -----------------------------------------------------
           |                         |                         |
          f(0)                      f(1)                      f(2)
           |                         |                         |
    1: foo,bar,10,x             foo,bar,10,z              far,bar,7,a
    2: foo,blah,11,z            far,blah,5,x              far,blah,5,x
           |                         |                         |
           -----------------------------------------------------
                                     |
    1:                      foo,bar,10,z   // could have switched with #2
    2:                      foo,bar,10,x   // could have switched with #1
    3:                      foo,blah,11,z
    4:                      far,bar,7,a
    5:                      far,blah,5,x   // identical to #6
    6:                      far,blah,5,x   // identical to #5
    

    All interleaved filters are executed atomically.



382
# File 'lib/google/cloud/bigtable/v2/doc/google/bigtable/v2/data.rb', line 382

class Interleave; end