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
Gets a new instance of ColumnRange.
-
#new_row_range ⇒ Google::Cloud::Bigtable::RowRange
Gets 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.
301 302 303 |
# File 'lib/google/cloud/bigtable/read_operations.rb', line 301 def filter Google::Cloud::Bigtable::RowFilter end |
#new_column_range(family) ⇒ Google::Cloud::Bigtable::ColumnRange
Gets a new instance of ColumnRange.
254 255 256 |
# File 'lib/google/cloud/bigtable/read_operations.rb', line 254 def new_column_range family Google::Cloud::Bigtable::ColumnRange.new family end |
#new_row_range ⇒ Google::Cloud::Bigtable::RowRange
Gets a new instance of RowRange.
284 285 286 |
# File 'lib/google/cloud/bigtable/read_operations.rb', line 284 def new_row_range Google::Cloud::Bigtable::RowRange.new end |
#new_value_range ⇒ Google::Cloud::Bigtable::ValueRange
Creates a new instance of ValueRange.
223 224 225 |
# File 'lib/google/cloud/bigtable/read_operations.rb', line 223 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.
193 194 195 |
# File 'lib/google/cloud/bigtable/read_operations.rb', line 193 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.
149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 |
# File 'lib/google/cloud/bigtable/read_operations.rb', line 149 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 = service.sample_row_keys path, app_profile_id: @app_profile_id response.each do |grpc| yield SampleRowKey.from_grpc grpc end end |