class Google::Apis::BigqueryV2::Table

Attributes

clustering[RW]
Beta

Clustering specification for the table. Must be specified with

partitioning, data in the table will be first partitioned and subsequently clustered. Corresponds to the JSON property `clustering` @return [Google::Apis::BigqueryV2::Clustering]

creation_time[RW]
Output-only

The time when this table was created, in milliseconds since the

epoch. Corresponds to the JSON property `creationTime` @return [Fixnum]

default_collation[RW]
Output-only

The default collation of the table.

Corresponds to the JSON property `defaultCollation` @return [String]

description[RW]
Optional

A user-friendly description of this table.

Corresponds to the JSON property `description` @return [String]

encryption_configuration[RW]

Custom encryption configuration (e.g., Cloud KMS keys). Corresponds to the JSON property `encryptionConfiguration` @return [Google::Apis::BigqueryV2::EncryptionConfiguration]

etag[RW]
Output-only

A hash of the table metadata. Used to ensure there were no

concurrent modifications to the resource when attempting an update. Not guaranteed to change when the table contents or the fields numRows, numBytes, numLongTermBytes or lastModifiedTime change. Corresponds to the JSON property `etag` @return [String]

expiration_time[RW]
Optional

The time when this table expires, in milliseconds since the epoch.

If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed. The defaultTableExpirationMs property of the encapsulating dataset can be used to set a default expirationTime on newly created tables. Corresponds to the JSON property `expirationTime` @return [Fixnum]

external_data_configuration[RW]
Optional

Describes the data format, location, and other properties of a

table stored outside of BigQuery. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. Corresponds to the JSON property `externalDataConfiguration` @return [Google::Apis::BigqueryV2::ExternalDataConfiguration]

friendly_name[RW]
Optional

A descriptive name for this table.

Corresponds to the JSON property `friendlyName` @return [String]

id[RW]
Output-only

An opaque ID uniquely identifying the table.

Corresponds to the JSON property `id` @return [String]

kind[RW]
Output-only

The type of the resource.

Corresponds to the JSON property `kind` @return [String]

labels[RW]

The labels associated with this table. You can use these to organize and group your tables. Label keys and values can be no longer than 63 characters, can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter and each label in the list must have a different key. Corresponds to the JSON property `labels` @return [Hash<String,String>]

last_modified_time[RW]
Output-only

The time when this table was last modified, in milliseconds

since the epoch. Corresponds to the JSON property `lastModifiedTime` @return [Fixnum]

location[RW]
Output-only

The geographic location where the table resides. This value is

inherited from the dataset. Corresponds to the JSON property `location` @return [String]

materialized_view[RW]
Optional

Materialized view definition.

Corresponds to the JSON property `materializedView` @return [Google::Apis::BigqueryV2::MaterializedViewDefinition]

model[RW]
Output-only, Beta

Present iff this table represents a ML model. Describes

the training information for the model, and it is required to run 'PREDICT' queries. Corresponds to the JSON property `model` @return [Google::Apis::BigqueryV2::ModelDefinition]

num_bytes[RW]
Output-only

The size of this table in bytes, excluding any data in the

streaming buffer. Corresponds to the JSON property `numBytes` @return [Fixnum]

num_long_term_bytes[RW]
Output-only

The number of bytes in the table that are considered “long-term

storage“. Corresponds to the JSON property `numLongTermBytes` @return [Fixnum]

num_physical_bytes[RW]
Output-only
TrustedTester

The physical size of this table in bytes,

excluding any data in the streaming buffer. This includes compression and storage used for time travel. Corresponds to the JSON property `numPhysicalBytes` @return [Fixnum]

num_rows[RW]
Output-only

The number of rows of data in this table, excluding any data in

the streaming buffer. Corresponds to the JSON property `numRows` @return [Fixnum]

range_partitioning[RW]
TrustedTester

Range partitioning specification for this table. Only one of

timePartitioning and rangePartitioning should be specified. Corresponds to the JSON property `rangePartitioning` @return [Google::Apis::BigqueryV2::RangePartitioning]

require_partition_filter[RW]
Optional

If set to true, queries over this table require a partition filter

that can be used for partition elimination to be specified. Corresponds to the JSON property `requirePartitionFilter` @return [Boolean]

require_partition_filter?[RW]
Optional

If set to true, queries over this table require a partition filter

that can be used for partition elimination to be specified. Corresponds to the JSON property `requirePartitionFilter` @return [Boolean]

schema[RW]
Optional

Describes the schema of this table.

Corresponds to the JSON property `schema` @return [Google::Apis::BigqueryV2::TableSchema]

snapshot_definition[RW]
Output-only

Snapshot definition.

Corresponds to the JSON property `snapshotDefinition` @return [Google::Apis::BigqueryV2::SnapshotDefinition]

streaming_buffer[RW]
Output-only

Contains information regarding this table's streaming buffer, if

one is present. This field will be absent if the table is not being streamed to or if there is no data in the streaming buffer. Corresponds to the JSON property `streamingBuffer` @return [Google::Apis::BigqueryV2::Streamingbuffer]

table_reference[RW]
Required

Reference describing the ID of this table.

Corresponds to the JSON property `tableReference` @return [Google::Apis::BigqueryV2::TableReference]

time_partitioning[RW]

Time-based partitioning specification for this table. Only one of timePartitioning and rangePartitioning should be specified. Corresponds to the JSON property `timePartitioning` @return [Google::Apis::BigqueryV2::TimePartitioning]

type[RW]
Output-only

Describes the table type. The following values are supported:

TABLE: A normal BigQuery table. VIEW: A virtual table defined by a SQL query. SNAPSHOT: An immutable, read-only table that is a copy of another table. [ TrustedTester] MATERIALIZED_VIEW: SQL query whose result is persisted. EXTERNAL: A table that references data stored in an external storage system, such as Google Cloud Storage. The default value is TABLE. Corresponds to the JSON property `type` @return [String]

view[RW]
Optional

The view definition.

Corresponds to the JSON property `view` @return [Google::Apis::BigqueryV2::ViewDefinition]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/bigquery_v2/classes.rb, line 6357
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

Update properties of this object

# File lib/google/apis/bigquery_v2/classes.rb, line 6362
def update!(**args)
  @clustering = args[:clustering] if args.key?(:clustering)
  @creation_time = args[:creation_time] if args.key?(:creation_time)
  @default_collation = args[:default_collation] if args.key?(:default_collation)
  @description = args[:description] if args.key?(:description)
  @encryption_configuration = args[:encryption_configuration] if args.key?(:encryption_configuration)
  @etag = args[:etag] if args.key?(:etag)
  @expiration_time = args[:expiration_time] if args.key?(:expiration_time)
  @external_data_configuration = args[:external_data_configuration] if args.key?(:external_data_configuration)
  @friendly_name = args[:friendly_name] if args.key?(:friendly_name)
  @id = args[:id] if args.key?(:id)
  @kind = args[:kind] if args.key?(:kind)
  @labels = args[:labels] if args.key?(:labels)
  @last_modified_time = args[:last_modified_time] if args.key?(:last_modified_time)
  @location = args[:location] if args.key?(:location)
  @materialized_view = args[:materialized_view] if args.key?(:materialized_view)
  @model = args[:model] if args.key?(:model)
  @num_bytes = args[:num_bytes] if args.key?(:num_bytes)
  @num_long_term_bytes = args[:num_long_term_bytes] if args.key?(:num_long_term_bytes)
  @num_physical_bytes = args[:num_physical_bytes] if args.key?(:num_physical_bytes)
  @num_rows = args[:num_rows] if args.key?(:num_rows)
  @range_partitioning = args[:range_partitioning] if args.key?(:range_partitioning)
  @require_partition_filter = args[:require_partition_filter] if args.key?(:require_partition_filter)
  @schema = args[:schema] if args.key?(:schema)
  @self_link = args[:self_link] if args.key?(:self_link)
  @snapshot_definition = args[:snapshot_definition] if args.key?(:snapshot_definition)
  @streaming_buffer = args[:streaming_buffer] if args.key?(:streaming_buffer)
  @table_reference = args[:table_reference] if args.key?(:table_reference)
  @time_partitioning = args[:time_partitioning] if args.key?(:time_partitioning)
  @type = args[:type] if args.key?(:type)
  @view = args[:view] if args.key?(:view)
end