google-cloud-bigtable 0.1.3 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.yardopts +1 -0
- data/CHANGELOG.md +8 -0
- data/EMULATOR.md +30 -0
- data/OVERVIEW.md +2 -1
- data/lib/google-cloud-bigtable.rb +28 -22
- data/lib/google/cloud/bigtable.rb +25 -13
- data/lib/google/cloud/bigtable/admin/v2/bigtable_instance_admin_client_config.json +14 -14
- data/lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client_config.json +5 -5
- data/lib/google/cloud/bigtable/app_profile.rb +14 -14
- data/lib/google/cloud/bigtable/app_profile/list.rb +9 -9
- data/lib/google/cloud/bigtable/chunk_processor.rb +6 -6
- data/lib/google/cloud/bigtable/cluster.rb +5 -5
- data/lib/google/cloud/bigtable/cluster/job.rb +1 -1
- data/lib/google/cloud/bigtable/cluster/list.rb +6 -6
- data/lib/google/cloud/bigtable/column_family.rb +12 -12
- data/lib/google/cloud/bigtable/column_range.rb +8 -8
- data/lib/google/cloud/bigtable/gc_rule.rb +2 -2
- data/lib/google/cloud/bigtable/instance.rb +34 -36
- data/lib/google/cloud/bigtable/instance/cluster_map.rb +5 -5
- data/lib/google/cloud/bigtable/instance/list.rb +9 -9
- data/lib/google/cloud/bigtable/longrunning_job.rb +1 -1
- data/lib/google/cloud/bigtable/mutation_entry.rb +18 -18
- data/lib/google/cloud/bigtable/mutation_operations.rb +25 -23
- data/lib/google/cloud/bigtable/policy.rb +13 -13
- data/lib/google/cloud/bigtable/project.rb +27 -27
- data/lib/google/cloud/bigtable/read_modify_write_rule.rb +6 -6
- data/lib/google/cloud/bigtable/read_operations.rb +13 -13
- data/lib/google/cloud/bigtable/row.rb +7 -7
- data/lib/google/cloud/bigtable/row_filter.rb +58 -58
- data/lib/google/cloud/bigtable/row_filter/chain_filter.rb +40 -41
- data/lib/google/cloud/bigtable/row_filter/condition_filter.rb +6 -6
- data/lib/google/cloud/bigtable/row_filter/interleave_filter.rb +46 -47
- data/lib/google/cloud/bigtable/row_filter/simple_filter.rb +14 -15
- data/lib/google/cloud/bigtable/row_range.rb +16 -16
- data/lib/google/cloud/bigtable/rows_mutator.rb +5 -5
- data/lib/google/cloud/bigtable/rows_reader.rb +8 -9
- data/lib/google/cloud/bigtable/service.rb +153 -141
- data/lib/google/cloud/bigtable/table.rb +23 -23
- data/lib/google/cloud/bigtable/table/cluster_state.rb +2 -2
- data/lib/google/cloud/bigtable/table/column_family_map.rb +5 -5
- data/lib/google/cloud/bigtable/table/list.rb +8 -8
- data/lib/google/cloud/bigtable/value_range.rb +7 -7
- data/lib/google/cloud/bigtable/version.rb +1 -1
- metadata +5 -4
@@ -21,7 +21,7 @@ module Google
|
|
21
21
|
module RowFilter
|
22
22
|
# # ChainFilter
|
23
23
|
#
|
24
|
-
# A RowFilter
|
24
|
+
# A RowFilter that sends rows through several RowFilters in sequence.
|
25
25
|
#
|
26
26
|
# The elements of "filters" are chained together to process the input row:
|
27
27
|
# in row -> f(0) -> intermediate row -> f(1) -> ... -> f(N) -> out row
|
@@ -35,14 +35,14 @@ module Google
|
|
35
35
|
#
|
36
36
|
class ChainFilter
|
37
37
|
# @private
|
38
|
-
#
|
38
|
+
# Creates an instance of a chain filter.
|
39
39
|
def initialize
|
40
40
|
@grpc = Google::Bigtable::V2::RowFilter::Chain.new
|
41
41
|
end
|
42
42
|
|
43
|
-
#
|
43
|
+
# Adds a chain filter instance.
|
44
44
|
#
|
45
|
-
# A Chain RowFilter
|
45
|
+
# A Chain RowFilter that sends rows through several RowFilters in sequence.
|
46
46
|
#
|
47
47
|
# The elements of "filters" are chained together to process the input row:
|
48
48
|
# in row -> f(0) -> intermediate row -> f(1) -> ... -> f(N) -> out row
|
@@ -52,7 +52,7 @@ module Google
|
|
52
52
|
# @return [Google::Cloud::Bigtable::RowFilter::ChainFilter]
|
53
53
|
# `self` instance of chain filter.
|
54
54
|
#
|
55
|
-
# @example Create chain filter and add chain filter.
|
55
|
+
# @example Create a chain filter and add a chain filter.
|
56
56
|
#
|
57
57
|
# chain_1 = Google::Cloud::Bigtable::RowFilter.chain
|
58
58
|
#
|
@@ -74,7 +74,7 @@ module Google
|
|
74
74
|
|
75
75
|
# Add interleave filter.
|
76
76
|
#
|
77
|
-
# A RowFilter
|
77
|
+
# A RowFilter that sends each row to each of several component
|
78
78
|
# RowFilters and interleaves the results.
|
79
79
|
#
|
80
80
|
# The elements of "filters" all process a copy of the input row, and the
|
@@ -125,17 +125,17 @@ module Google
|
|
125
125
|
add(filter)
|
126
126
|
end
|
127
127
|
|
128
|
-
#
|
128
|
+
# Adds a condition filter instance.
|
129
129
|
#
|
130
|
-
# A RowFilter
|
130
|
+
# A RowFilter that evaluates one of two possible RowFilters, depending on
|
131
131
|
# whether or not a predicate RowFilter outputs any cells from the input row.
|
132
132
|
#
|
133
133
|
# IMPORTANT NOTE: The predicate filter does not execute atomically with the
|
134
134
|
# true and false filters, which may lead to inconsistent or unexpected
|
135
|
-
# results. Additionally,
|
135
|
+
# results. Additionally, condition filters have poor performance, especially
|
136
136
|
# when filters are set for the false condition.
|
137
137
|
#
|
138
|
-
# Cannot be used within the `predicate_filter`, `true_filter`, or `false_filter
|
138
|
+
# Cannot be used within the `predicate_filter`, `true_filter`, or `false_filter`.
|
139
139
|
#
|
140
140
|
# @param filter [Google::Cloud::Bigtable::RowFilter::ConditionFilter]
|
141
141
|
# @return [Google::Cloud::Bigtable::RowFilter::ChainFilter]
|
@@ -159,7 +159,7 @@ module Google
|
|
159
159
|
add(filter)
|
160
160
|
end
|
161
161
|
|
162
|
-
#
|
162
|
+
# Adds a pass filter instance.
|
163
163
|
#
|
164
164
|
# Matches all cells, regardless of input. Functionally equivalent to
|
165
165
|
# leaving `filter` unset, but included for completeness.
|
@@ -175,7 +175,7 @@ module Google
|
|
175
175
|
add(RowFilter.pass)
|
176
176
|
end
|
177
177
|
|
178
|
-
#
|
178
|
+
# Adds a block-all filter instance.
|
179
179
|
#
|
180
180
|
# Does not match any cells, regardless of input. Useful for temporarily
|
181
181
|
# disabling just part of a filter.
|
@@ -191,9 +191,9 @@ module Google
|
|
191
191
|
add(RowFilter.block)
|
192
192
|
end
|
193
193
|
|
194
|
-
#
|
194
|
+
# Adds a sink filter instance.
|
195
195
|
#
|
196
|
-
# Outputs all cells directly to the output of the read rather than to any parent filter
|
196
|
+
# Outputs all cells directly to the output of the read rather than to any parent filter.
|
197
197
|
#
|
198
198
|
# @return [Google::Cloud::Bigtable::RowFilter::ChainFilter]
|
199
199
|
# `self` instance of chain filter.
|
@@ -206,9 +206,9 @@ module Google
|
|
206
206
|
add(RowFilter.sink)
|
207
207
|
end
|
208
208
|
|
209
|
-
#
|
209
|
+
# Adds a strip-value filter instance.
|
210
210
|
#
|
211
|
-
# Replaces each cell's value with
|
211
|
+
# Replaces each cell's value with an empty string.
|
212
212
|
#
|
213
213
|
# @return [Google::Cloud::Bigtable::RowFilter::ChainFilter]
|
214
214
|
# `self` instance of chain filter.
|
@@ -221,7 +221,7 @@ module Google
|
|
221
221
|
add(RowFilter.strip_value)
|
222
222
|
end
|
223
223
|
|
224
|
-
#
|
224
|
+
# Adds a key-filter instance to match keys using a regular expression.
|
225
225
|
#
|
226
226
|
# Matches only cells from rows whose keys satisfy the given RE2 regex. In
|
227
227
|
# other words, passes through the entire row when the key matches, and
|
@@ -246,13 +246,13 @@ module Google
|
|
246
246
|
add(RowFilter.key(regex))
|
247
247
|
end
|
248
248
|
|
249
|
-
#
|
249
|
+
# Adds a sample-probability filter instance.
|
250
250
|
#
|
251
251
|
# Matches all cells from a row with probability p, and matches no cells
|
252
252
|
# from the row with probability 1-p.
|
253
253
|
#
|
254
254
|
# @param probability [Float] Probability value
|
255
|
-
# Probability must be greather then 0 and less then 1.0
|
255
|
+
# Probability must be greather then 0 and less then 1.0.
|
256
256
|
# @return [Google::Cloud::Bigtable::RowFilter::ChainFilter]
|
257
257
|
# `self` instance of chain filter.
|
258
258
|
#
|
@@ -264,7 +264,7 @@ module Google
|
|
264
264
|
add(RowFilter.sample(probability))
|
265
265
|
end
|
266
266
|
|
267
|
-
#
|
267
|
+
# Adds a family-name-match filter using a regular expression.
|
268
268
|
#
|
269
269
|
# Matches only cells from columns whose families satisfy the given RE2
|
270
270
|
# regex. For technical reasons, the regex must not contain the `:`
|
@@ -288,7 +288,7 @@ module Google
|
|
288
288
|
add(RowFilter.family(regex))
|
289
289
|
end
|
290
290
|
|
291
|
-
# Add column
|
291
|
+
# Add a column-qualifier-match filter using a regular expression.
|
292
292
|
#
|
293
293
|
# Matches only cells from columns whose qualifiers satisfy the given RE2
|
294
294
|
# regex.
|
@@ -312,7 +312,7 @@ module Google
|
|
312
312
|
add(RowFilter.qualifier(regex))
|
313
313
|
end
|
314
314
|
|
315
|
-
#
|
315
|
+
# Adds a value-match filter using a regular expression.
|
316
316
|
#
|
317
317
|
# Matches only cells with values that satisfy the given regular expression.
|
318
318
|
# Note that, since cell values can contain arbitrary bytes, the `\C` escape
|
@@ -335,21 +335,20 @@ module Google
|
|
335
335
|
add(RowFilter.value(regex))
|
336
336
|
end
|
337
337
|
|
338
|
-
#
|
338
|
+
# Adds a label filter instance to apply a label based on the result of read rows.
|
339
339
|
#
|
340
340
|
# Applies the given label to all cells in the output row. This allows
|
341
341
|
# the client to determine which results were produced from which part of
|
342
342
|
# the filter.
|
343
343
|
#
|
344
|
-
# Values must be at most 15 characters
|
344
|
+
# Values must be at most 15 characters and match the RE2
|
345
345
|
# pattern `[a-z0-9\\-]+`
|
346
346
|
#
|
347
|
-
# Due to a technical limitation, it is not
|
348
|
-
# multiple labels to a cell. As a result, a
|
349
|
-
# one sub-filter
|
347
|
+
# Due to a technical limitation, it is not possible to apply
|
348
|
+
# multiple labels to a cell. As a result, a chain may have no more than
|
349
|
+
# one sub-filter that contains an `apply_label_transformer`. It is okay for
|
350
350
|
# an Interleave to contain multiple `apply_label_transformers`, as they
|
351
|
-
# will be applied to separate copies of the input.
|
352
|
-
# the future.
|
351
|
+
# will be applied to separate copies of the input.
|
353
352
|
#
|
354
353
|
# @param value [String] Label name
|
355
354
|
# @return [Google::Cloud::Bigtable::RowFilter::ChainFilter]
|
@@ -363,7 +362,7 @@ module Google
|
|
363
362
|
add(RowFilter.label(value))
|
364
363
|
end
|
365
364
|
|
366
|
-
#
|
365
|
+
# Adds a cell-per-row-offset filter instance to skip the first N cells.
|
367
366
|
#
|
368
367
|
# Skips the first N cells of each row, matching all subsequent cells.
|
369
368
|
# If duplicate cells are present, as is possible when using an Interleave,
|
@@ -381,7 +380,7 @@ module Google
|
|
381
380
|
add(RowFilter.cells_per_row_offset(offset))
|
382
381
|
end
|
383
382
|
|
384
|
-
#
|
383
|
+
# Adds a cells-per-row-limit filter instance.
|
385
384
|
#
|
386
385
|
# Matches only the first N cells of each row.
|
387
386
|
# If duplicate cells are present, as is possible when using an Interleave,
|
@@ -399,7 +398,7 @@ module Google
|
|
399
398
|
add(RowFilter.cells_per_row(limit))
|
400
399
|
end
|
401
400
|
|
402
|
-
#
|
401
|
+
# Adds a cells-per-column filter instance.
|
403
402
|
#
|
404
403
|
# Matches only the most recent N cells within each column. For example,
|
405
404
|
# if N=2, this filter would match column `foo:bar` at timestamps 10 and 9,
|
@@ -420,10 +419,10 @@ module Google
|
|
420
419
|
add(RowFilter.cells_per_column(limit))
|
421
420
|
end
|
422
421
|
|
423
|
-
#
|
422
|
+
# Adds a timestamp-range filter instance.
|
424
423
|
#
|
425
424
|
# Matches only cells with timestamps within the given range.
|
426
|
-
#
|
425
|
+
# Specifies a contiguous range of timestamps.
|
427
426
|
#
|
428
427
|
# @param from [Integer] Inclusive lower bound.
|
429
428
|
# If left empty, interpreted as 0.
|
@@ -443,14 +442,14 @@ module Google
|
|
443
442
|
add(RowFilter.timestamp_range(from: from, to: to))
|
444
443
|
end
|
445
444
|
|
446
|
-
#
|
445
|
+
# Adds a value-range filter instance.
|
447
446
|
#
|
448
447
|
# Matches only cells with values that fall within the given range.
|
449
448
|
#
|
450
449
|
# See {Google::Cloud::Bigtable::ValueRange#from} and { Google::Cloud::Bigtable::ValueRange#to} for range
|
451
450
|
# option inclusive/exclusive options
|
452
451
|
#
|
453
|
-
# * The value at which to start the range.If neither field is set, interpreted as
|
452
|
+
# * The value at which to start the range. If neither field is set, interpreted as an empty string, inclusive.
|
454
453
|
# * The value at which to end the range. If neither field is set, interpreted as the infinite string, exclusive.
|
455
454
|
#
|
456
455
|
# @param range [Google::Cloud::Bigtable::ValueRange]
|
@@ -471,7 +470,7 @@ module Google
|
|
471
470
|
add(RowFilter.value_range(range))
|
472
471
|
end
|
473
472
|
|
474
|
-
#
|
473
|
+
# Adds a column-range filter instance.
|
475
474
|
#
|
476
475
|
# Matches only cells from columns within the given range.
|
477
476
|
#
|
@@ -489,7 +488,7 @@ module Google
|
|
489
488
|
add(RowFilter.column_range(range))
|
490
489
|
end
|
491
490
|
|
492
|
-
#
|
491
|
+
# Gets the number of filters in the chain filter.
|
493
492
|
#
|
494
493
|
# @return [Integer]
|
495
494
|
#
|
@@ -502,7 +501,7 @@ module Google
|
|
502
501
|
@grpc.filters.length
|
503
502
|
end
|
504
503
|
|
505
|
-
#
|
504
|
+
# Gets the list of filters.
|
506
505
|
#
|
507
506
|
# @return [Array<Google::Bigtable::V2::RowFilter>]
|
508
507
|
#
|
@@ -512,7 +511,7 @@ module Google
|
|
512
511
|
|
513
512
|
# @private
|
514
513
|
#
|
515
|
-
#
|
514
|
+
# Gets a gRPC object of RowFilter with a chain filter.
|
516
515
|
#
|
517
516
|
# @return [Google::Bigtable::V2::RowFilter]
|
518
517
|
#
|
@@ -524,7 +523,7 @@ module Google
|
|
524
523
|
private
|
525
524
|
|
526
525
|
# @private
|
527
|
-
#
|
526
|
+
# Adds a filter to a chain.
|
528
527
|
#
|
529
528
|
# @param filter [SimpleFilter, ChainFilter, InterleaveFilter, ConditionFilter]
|
530
529
|
#
|
@@ -21,15 +21,15 @@ module Google
|
|
21
21
|
module RowFilter
|
22
22
|
# # ConditionFilter
|
23
23
|
#
|
24
|
-
# A RowFilter
|
24
|
+
# A RowFilter that evaluates one of two possible RowFilters, depending on
|
25
25
|
# whether or not a predicate RowFilter outputs any cells from the input row.
|
26
26
|
#
|
27
27
|
# IMPORTANT NOTE: The predicate filter does not execute atomically with the
|
28
28
|
# true and false filters, which may lead to inconsistent or unexpected
|
29
|
-
# results. Additionally,
|
29
|
+
# results. Additionally, condition filters have poor performance, especially
|
30
30
|
# when filters are set for the false condition.
|
31
31
|
#
|
32
|
-
#
|
32
|
+
# If `predicate_filter` outputs any cells, then `true_filter` will be
|
33
33
|
# evaluated on the input row. Otherwise, `false_filter` will be evaluated.
|
34
34
|
#
|
35
35
|
# @example
|
@@ -42,7 +42,7 @@ module Google
|
|
42
42
|
#
|
43
43
|
class ConditionFilter
|
44
44
|
# @private
|
45
|
-
#
|
45
|
+
# Creates a condition filter instance.
|
46
46
|
#
|
47
47
|
# @param predicate [SimpleFilter, ChainFilter, InterleaveFilter, ConditionFilter]
|
48
48
|
#
|
@@ -51,7 +51,7 @@ module Google
|
|
51
51
|
@grpc.predicate_filter = predicate.to_grpc
|
52
52
|
end
|
53
53
|
|
54
|
-
# Set true filter on predicate
|
54
|
+
# Set a true filter on predicate-filter match.
|
55
55
|
#
|
56
56
|
# The filter to apply to the input row if `predicate_filter` returns any
|
57
57
|
# results. If not provided, no results will be returned in the true case.
|
@@ -95,7 +95,7 @@ module Google
|
|
95
95
|
end
|
96
96
|
|
97
97
|
# @private
|
98
|
-
#
|
98
|
+
# Gets the row-filter gRPC instance.
|
99
99
|
# @return [Google::Bigtable::V2::RowFilter]
|
100
100
|
#
|
101
101
|
def to_grpc
|
@@ -21,7 +21,7 @@ module Google
|
|
21
21
|
module RowFilter
|
22
22
|
# # InterleaveFilter
|
23
23
|
#
|
24
|
-
# A RowFilter
|
24
|
+
# A RowFilter that sends each row to each of several component
|
25
25
|
# RowFilters and interleaves the results.
|
26
26
|
#
|
27
27
|
# The elements of "filters" all process a copy of the input row, and the
|
@@ -50,7 +50,7 @@ module Google
|
|
50
50
|
#
|
51
51
|
# All interleaved filters are executed atomically.
|
52
52
|
#
|
53
|
-
# @example Create interleave filter with simple filter.
|
53
|
+
# @example Create an interleave filter with a simple filter.
|
54
54
|
#
|
55
55
|
# interleave = Google::Cloud::Bigtable::RowFilter.interleave
|
56
56
|
#
|
@@ -61,7 +61,7 @@ module Google
|
|
61
61
|
# # OR
|
62
62
|
# interleave.key("user-*).sink
|
63
63
|
#
|
64
|
-
# @example Create complex interleave filter.
|
64
|
+
# @example Create a complex interleave filter.
|
65
65
|
#
|
66
66
|
# interleave = Google::Cloud::Bigtable::RowFilter.interleave
|
67
67
|
#
|
@@ -76,11 +76,11 @@ module Google
|
|
76
76
|
@grpc = Google::Bigtable::V2::RowFilter::Interleave.new
|
77
77
|
end
|
78
78
|
|
79
|
-
#
|
79
|
+
# Adds a chain filter instance.
|
80
80
|
#
|
81
|
-
# A Chain RowFilter
|
81
|
+
# A Chain RowFilter that sends rows through several RowFilters in sequence.
|
82
82
|
#
|
83
|
-
# See {Google::Cloud::Bigtable::RowFilter::InterleaveFilter}
|
83
|
+
# See {Google::Cloud::Bigtable::RowFilter::InterleaveFilter}.
|
84
84
|
#
|
85
85
|
# The elements of "filters" are chained together to process the input row:
|
86
86
|
# in row -> f(0) -> intermediate row -> f(1) -> ... -> f(N) -> out row
|
@@ -90,7 +90,7 @@ module Google
|
|
90
90
|
# @return [Google::Cloud::Bigtable::RowFilter::InterleaveFilter]
|
91
91
|
# `self` instance of interleave filter.
|
92
92
|
#
|
93
|
-
# @example Create chain filter and add interleave filter.
|
93
|
+
# @example Create a chain filter and add an interleave filter.
|
94
94
|
#
|
95
95
|
# chain = Google::Cloud::Bigtable::RowFilter.chain
|
96
96
|
#
|
@@ -106,9 +106,9 @@ module Google
|
|
106
106
|
add(filter)
|
107
107
|
end
|
108
108
|
|
109
|
-
#
|
109
|
+
# Adds an interleave filter.
|
110
110
|
#
|
111
|
-
# A RowFilter
|
111
|
+
# A RowFilter that sends each row to each of several component
|
112
112
|
# RowFilters and interleaves the results.
|
113
113
|
#
|
114
114
|
# The elements of "filters" all process a copy of the input row, and the
|
@@ -141,11 +141,11 @@ module Google
|
|
141
141
|
# @return [Google::Cloud::Bigtable::RowFilter::InterleaveFilter]
|
142
142
|
# `self` instance of interleave filter.
|
143
143
|
#
|
144
|
-
# @example Add interleave filter to chain filter
|
144
|
+
# @example Add an interleave filter to a chain filter.
|
145
145
|
#
|
146
146
|
# interleave = Google::Cloud::Bigtable::RowFilter.interleave
|
147
147
|
#
|
148
|
-
# # Add filters to interleave filter
|
148
|
+
# # Add filters to an interleave filter.
|
149
149
|
# interleave.key("user-*").cells_per_column(3)
|
150
150
|
#
|
151
151
|
# filter = Google::Cloud::Bigtable::RowFilter.interleave.interleave(interleave)
|
@@ -157,17 +157,17 @@ module Google
|
|
157
157
|
add(filter)
|
158
158
|
end
|
159
159
|
|
160
|
-
#
|
160
|
+
# Adds a condition filter instance.
|
161
161
|
#
|
162
|
-
# A RowFilter
|
162
|
+
# A RowFilter that evaluates one of two possible RowFilters, depending on
|
163
163
|
# whether or not a predicate RowFilter outputs any cells from the input row.
|
164
164
|
#
|
165
165
|
# IMPORTANT NOTE: The predicate filter does not execute atomically with the
|
166
166
|
# true and false filters, which may lead to inconsistent or unexpected
|
167
|
-
# results. Additionally,
|
167
|
+
# results. Additionally, condition filters have poor performance, especially
|
168
168
|
# when filters are set for the false condition.
|
169
169
|
#
|
170
|
-
# Cannot be used within the `predicate_filter`, `true_filter`, or `false_filter
|
170
|
+
# Cannot be used within the `predicate_filter`, `true_filter`, or `false_filter`.
|
171
171
|
#
|
172
172
|
# @param filter [Google::Cloud::Bigtable::RowFilter::ConditionFilter]
|
173
173
|
# @return [Google::Cloud::Bigtable::RowFilter::InterleaveFilter]
|
@@ -191,7 +191,7 @@ module Google
|
|
191
191
|
add(filter)
|
192
192
|
end
|
193
193
|
|
194
|
-
#
|
194
|
+
# Adds a pass filter instance.
|
195
195
|
#
|
196
196
|
# Matches all cells, regardless of input. Functionally equivalent to
|
197
197
|
# leaving `filter` unset, but included for completeness.
|
@@ -207,7 +207,7 @@ module Google
|
|
207
207
|
add(RowFilter.pass)
|
208
208
|
end
|
209
209
|
|
210
|
-
#
|
210
|
+
# Adds a block-all filter instance.
|
211
211
|
#
|
212
212
|
# Does not match any cells, regardless of input. Useful for temporarily
|
213
213
|
# disabling just part of a filter.
|
@@ -223,9 +223,9 @@ module Google
|
|
223
223
|
add(RowFilter.block)
|
224
224
|
end
|
225
225
|
|
226
|
-
#
|
226
|
+
# Adds a sink filter instance.
|
227
227
|
#
|
228
|
-
# Outputs all cells directly to the output of the read rather than to any parent filter
|
228
|
+
# Outputs all cells directly to the output of the read rather than to any parent filter.
|
229
229
|
#
|
230
230
|
# @return [Google::Cloud::Bigtable::RowFilter::InterleaveFilter]
|
231
231
|
# `self` instance of interleave filter.
|
@@ -238,9 +238,9 @@ module Google
|
|
238
238
|
add(RowFilter.sink)
|
239
239
|
end
|
240
240
|
|
241
|
-
#
|
241
|
+
# Adds a strip-value filter instance.
|
242
242
|
#
|
243
|
-
# Replaces each cell's value with
|
243
|
+
# Replaces each cell's value with an empty string.
|
244
244
|
#
|
245
245
|
# @return [Google::Cloud::Bigtable::RowFilter::InterleaveFilter]
|
246
246
|
# `self` instance of interleave filter.
|
@@ -253,7 +253,7 @@ module Google
|
|
253
253
|
add(RowFilter.strip_value)
|
254
254
|
end
|
255
255
|
|
256
|
-
#
|
256
|
+
# Adds a row-key filter instance to match key using a regular expression.
|
257
257
|
#
|
258
258
|
# Matches only cells from rows whose keys satisfy the given RE2 regex. In
|
259
259
|
# other words, passes through the entire row when the key matches, and
|
@@ -278,7 +278,7 @@ module Google
|
|
278
278
|
add(RowFilter.key(regex))
|
279
279
|
end
|
280
280
|
|
281
|
-
#
|
281
|
+
# Adds a sample-probability filter instance.
|
282
282
|
#
|
283
283
|
# Matches all cells from a row with probability p, and matches no cells
|
284
284
|
# from the row with probability 1-p.
|
@@ -296,7 +296,7 @@ module Google
|
|
296
296
|
add(RowFilter.sample(probability))
|
297
297
|
end
|
298
298
|
|
299
|
-
#
|
299
|
+
# Adds a family-name-match filter using a regular expression.
|
300
300
|
#
|
301
301
|
# Matches only cells from columns whose families satisfy the given RE2
|
302
302
|
# regex. For technical reasons, the regex must not contain the `:`
|
@@ -320,7 +320,7 @@ module Google
|
|
320
320
|
add(RowFilter.family(regex))
|
321
321
|
end
|
322
322
|
|
323
|
-
#
|
323
|
+
# Adds a column-qualifier-match filter using a regular expression.
|
324
324
|
#
|
325
325
|
# Matches only cells from columns whose qualifiers satisfy the given RE2
|
326
326
|
# regex.
|
@@ -344,7 +344,7 @@ module Google
|
|
344
344
|
add(RowFilter.qualifier(regex))
|
345
345
|
end
|
346
346
|
|
347
|
-
#
|
347
|
+
# Adds a value-match filter using a regular expression.
|
348
348
|
#
|
349
349
|
# Matches only cells with values that satisfy the given regular expression.
|
350
350
|
# Note that, since cell values can contain arbitrary bytes, the `\C` escape
|
@@ -367,7 +367,7 @@ module Google
|
|
367
367
|
add(RowFilter.value(regex))
|
368
368
|
end
|
369
369
|
|
370
|
-
#
|
370
|
+
# Adds a label filter instance to apply a label based on the result of read rows.
|
371
371
|
#
|
372
372
|
# Applies the given label to all cells in the output row. This allows
|
373
373
|
# the client to determine which results were produced from which part of
|
@@ -376,12 +376,11 @@ module Google
|
|
376
376
|
# Values must be at most 15 characters in length, and match the RE2
|
377
377
|
# pattern `[a-z0-9\\-]+`
|
378
378
|
#
|
379
|
-
# Due to a technical limitation, it is not
|
379
|
+
# Due to a technical limitation, it is not possible to apply
|
380
380
|
# multiple labels to a cell. As a result, a Chain may have no more than
|
381
381
|
# one sub-filter which contains a `apply_label_transformer`. It is okay for
|
382
382
|
# an Interleave to contain multiple `apply_label_transformers`, as they
|
383
|
-
# will be applied to separate copies of the input.
|
384
|
-
# the future.
|
383
|
+
# will be applied to separate copies of the input.
|
385
384
|
#
|
386
385
|
# @param value [String] Label name
|
387
386
|
# @return [Google::Cloud::Bigtable::RowFilter::InterleaveFilter]
|
@@ -395,10 +394,10 @@ module Google
|
|
395
394
|
add(RowFilter.label(value))
|
396
395
|
end
|
397
396
|
|
398
|
-
#
|
397
|
+
# Adds a cell-per-row-offset filter instance to skip the first N cells.
|
399
398
|
#
|
400
399
|
# Skips the first N cells of each row, matching all subsequent cells.
|
401
|
-
# If duplicate cells are present, as is possible when using an
|
400
|
+
# If duplicate cells are present, as is possible when using an interleave,
|
402
401
|
# each copy of the cell is counted separately.
|
403
402
|
#
|
404
403
|
# @param offset [Integer] Offset value.
|
@@ -413,10 +412,10 @@ module Google
|
|
413
412
|
add(RowFilter.cells_per_row_offset(offset))
|
414
413
|
end
|
415
414
|
|
416
|
-
#
|
415
|
+
# Adds a cells-per-row-limit filter instance.
|
417
416
|
#
|
418
417
|
# Matches only the first N cells of each row.
|
419
|
-
# If duplicate cells are present, as is possible when using an
|
418
|
+
# If duplicate cells are present, as is possible when using an interleave,
|
420
419
|
# each copy of the cell is counted separately.
|
421
420
|
#
|
422
421
|
# @param limit [String] Max cell match per row limit
|
@@ -431,13 +430,13 @@ module Google
|
|
431
430
|
add(RowFilter.cells_per_row(limit))
|
432
431
|
end
|
433
432
|
|
434
|
-
#
|
433
|
+
# Adds a cells-per-column filter instance.
|
435
434
|
#
|
436
435
|
# Matches only the most recent N cells within each column. For example,
|
437
436
|
# if N=2, this filter would match column `foo:bar` at timestamps 10 and 9,
|
438
437
|
# skip all earlier cells in `foo:bar`, and then begin matching again in
|
439
438
|
# column `foo:bar2`.
|
440
|
-
# If duplicate cells are present, as is possible when using an
|
439
|
+
# If duplicate cells are present, as is possible when using an interleave,
|
441
440
|
# each copy of the cell is counted separately.
|
442
441
|
#
|
443
442
|
# @param limit [String] Max cell match per column limit
|
@@ -452,10 +451,10 @@ module Google
|
|
452
451
|
add(RowFilter.cells_per_column(limit))
|
453
452
|
end
|
454
453
|
|
455
|
-
#
|
454
|
+
# Adds a timestamp-range filter instance.
|
456
455
|
#
|
457
456
|
# Matches only cells with timestamps within the given range.
|
458
|
-
#
|
457
|
+
# Specifies a contiguous range of timestamps.
|
459
458
|
#
|
460
459
|
# @param from [Integer] Inclusive lower bound.
|
461
460
|
# If left empty, interpreted as 0.
|
@@ -475,15 +474,15 @@ module Google
|
|
475
474
|
add(RowFilter.timestamp_range(from: from, to: to))
|
476
475
|
end
|
477
476
|
|
478
|
-
#
|
477
|
+
# Adds a value-range filter instance.
|
479
478
|
#
|
480
479
|
# Matches only cells with values that fall within the given range.
|
481
480
|
#
|
482
481
|
# See {Google::Cloud::Bigtable::ValueRange#from} and { Google::Cloud::Bigtable::ValueRange#to} for range
|
483
|
-
# option inclusive/exclusive options
|
482
|
+
# option inclusive/exclusive options.
|
484
483
|
#
|
485
|
-
# * The value at which to start the range.If neither field is set, interpreted as
|
486
|
-
# * The value at which to end the range. If neither field is set, interpreted as
|
484
|
+
# * The value at which to start the range. If neither field is set, interpreted as an empty string, inclusive.
|
485
|
+
# * The value at which to end the range. If neither field is set, interpreted as an infinite string, exclusive.
|
487
486
|
#
|
488
487
|
# @param range [Google::Cloud::Bigtable::ValueRange]
|
489
488
|
# @return [Google::Cloud::Bigtable::RowFilter::InterleaveFilter]
|
@@ -503,7 +502,7 @@ module Google
|
|
503
502
|
add(RowFilter.value_range(range))
|
504
503
|
end
|
505
504
|
|
506
|
-
#
|
505
|
+
# Adds a column-range filter instance.
|
507
506
|
#
|
508
507
|
# Matches only cells from columns within the given range.
|
509
508
|
#
|
@@ -521,7 +520,7 @@ module Google
|
|
521
520
|
add(RowFilter.column_range(range))
|
522
521
|
end
|
523
522
|
|
524
|
-
#
|
523
|
+
# Gets the number of filters in chain filters.
|
525
524
|
#
|
526
525
|
# @return [Integer]
|
527
526
|
#
|
@@ -534,7 +533,7 @@ module Google
|
|
534
533
|
@grpc.filters.length
|
535
534
|
end
|
536
535
|
|
537
|
-
#
|
536
|
+
# Gets a list of filters.
|
538
537
|
#
|
539
538
|
# @return [Array<Google::Bigtable::V2::RowFilter>]
|
540
539
|
#
|
@@ -544,7 +543,7 @@ module Google
|
|
544
543
|
|
545
544
|
# @private
|
546
545
|
#
|
547
|
-
#
|
546
|
+
# Gets a gRPC object of RowFilter with interleave filter.
|
548
547
|
#
|
549
548
|
# @return [Google::Bigtable::V2::RowFilter]
|
550
549
|
#
|
@@ -555,7 +554,7 @@ module Google
|
|
555
554
|
private
|
556
555
|
|
557
556
|
# @private
|
558
|
-
#
|
557
|
+
# Adds a filter to an interleave filter.
|
559
558
|
#
|
560
559
|
# @param filter [SimpleFilter, ChainFilter, InterleaveFilter, ConditionFilter]
|
561
560
|
#
|