Module: Google::Cloud::Bigtable::ReadOperations
- Included in:
- Table
- Defined in:
- lib/google/cloud/bigtable/read_operations.rb
Overview
ReadOperations
Collection of read-rows APIs.
- Sample row key
- Read row
- Read rows
Instance Method Summary collapse
-
#filter ⇒ Google::Cloud::Bigtable::RowRange
Gets a row filter.
-
#new_column_range(family) ⇒ Google::Cloud::Bigtable::ColumnRange
Get a new instance of ColumnRange.
-
#new_row_range ⇒ Google::Cloud::Bigtable::RowRange
Get a new instance of RowRange.
-
#new_value_range ⇒ Google::Cloud::Bigtable::ValueRange
Creates a new instance of ValueRange.
-
#read_row(key, filter: nil) ⇒ Google::Cloud::Bigtable::Row
Reads a single row by row key.
-
#read_rows(keys: nil, ranges: nil, filter: nil, limit: nil, &block) ⇒ Array<Google::Cloud::Bigtable::Row> | :yields: row
Reads rows.
-
#sample_row_keys ⇒ :yields: sample_row_key
Reads sample row keys.
Instance Method Details
#filter ⇒ Google::Cloud::Bigtable::RowRange
Gets a row filter.
305 306 307 |
# File 'lib/google/cloud/bigtable/read_operations.rb', line 305 def filter Google::Cloud::Bigtable::RowFilter end |
#new_column_range(family) ⇒ Google::Cloud::Bigtable::ColumnRange
Get a new instance of ColumnRange.
258 259 260 |
# File 'lib/google/cloud/bigtable/read_operations.rb', line 258 def new_column_range family Google::Cloud::Bigtable::ColumnRange.new family end |
#new_row_range ⇒ Google::Cloud::Bigtable::RowRange
Get a new instance of RowRange.
288 289 290 |
# File 'lib/google/cloud/bigtable/read_operations.rb', line 288 def new_row_range Google::Cloud::Bigtable::RowRange.new end |
#new_value_range ⇒ Google::Cloud::Bigtable::ValueRange
Creates a new instance of ValueRange.
227 228 229 |
# File 'lib/google/cloud/bigtable/read_operations.rb', line 227 def new_value_range Google::Cloud::Bigtable::ValueRange.new end |
#read_row(key, filter: nil) ⇒ Google::Cloud::Bigtable::Row
Reads a single row by row key.
197 198 199 |
# File 'lib/google/cloud/bigtable/read_operations.rb', line 197 def read_row key, filter: nil read_rows(keys: [key], filter: filter).first end |
#read_rows(keys: nil, ranges: nil, filter: nil, limit: nil, &block) ⇒ Array<Google::Cloud::Bigtable::Row> | :yields: row
Reads rows.
Streams back the contents of all requested rows in key order, optionally
applying the same Reader filter to each.
read_rows
, row_ranges
and filter
if not specified, reads from all rows.
See Google::Cloud::Bigtable::RowFilter for filter types.
151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 |
# File 'lib/google/cloud/bigtable/read_operations.rb', line 151 def read_rows keys: nil, ranges: nil, filter: nil, limit: nil, &block return enum_for :read_rows, keys: keys, ranges: ranges, filter: filter, limit: limit unless block_given? row_set = build_row_set keys, ranges rows_limit = limit rows_filter = filter.to_grpc if filter rows_reader = RowsReader.new self begin rows_reader.read rows: row_set, filter: rows_filter, rows_limit: rows_limit, &block rescue *RowsReader::RETRYABLE_ERRORS => e rows_reader.retry_count += 1 raise Google::Cloud::Error.from_error(e) unless rows_reader.retryable? rows_limit, row_set = rows_reader. limit, row_set retry end end |
#sample_row_keys ⇒ :yields: sample_row_key
Reads sample row keys.
Returns a sample of row keys in the table. The returned row keys will delimit contiguous sections of the table of approximately equal size. The sections can be used to break up the data for distributed tasks like MapReduces.
60 61 62 63 64 65 66 67 |
# File 'lib/google/cloud/bigtable/read_operations.rb', line 60 def sample_row_keys return enum_for :sample_row_keys unless block_given? response = client.sample_row_keys path, app_profile_id: @app_profile_id response.each do |grpc| yield SampleRowKey.from_grpc grpc end end |