Class QueryJobConfig (3.17.0)

QueryJobConfig(**kwargs)

Configuration options for query jobs.

All properties in this class are optional. Values which are :data:None -> server defaults. Set properties on the constructed configuration by using the property name as the name of a keyword argument.

Properties

allow_large_results

clustering_fields

Optional[List[str]]: Fields defining clustering for the table

(Defaults to :data:None).

Clustering fields are immutable after table creation.

connection_properties

create_disposition

create_session

[Preview] If :data:True, creates a new session, where session_info will contain a random server generated session id.

If :data:False, runs query with an existing session_id passed in connection_properties, otherwise runs query in non-session mode.

See https://cloud.google.com/bigquery/docs/reference/rest/v2/Job#JobConfigurationQuery.FIELDS.create_session

.. versionadded:: 2.29.0

default_dataset

google.cloud.bigquery.dataset.DatasetReference: the default dataset to use for unqualified table names in the query or :data:None if not set.

The default_dataset setter accepts:

  • a Dataset, or
  • a DatasetReference, or
  • a str of the fully-qualified dataset ID in standard SQL format. The value must included a project ID and dataset ID separated by .. For example: your-project.your_dataset.

See https://cloud.google.com/bigquery/docs/reference/rest/v2/Job#JobConfigurationQuery.FIELDS.default_dataset

destination

google.cloud.bigquery.table.TableReference: table where results are written or :data:None if not set.

The destination setter accepts:

  • a Table, or
  • a TableReference, or
  • a str of the fully-qualified table ID in standard SQL format. The value must included a project ID, dataset ID, and table ID, each separated by .. For example: your-project.your_dataset.your_table.

See https://cloud.google.com/bigquery/docs/reference/rest/v2/Job#JobConfigurationQuery.FIELDS.destination_table

destination_encryption_configuration

google.cloud.bigquery.encryption_configuration.EncryptionConfiguration: Custom encryption configuration for the destination table.

Custom encryption configuration (e.g., Cloud KMS keys) or :data:None if using default encryption.

See https://cloud.google.com/bigquery/docs/reference/rest/v2/Job#JobConfigurationQuery.FIELDS.destination_encryption_configuration

dry_run

bool: :data:True if this query should be a dry run to estimate costs.

See https://cloud.google.com/bigquery/docs/reference/rest/v2/Job#JobConfiguration.FIELDS.dry_run

flatten_results

bool: Flatten nested/repeated fields in results. (Legacy SQL only)

See https://cloud.google.com/bigquery/docs/reference/rest/v2/Job#JobConfigurationQuery.FIELDS.flatten_results

job_timeout_ms

Optional parameter. Job timeout in milliseconds. If this time limit is exceeded, BigQuery might attempt to stop the job. https://cloud.google.com/bigquery/docs/reference/rest/v2/Job#JobConfiguration.FIELDS.job_timeout_ms e.g.

job_config = bigquery.QueryJobConfig( job_timeout_ms = 5000 )
or
job_config.job_timeout_ms = 5000
Exceptions
TypeDescription
ValueErrorIf value type is invalid.

labels

Dict[str, str]: Labels for the job.

This method always returns a dict. Once a job has been created on the server, its labels cannot be modified anymore.

Exceptions
TypeDescription
ValueErrorIf value type is invalid.

maximum_billing_tier

int: Deprecated. Changes the billing tier to allow high-compute queries.

See https://cloud.google.com/bigquery/docs/reference/rest/v2/Job#JobConfigurationQuery.FIELDS.maximum_billing_tier

maximum_bytes_billed

int: Maximum bytes to be billed for this job or :data:None if not set.

See https://cloud.google.com/bigquery/docs/reference/rest/v2/Job#JobConfigurationQuery.FIELDS.maximum_bytes_billed

priority

query_parameters

range_partitioning

Optional[google.cloud.bigquery.table.RangePartitioning]: Configures range-based partitioning for destination table.

Only specify at most one of xref_time_partitioning or xref_range_partitioning.

Exceptions
TypeDescription
ValueErrorIf the value is not RangePartitioning or :data:None.

schema_update_options

List[google.cloud.bigquery.job.SchemaUpdateOption]: Specifies updates to the destination table schema to allow as a side effect of the query job.

script_options

table_definitions

time_partitioning

Optional[google.cloud.bigquery.table.TimePartitioning]: Specifies time-based partitioning for the destination table.

Only specify at most one of xref_time_partitioning or xref_range_partitioning.

Exceptions
TypeDescription
ValueErrorIf the value is not TimePartitioning or :data:None.

udf_resources

use_legacy_sql

use_query_cache

write_disposition

Methods

__setattr__

__setattr__(name, value)

Override to be able to raise error if an unknown property is being set

from_api_repr

from_api_repr(resource: dict) -> google.cloud.bigquery.job.base._JobConfig

Factory: construct a job configuration given its API representation

Parameter
NameDescription
resource Dict

A job configuration in the same representation as is returned from the API.

Returns
TypeDescription
google.cloud.bigquery.job._JobConfigConfiguration parsed from resource.

to_api_repr

to_api_repr() -> dict

Build an API representation of the query job config.

Returns
TypeDescription
DictA dictionary in the format used by the BigQuery API.