Class: Google::Apis::BigtableadminV2::ColumnFamily
- Inherits:
-
Object
- Object
- Google::Apis::BigtableadminV2::ColumnFamily
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/bigtableadmin_v2/classes.rb,
lib/google/apis/bigtableadmin_v2/representations.rb,
lib/google/apis/bigtableadmin_v2/representations.rb
Overview
A set of columns within a table which share a common configuration.
Instance Attribute Summary collapse
-
#gc_rule ⇒ Google::Apis::BigtableadminV2::GcRule
Rule for determining which cells to delete during garbage collection.
-
#stats ⇒ Google::Apis::BigtableadminV2::ColumnFamilyStats
Approximate statistics related to a single column family within a table.
-
#value_type ⇒ Google::Apis::BigtableadminV2::Type
Type
represents the type of data that is written to, read from, or stored in Bigtable.
Instance Method Summary collapse
-
#initialize(**args) ⇒ ColumnFamily
constructor
A new instance of ColumnFamily.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ ColumnFamily
Returns a new instance of ColumnFamily.
791 792 793 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 791 def initialize(**args) update!(**args) end |
Instance Attribute Details
#gc_rule ⇒ Google::Apis::BigtableadminV2::GcRule
Rule for determining which cells to delete during garbage collection.
Corresponds to the JSON property gcRule
753 754 755 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 753 def gc_rule @gc_rule end |
#stats ⇒ Google::Apis::BigtableadminV2::ColumnFamilyStats
Approximate statistics related to a single column family within a table. This
information may change rapidly, interpreting these values at a point in time
may already preset out-of-date information. Everything below is approximate,
unless otherwise specified.
Corresponds to the JSON property stats
761 762 763 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 761 def stats @stats end |
#value_type ⇒ Google::Apis::BigtableadminV2::Type
Type
represents the type of data that is written to, read from, or stored in
Bigtable. It is heavily based on the GoogleSQL standard to help maintain
familiarity and consistency across products and features. For compatibility
with Bigtable's existing untyped APIs, each Type
includes an Encoding
which describes how to convert to/from the underlying data. This might involve
composing a series of steps into an "encoding chain," for example to convert
from INT64 -> STRING -> raw bytes. In most cases, a "link" in the encoding
chain will be based an on existing GoogleSQL conversion function like CAST
.
Each link in the encoding chain also defines the following properties: *
Natural sort: Does the encoded value sort consistently with the original typed
value? Note that Bigtable will always sort data based on the raw encoded value,
not the decoded type. - Example: BYTES values sort in the same order as
their raw encodings. - Counterexample: Encoding INT64 to a fixed-width STRING
does not preserve sort order when dealing with negative numbers. INT64(1) >
INT64(-1), but STRING("-00001") > STRING("00001). - The overall encoding chain
has this property if every link does. * Self-delimiting: If we concatenate
two encoded values, can we always tell where the first one ends and the second
one begins? - Example: If we encode INT64s to fixed-width STRINGs, the first
value will always contain exactly N digits, possibly preceded by a sign. -
Counterexample: If we concatenate two UTF-8 encoded STRINGs, we have no way to
tell where the first one ends. - The overall encoding chain has this property
if any link does. * Compatibility: Which other systems have matching
encoding schemes? For example, does this encoding have a GoogleSQL equivalent?
HBase? Java?
Corresponds to the JSON property valueType
789 790 791 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 789 def value_type @value_type end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
796 797 798 799 800 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 796 def update!(**args) @gc_rule = args[:gc_rule] if args.key?(:gc_rule) @stats = args[:stats] if args.key?(:stats) @value_type = args[:value_type] if args.key?(:value_type) end |