Stay organized with collections Save and categorize content based on your preferences.
Reference documentation and code samples for the BigQuery Client class QueryJobConfiguration.
Represents a configuration for a query job. For more information on the available settings please see the Jobs configuration API documentation.
Example:
use Google\Cloud\BigQuery\BigQueryClient;
$bigQuery = new BigQueryClient();
$query = $bigQuery->query('SELECT commit FROM `bigquery-public-data.github_repos.commits` LIMIT 100');
NamespaceGoogle \ Cloud \ BigQuery Methods __construct Parameters Name Description mapper
ValueMapper
Maps values between PHP and BigQuery.
projectId
string
The project's ID.
config
array
A set of configuration options for a job.
location
string|null
The geographic location in which the job is executed.
allowLargeResultsSets whether or not the query can produce arbitrarily large result tables at a slight cost in performance.
Only applies to queries performed with legacy SQL dialect and requires a QueryJobConfiguration::destinationTable() to be set.
Example:
$query->allowLargeResults(true);
Parameter Name Description allowLargeResults
bool
Whether or not to allow large result sets.
clustering Parameter Name Descriptionclustering
array
Clustering specification for the table.
createDispositionSets whether the job is allowed to create new tables.
Example:
$query->createDisposition('CREATE_NEVER');
Parameter Name Description createDisposition
string
The create disposition. Acceptable values include "CREATE_IF_NEEDED"
, "CREATE_NEVER"
.
Sets the default dataset to use for unqualified table names in the query.
Example:
$dataset = $bigQuery->dataset('my_dataset');
$query->defaultDataset($dataset);
Parameter Name Description defaultDataset
Dataset
The default dataset.
destinationEncryptionConfigurationSets the custom encryption configuration (e.g., Cloud KMS keys).
Example:
$query->destinationEncryptionConfiguration([
'kmsKeyName' => 'my_key'
]);
Parameter Name Description configuration
array
Custom encryption configuration.
destinationTableSets the table where the query results should be stored. If not set, a new table will be created to store the results. This property must be set for large results that exceed the maximum response size.
Example:
$table = $bigQuery->dataset('my_dataset')
->table('my_table');
$query->destinationTable($table);
Parameter Name Description destinationTable
Table
The destination table.
flattenResultsSets whether or not to flatten all nested and repeated fields in the query results.
Only applies to queries performed with legacy SQL dialect. QueryJobConfiguration::allowLargeResults() must be true if this is set to false.
Example:
$query->useLegacySql(true)
->flattenResults(true);
Parameter Name Description flattenResults
bool
Whether or not to flatten results.
maximumBillingTierSets the billing tier limit 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.
Example:
$query->maximumBillingTier(1);
Parameter Name Description maximumBillingTier
int
The maximum billing tier.
maximumBytesBilledSets a bytes billed limit 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.
Example:
$query->maximumBytesBilled(3000);
Parameter Name Description maximumBytesBilled
int
The maximum allowable bytes to bill.
parametersSets parameters to be used on the query. Only available for standard SQL queries.
For examples of usage please see BigQueryClient::runQuery().
Parameter Name Descriptionparameters
array
Parameters to use on the query. When providing a non-associative array positional parameters (?
) will be used. When providing an associative array named parameters will be used (@name
).
Sets the parameter types for positional parameters.
Note, that this is of high importance when an empty array can be passed as a positional parameter, as we have no way of guessing the data type of the array contents.
$queryStr = 'SELECT * FROM `bigquery-public-data.github_repos.commits` ' .
'WHERE author.time_sec IN UNNEST (?) AND message IN UNNEST (?) AND committer.name = ? LIMIT 10';
$queryJobConfig = $bigQuery->query("")
->parameters([[], ["abc", "def"], "John"])
->setParamTypes(['INT64']);
In the above example, the first array will have a type of INT64 while the next one will have a type of STRING (even though the second array type is not supplied).
For named params, we can simply call:
$queryJobConfig = $bigQuery->query("")
->parameters(['times' => [], 'messages' => ["abc", "def"]])
->setParamTypes(['times' => 'INT64']);
Parameter Name Description userTypes
array
The user supplied types for the positional parameters. This overrides the guessed types that the ValueMapper got from the toParameter method call.
prioritySets a priority for the query.
Example:
$query->priority('BATCH');
Parameter Name Description priority
string
The priority. Acceptable values include "INTERACTIVE"
, "BATCH"
. Defaults to "INTERACTIVE"
.
Sets the SQL query.
Example:
$query->query(
'SELECT commit FROM `bigquery-public-data.github_repos.commits` LIMIT 100'
);
Parameter Name Description query
string
SQL query text to execute.
schemaUpdateOptionsSets options to allow 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.
Example:
$query->schemaUpdateOptions([
'ALLOW_FIELD_ADDITION'
]);
Parameter Name Description schemaUpdateOptions
array
Schema update options. Acceptable values include "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).
Sets table definitions for querying an external data source outside of BigQuery. Describes the data format, location and other properties of the data source.
Example:
$query->tableDefinitions([
'autodetect' => true,
'sourceUris' => [
'gs://my_bucket/table.json'
]
]);
Parameter Name Description tableDefinitions
array
The table definitions.
timePartitioningSets time-based partitioning for the destination table.
Only one of timePartitioning and rangePartitioning should be specified.
Example:
$query->timePartitioning([
'type' => 'DAY'
]);
Parameter Name Description timePartitioning
array
Time-based partitioning configuration.
rangePartitioningSets range partitioning specification for the destination table.
Only one of timePartitioning and rangePartitioning should be specified.
Example:
$query->rangePartitioning([
'field' => 'myInt',
'range' => [
'start' => '0',
'end' => '1000',
'interval' => '100'
]
]);
Parameter Name Description rangePartitioning
array
Sets whether or not to use legacy SQL dialect. When not set, defaults to false in this client.
Example:
$query->useLegacySql(true);
Parameter Name Description useLegacySql
bool
Whether or not to use legacy SQL dialect.
useQueryCache Parameter Name DescriptionuseQueryCache
bool
Whether or not to use the query cache.
userDefinedFunctionResourcesSets user-defined function resources used in the query.
Example:
$query->userDefinedFunctionResources([
['resourceUri' => 'gs://my_bucket/code_path']
]);
Parameter Name Description userDefinedFunctionResources
array
User-defined function resources used in the query. This is to be formatted as a list of sub-arrays containing either a key resourceUri
or inlineCode
.
Sets the action that occurs if the destination table already exists. 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.
Example:
$query->writeDisposition('WRITE_TRUNCATE');
Parameter Name Description writeDisposition
string
The write disposition. Acceptable values include "WRITE_TRUNCATE"
, "WRITE_APPEND"
, "WRITE_EMPTY"
. Defaults to* "WRITE_EMPTY"
.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-07 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[],[]]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4