Class: Google::Apis::BigqueryV2::JobConfigurationQuery

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ JobConfigurationQuery

Returns a new instance of JobConfigurationQuery



1874
1875
1876
# File 'generated/google/apis/bigquery_v2/classes.rb', line 1874

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

Instance Attribute Details

#allow_large_resultsBoolean Also known as: allow_large_results?

[Optional] If true and query uses legacy SQL dialect, allows the query to produce arbitrarily large result tables at a slight cost in performance. Requires destinationTable to be set. For standard SQL queries, this flag is ignored and large results are always allowed. However, you must still set destinationTable when result size exceeds the allowed maximum response size. Corresponds to the JSON property allowLargeResults

Returns:

  • (Boolean)


1722
1723
1724
# File 'generated/google/apis/bigquery_v2/classes.rb', line 1722

def allow_large_results
  @allow_large_results
end

#clusteringGoogle::Apis::BigqueryV2::Clustering

[Beta] Clustering specification for the destination table. Must be specified with time-based partitioning, data in the table will be first partitioned and subsequently clustered. Corresponds to the JSON property clustering



1730
1731
1732
# File 'generated/google/apis/bigquery_v2/classes.rb', line 1730

def clustering
  @clustering
end

#create_dispositionString

[Optional] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion. Corresponds to the JSON property createDisposition

Returns:

  • (String)


1740
1741
1742
# File 'generated/google/apis/bigquery_v2/classes.rb', line 1740

def create_disposition
  @create_disposition
end

#default_datasetGoogle::Apis::BigqueryV2::DatasetReference

[Optional] Specifies the default dataset to use for unqualified table names in the query. Note that this does not alter behavior of unqualified dataset names. Corresponds to the JSON property defaultDataset



1746
1747
1748
# File 'generated/google/apis/bigquery_v2/classes.rb', line 1746

def default_dataset
  @default_dataset
end

#destination_encryption_configurationGoogle::Apis::BigqueryV2::EncryptionConfiguration

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



1751
1752
1753
# File 'generated/google/apis/bigquery_v2/classes.rb', line 1751

def destination_encryption_configuration
  @destination_encryption_configuration
end

#destination_tableGoogle::Apis::BigqueryV2::TableReference

[Optional] Describes the table where the query results should be stored. If not present, a new table will be created to store the results. This property must be set for large results that exceed the maximum response size. Corresponds to the JSON property destinationTable



1758
1759
1760
# File 'generated/google/apis/bigquery_v2/classes.rb', line 1758

def destination_table
  @destination_table
end

#flatten_resultsBoolean Also known as: flatten_results?

[Optional] If true and query uses legacy SQL dialect, flattens all nested and repeated fields in the query results. allowLargeResults must be true if this is set to false. For standard SQL queries, this flag is ignored and results are never flattened. Corresponds to the JSON property flattenResults

Returns:

  • (Boolean)


1766
1767
1768
# File 'generated/google/apis/bigquery_v2/classes.rb', line 1766

def flatten_results
  @flatten_results
end

#maximum_billing_tierFixnum

[Optional] Limits the billing tier for this job. Queries that have resource usage beyond this tier will fail (without incurring a charge). If unspecified, this will be set to your project default. Corresponds to the JSON property maximumBillingTier

Returns:

  • (Fixnum)


1774
1775
1776
# File 'generated/google/apis/bigquery_v2/classes.rb', line 1774

def maximum_billing_tier
  @maximum_billing_tier
end

#maximum_bytes_billedFixnum

[Optional] Limits the bytes billed for this job. Queries that will have bytes billed beyond this limit will fail (without incurring a charge). If unspecified, this will be set to your project default. Corresponds to the JSON property maximumBytesBilled

Returns:

  • (Fixnum)


1781
1782
1783
# File 'generated/google/apis/bigquery_v2/classes.rb', line 1781

def maximum_bytes_billed
  @maximum_bytes_billed
end

#parameter_modeString

Standard SQL only. Set to POSITIONAL to use positional (?) query parameters or to NAMED to use named (@myparam) query parameters in this query. Corresponds to the JSON property parameterMode

Returns:

  • (String)


1787
1788
1789
# File 'generated/google/apis/bigquery_v2/classes.rb', line 1787

def parameter_mode
  @parameter_mode
end

#preserve_nullsBoolean Also known as: preserve_nulls?

[Deprecated] This property is deprecated. Corresponds to the JSON property preserveNulls

Returns:

  • (Boolean)


1792
1793
1794
# File 'generated/google/apis/bigquery_v2/classes.rb', line 1792

def preserve_nulls
  @preserve_nulls
end

#priorityString

[Optional] Specifies a priority for the query. Possible values include INTERACTIVE and BATCH. The default value is INTERACTIVE. Corresponds to the JSON property priority

Returns:

  • (String)


1799
1800
1801
# File 'generated/google/apis/bigquery_v2/classes.rb', line 1799

def priority
  @priority
end

#queryString

[Required] SQL query text to execute. The useLegacySql field can be used to indicate whether the query uses legacy SQL or standard SQL. Corresponds to the JSON property query

Returns:

  • (String)


1805
1806
1807
# File 'generated/google/apis/bigquery_v2/classes.rb', line 1805

def query
  @query
end

#query_parametersArray<Google::Apis::BigqueryV2::QueryParameter>

Query parameters for standard SQL queries. Corresponds to the JSON property queryParameters



1810
1811
1812
# File 'generated/google/apis/bigquery_v2/classes.rb', line 1810

def query_parameters
  @query_parameters
end

#schema_update_optionsArray<String>

Allows the schema of the destination table to be updated as a side effect of the query job. Schema update options are supported in two cases: when writeDisposition is WRITE_APPEND; when writeDisposition is WRITE_TRUNCATE and the destination table is a partition of a table, specified by partition decorators. For normal tables, WRITE_TRUNCATE will always overwrite the schema. One or more of the following values are specified: ALLOW_FIELD_ADDITION: allow adding a nullable field to the schema. ALLOW_FIELD_RELAXATION: allow relaxing a required field in the original schema to nullable. Corresponds to the JSON property schemaUpdateOptions

Returns:

  • (Array<String>)


1822
1823
1824
# File 'generated/google/apis/bigquery_v2/classes.rb', line 1822

def schema_update_options
  @schema_update_options
end

#table_definitionsHash<String,Google::Apis::BigqueryV2::ExternalDataConfiguration>

[Optional] If querying an external data source outside of BigQuery, describes the data format, location and other properties of the data source. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. Corresponds to the JSON property tableDefinitions



1830
1831
1832
# File 'generated/google/apis/bigquery_v2/classes.rb', line 1830

def table_definitions
  @table_definitions
end

#time_partitioningGoogle::Apis::BigqueryV2::TimePartitioning

Time-based partitioning specification for the destination table. Corresponds to the JSON property timePartitioning



1835
1836
1837
# File 'generated/google/apis/bigquery_v2/classes.rb', line 1835

def time_partitioning
  @time_partitioning
end

#use_legacy_sqlBoolean Also known as: use_legacy_sql?

Specifies whether to use BigQuery's legacy SQL dialect for this query. The default value is true. If set to false, the query will use BigQuery's standard SQL: https://cloud.google.com/bigquery/sql-reference/ When useLegacySql is set to false, the value of flattenResults is ignored; query will be run as if flattenResults is false. Corresponds to the JSON property useLegacySql

Returns:

  • (Boolean)


1844
1845
1846
# File 'generated/google/apis/bigquery_v2/classes.rb', line 1844

def use_legacy_sql
  @use_legacy_sql
end

#use_query_cacheBoolean Also known as: use_query_cache?

[Optional] Whether to look for the result in the query cache. The query cache is a best-effort cache that will be flushed whenever tables in the query are modified. Moreover, the query cache is only available when a query does not have a destination table specified. The default value is true. Corresponds to the JSON property useQueryCache

Returns:

  • (Boolean)


1853
1854
1855
# File 'generated/google/apis/bigquery_v2/classes.rb', line 1853

def use_query_cache
  @use_query_cache
end

#user_defined_function_resourcesArray<Google::Apis::BigqueryV2::UserDefinedFunctionResource>

Describes user-defined function resources used in the query. Corresponds to the JSON property userDefinedFunctionResources



1859
1860
1861
# File 'generated/google/apis/bigquery_v2/classes.rb', line 1859

def user_defined_function_resources
  @user_defined_function_resources
end

#write_dispositionString

[Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data and uses the schema from the query result. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion. Corresponds to the JSON property writeDisposition

Returns:

  • (String)


1872
1873
1874
# File 'generated/google/apis/bigquery_v2/classes.rb', line 1872

def write_disposition
  @write_disposition
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
# File 'generated/google/apis/bigquery_v2/classes.rb', line 1879

def update!(**args)
  @allow_large_results = args[:allow_large_results] if args.key?(:allow_large_results)
  @clustering = args[:clustering] if args.key?(:clustering)
  @create_disposition = args[:create_disposition] if args.key?(:create_disposition)
  @default_dataset = args[:default_dataset] if args.key?(:default_dataset)
  @destination_encryption_configuration = args[:destination_encryption_configuration] if args.key?(:destination_encryption_configuration)
  @destination_table = args[:destination_table] if args.key?(:destination_table)
  @flatten_results = args[:flatten_results] if args.key?(:flatten_results)
  @maximum_billing_tier = args[:maximum_billing_tier] if args.key?(:maximum_billing_tier)
  @maximum_bytes_billed = args[:maximum_bytes_billed] if args.key?(:maximum_bytes_billed)
  @parameter_mode = args[:parameter_mode] if args.key?(:parameter_mode)
  @preserve_nulls = args[:preserve_nulls] if args.key?(:preserve_nulls)
  @priority = args[:priority] if args.key?(:priority)
  @query = args[:query] if args.key?(:query)
  @query_parameters = args[:query_parameters] if args.key?(:query_parameters)
  @schema_update_options = args[:schema_update_options] if args.key?(:schema_update_options)
  @table_definitions = args[:table_definitions] if args.key?(:table_definitions)
  @time_partitioning = args[:time_partitioning] if args.key?(:time_partitioning)
  @use_legacy_sql = args[:use_legacy_sql] if args.key?(:use_legacy_sql)
  @use_query_cache = args[:use_query_cache] if args.key?(:use_query_cache)
  @user_defined_function_resources = args[:user_defined_function_resources] if args.key?(:user_defined_function_resources)
  @write_disposition = args[:write_disposition] if args.key?(:write_disposition)
end