Class: Google::Apis::BigqueryV2::Table

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/bigquery_v2/classes.rb,
lib/google/apis/bigquery_v2/representations.rb,
lib/google/apis/bigquery_v2/representations.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Table

Returns a new instance of Table.



6357
6358
6359
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6357

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#clusteringGoogle::Apis::BigqueryV2::Clustering

[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



6176
6177
6178
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6176

def clustering
  @clustering
end

#creation_timeFixnum

[Output-only] The time when this table was created, in milliseconds since the epoch. Corresponds to the JSON property creationTime

Returns:

  • (Fixnum)


6182
6183
6184
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6182

def creation_time
  @creation_time
end

#default_collationString

[Output-only] The default collation of the table. Corresponds to the JSON property defaultCollation

Returns:

  • (String)


6187
6188
6189
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6187

def default_collation
  @default_collation
end

#descriptionString

[Optional] A user-friendly description of this table. Corresponds to the JSON property description

Returns:

  • (String)


6192
6193
6194
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6192

def description
  @description
end

#encryption_configurationGoogle::Apis::BigqueryV2::EncryptionConfiguration

Custom encryption configuration (e.g., Cloud KMS keys). Corresponds to the JSON property encryptionConfiguration



6197
6198
6199
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6197

def encryption_configuration
  @encryption_configuration
end

#etagString

[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

Returns:

  • (String)


6205
6206
6207
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6205

def etag
  @etag
end

#expiration_timeFixnum

[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

Returns:

  • (Fixnum)


6214
6215
6216
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6214

def expiration_time
  @expiration_time
end

#external_data_configurationGoogle::Apis::BigqueryV2::ExternalDataConfiguration

[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



6221
6222
6223
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6221

def external_data_configuration
  @external_data_configuration
end

#friendly_nameString

[Optional] A descriptive name for this table. Corresponds to the JSON property friendlyName

Returns:

  • (String)


6226
6227
6228
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6226

def friendly_name
  @friendly_name
end

#idString

[Output-only] An opaque ID uniquely identifying the table. Corresponds to the JSON property id

Returns:

  • (String)


6231
6232
6233
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6231

def id
  @id
end

#kindString

[Output-only] The type of the resource. Corresponds to the JSON property kind

Returns:

  • (String)


6236
6237
6238
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6236

def kind
  @kind
end

#labelsHash<String,String>

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

Returns:

  • (Hash<String,String>)


6245
6246
6247
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6245

def labels
  @labels
end

#last_modified_timeFixnum

[Output-only] The time when this table was last modified, in milliseconds since the epoch. Corresponds to the JSON property lastModifiedTime

Returns:

  • (Fixnum)


6251
6252
6253
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6251

def last_modified_time
  @last_modified_time
end

#locationString

[Output-only] The geographic location where the table resides. This value is inherited from the dataset. Corresponds to the JSON property location

Returns:

  • (String)


6257
6258
6259
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6257

def location
  @location
end

#materialized_viewGoogle::Apis::BigqueryV2::MaterializedViewDefinition

[Optional] Materialized view definition. Corresponds to the JSON property materializedView



6262
6263
6264
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6262

def materialized_view
  @materialized_view
end

#modelGoogle::Apis::BigqueryV2::ModelDefinition

[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



6269
6270
6271
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6269

def model
  @model
end

#num_bytesFixnum

[Output-only] The size of this table in bytes, excluding any data in the streaming buffer. Corresponds to the JSON property numBytes

Returns:

  • (Fixnum)


6275
6276
6277
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6275

def num_bytes
  @num_bytes
end

#num_long_term_bytesFixnum

[Output-only] The number of bytes in the table that are considered "long-term storage". Corresponds to the JSON property numLongTermBytes

Returns:

  • (Fixnum)


6281
6282
6283
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6281

def num_long_term_bytes
  @num_long_term_bytes
end

#num_physical_bytesFixnum

[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

Returns:

  • (Fixnum)


6288
6289
6290
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6288

def num_physical_bytes
  @num_physical_bytes
end

#num_rowsFixnum

[Output-only] The number of rows of data in this table, excluding any data in the streaming buffer. Corresponds to the JSON property numRows

Returns:

  • (Fixnum)


6294
6295
6296
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6294

def num_rows
  @num_rows
end

#range_partitioningGoogle::Apis::BigqueryV2::RangePartitioning

[TrustedTester] Range partitioning specification for this table. Only one of timePartitioning and rangePartitioning should be specified. Corresponds to the JSON property rangePartitioning



6300
6301
6302
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6300

def range_partitioning
  @range_partitioning
end

#require_partition_filterBoolean Also known as: require_partition_filter?

[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

Returns:

  • (Boolean)


6306
6307
6308
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6306

def require_partition_filter
  @require_partition_filter
end

#schemaGoogle::Apis::BigqueryV2::TableSchema

[Optional] Describes the schema of this table. Corresponds to the JSON property schema



6312
6313
6314
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6312

def schema
  @schema
end

[Output-only] A URL that can be used to access this resource again. Corresponds to the JSON property selfLink

Returns:

  • (String)


6317
6318
6319
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6317

def self_link
  @self_link
end

#snapshot_definitionGoogle::Apis::BigqueryV2::SnapshotDefinition

[Output-only] Snapshot definition. Corresponds to the JSON property snapshotDefinition



6322
6323
6324
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6322

def snapshot_definition
  @snapshot_definition
end

#streaming_bufferGoogle::Apis::BigqueryV2::Streamingbuffer

[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



6329
6330
6331
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6329

def streaming_buffer
  @streaming_buffer
end

#table_referenceGoogle::Apis::BigqueryV2::TableReference

[Required] Reference describing the ID of this table. Corresponds to the JSON property tableReference



6334
6335
6336
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6334

def table_reference
  @table_reference
end

#time_partitioningGoogle::Apis::BigqueryV2::TimePartitioning

Time-based partitioning specification for this table. Only one of timePartitioning and rangePartitioning should be specified. Corresponds to the JSON property timePartitioning



6340
6341
6342
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6340

def time_partitioning
  @time_partitioning
end

#typeString

[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

Returns:

  • (String)


6350
6351
6352
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6350

def type
  @type
end

#viewGoogle::Apis::BigqueryV2::ViewDefinition

[Optional] The view definition. Corresponds to the JSON property view



6355
6356
6357
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6355

def view
  @view
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
# 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