public static final class QueryJobConfiguration.Builder extends JobConfiguration.Builder<QueryJobConfiguration,QueryJobConfiguration.Builder>
   
  
  
  Methods
  
  
  addNamedParameter(String name, QueryParameterValue value)
  
    public QueryJobConfiguration.Builder addNamedParameter(String name, QueryParameterValue value)
   
  Adds a named query parameter to the set of query parameters. See #setNamedParameters(Map) for more details on the input requirements.
 
A named parameter cannot be added after positional parameters have been added.
addPositionalParameter(QueryParameterValue value)
  
    public QueryJobConfiguration.Builder addPositionalParameter(QueryParameterValue value)
   
  Adds a positional query parameter to the list of query parameters. See #setPositionalParameters(Iterable) for more details on the input requirements.
 
A positional parameter cannot be added after named parameters have been added.
addTableDefinition(String tableName, ExternalTableDefinition tableDefinition)
  
    public QueryJobConfiguration.Builder addTableDefinition(String tableName, ExternalTableDefinition tableDefinition)
   
  Adds a new external table definition. If a definition already exists for tableName it
 is updated.
    
      
        | Parameters | 
      
        | Name | Description | 
      
        | tableName | String
 name of the table | 
      
        | tableDefinition | ExternalTableDefinition
 external data configuration for the table used by this query | 
    
  
  
  
  build()
  
    public QueryJobConfiguration build()
   
  
  
  Overrides
  
  
  setAllowLargeResults(Boolean allowLargeResults)
  
    public QueryJobConfiguration.Builder setAllowLargeResults(Boolean allowLargeResults)
   
  Sets whether the job is enabled to create arbitrarily large results. If true the
 query is allowed to create large results at a slight cost in performance. If true
 Builder#setDestinationTable(TableId) must be provided.
See Also: Returning  Large Query Results
    
      
        | Parameter | 
      
        | Name | Description | 
      
        | allowLargeResults | Boolean
 | 
    
  
  
  
  setClustering(Clustering clustering)
  
    public QueryJobConfiguration.Builder setClustering(Clustering clustering)
   
  Sets the clustering specification for the destination table.
setConnectionProperties(List<ConnectionProperty> connectionProperties)
  
    public QueryJobConfiguration.Builder setConnectionProperties(List<ConnectionProperty> connectionProperties)
   
  A connection-level property to customize query behavior. Under JDBC, these correspond
 directly to connection properties passed to the DriverManager. Under ODBC, these correspond
 to properties in the connection string. Currently, the only supported connection property is
 "time_zone", whose value represents the default timezone used to run the query. Additional
 properties are allowed, but ignored. Specifying multiple connection properties with the same
 key is an error.
setCreateDisposition(JobInfo.CreateDisposition createDisposition)
  
    public QueryJobConfiguration.Builder setCreateDisposition(JobInfo.CreateDisposition createDisposition)
   
  
  
  
  
  setCreateSession(Boolean createSession)
  
    public QueryJobConfiguration.Builder setCreateSession(Boolean createSession)
   
  Sets whether to create a new session. If true a random session id will be generated
 by BigQuery. If false, runs query with an existing session_id passed in ConnectionProperty,
 otherwise runs query in non-session mode."
    
      
        | Parameter | 
      
        | Name | Description | 
      
        | createSession | Boolean
 | 
    
  
  
  
  setDefaultDataset(DatasetId defaultDataset)
  
    public QueryJobConfiguration.Builder setDefaultDataset(DatasetId defaultDataset)
   
  Sets the default dataset. This dataset is used for all unqualified table names used in the
 query.
    
      
        | Parameter | 
      
        | Name | Description | 
      
        | defaultDataset | DatasetId
 | 
    
  
  
  
  setDefaultDataset(String defaultDataset)
  
    public QueryJobConfiguration.Builder setDefaultDataset(String defaultDataset)
   
  Sets the default dataset. This dataset is used for all unqualified table names used in the
 query.
    
      
        | Parameter | 
      
        | Name | Description | 
      
        | defaultDataset | String
 | 
    
  
  
  
  setDestinationEncryptionConfiguration(EncryptionConfiguration encryptionConfiguration)
  
    public QueryJobConfiguration.Builder setDestinationEncryptionConfiguration(EncryptionConfiguration encryptionConfiguration)
   
  
  
  
  setDestinationTable(TableId destinationTable)
  
    public QueryJobConfiguration.Builder setDestinationTable(TableId destinationTable)
   
  Sets the table where to put query results. If not provided a new table is created. This value
 is required if Builder#setAllowLargeResults(Boolean) is set to true.
    
      
        | Parameter | 
      
        | Name | Description | 
      
        | destinationTable | TableId
 | 
    
  
  
  
  setDryRun(Boolean dryRun)
  
    public QueryJobConfiguration.Builder setDryRun(Boolean dryRun)
   
  Sets whether the job has to be dry run or not. If set, the job is not executed. A valid query
 will return a mostly empty response with some processing statistics, while an invalid query
 will return the same error it would if it wasn't a dry run.
    
      
        | Parameter | 
      
        | Name | Description | 
      
        | dryRun | Boolean
 | 
    
  
  
  
  setFlattenResults(Boolean flattenResults)
  
    public QueryJobConfiguration.Builder setFlattenResults(Boolean flattenResults)
   
  Sets whether nested and repeated fields should be flattened. If set to false Builder#setAllowLargeResults(Boolean) must be true. By default results are
 flattened.
See Also: Flatten
    
      
        | Parameter | 
      
        | Name | Description | 
      
        | flattenResults | Boolean
 | 
    
  
  
  
  setJobCreationMode(QueryJobConfiguration.JobCreationMode jobCreationMode)
  
    public QueryJobConfiguration.Builder setJobCreationMode(QueryJobConfiguration.JobCreationMode jobCreationMode)
   
  Provides different options on job creation. If not specified the job creation mode is assumed
 to be JobCreationMode#JOB_CREATION_REQUIRED.
setJobTimeoutMs(Long jobTimeoutMs)
  
    public QueryJobConfiguration.Builder setJobTimeoutMs(Long jobTimeoutMs)
   
  [Optional] Job timeout in milliseconds. If this time limit is exceeded, BigQuery may attempt
 to terminate the job.
    
      
        | Parameter | 
      
        | Name | Description | 
      
        | jobTimeoutMs | Long
 jobTimeoutMs or nullfor none | 
    
  
  
  
  setLabels(Map<String,String> labels)
  
    public QueryJobConfiguration.Builder setLabels(Map<String,String> labels)
   
  The labels associated with this job. You can use these to organize and group your jobs. 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.
    
      
        | Parameter | 
      
        | Name | Description | 
      
        | labels | Map<String,String>
 labels or nullfor none | 
    
  
  
  
  setMaxResults(Long maxResults)
  
    public QueryJobConfiguration.Builder setMaxResults(Long maxResults)
   
  This is only supported in the fast query path [Optional] The maximum number of rows of data
 to return per page of results. Setting this flag to a small value such as 1000 and then
 paging through results might improve reliability when the query result set is large. In
 addition to this limit, responses are also limited to 10 MB. By default, there is no maximum
 row count, and only the byte limit applies.
    
      
        | Parameter | 
      
        | Name | Description | 
      
        | maxResults | Long
 maxResults or nullfor none | 
    
  
  
  
  setMaximumBillingTier(Integer maximumBillingTier)
  
    public QueryJobConfiguration.Builder setMaximumBillingTier(Integer maximumBillingTier)
   
  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.
    
      
        | Parameter | 
      
        | Name | Description | 
      
        | maximumBillingTier | Integer
 maximum billing tier for this job | 
    
  
  
  
  setMaximumBytesBilled(Long maximumBytesBilled)
  
    public QueryJobConfiguration.Builder setMaximumBytesBilled(Long maximumBytesBilled)
   
  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.
    
      
        | Parameter | 
      
        | Name | Description | 
      
        | maximumBytesBilled | Long
 maximum bytes billed for this job | 
    
  
  
  
  setNamedParameters(Map<String,QueryParameterValue> values)
  
    public QueryJobConfiguration.Builder setNamedParameters(Map<String,QueryParameterValue> values)
   
  Sets the query parameters to a set of named query parameters to use in the query.
 
The set of query parameters must either be all positional or all named parameters. Named
 parameters are denoted using an @ prefix, e.g. @myParam for a parameter named "myParam".
 
Additionally, useLegacySql must be set to false; query parameters cannot be used with
 legacy SQL.
 
The values parameter can be set to null to clear out the named parameters so that
 positional parameters can be used instead.
setParameterMode(String parameterMode)
  
    public QueryJobConfiguration.Builder setParameterMode(String parameterMode)
   
  Standard SQL only. Set to POSITIONAL to use positional (?) query parameters or to NAMED to
 use named (@myparam) query parameters in this query.
    
      
        | Parameter | 
      
        | Name | Description | 
      
        | parameterMode | String
 | 
    
  
  
  
  setPositionalParameters(Iterable<QueryParameterValue> values)
  
    public QueryJobConfiguration.Builder setPositionalParameters(Iterable<QueryParameterValue> values)
   
  Sets the query parameters to a list of positional query parameters to use in the query.
 
The set of query parameters must either be all positional or all named parameters.
 Positional parameters are denoted in the query with a question mark (?).
 
Additionally, useLegacySql must be set to false; query parameters cannot be used with
 legacy SQL.
 
The values parameter can be set to null to clear out the positional parameters so that
 named parameters can be used instead.
setPriority(QueryJobConfiguration.Priority priority)
  
    public QueryJobConfiguration.Builder setPriority(QueryJobConfiguration.Priority priority)
   
  Sets a priority for the query. If not specified the priority is assumed to be Priority#INTERACTIVE.
setQuery(String query)
  
    public QueryJobConfiguration.Builder setQuery(String query)
   
  Sets the BigQuery SQL query to execute.
    
      
        | Parameter | 
      
        | Name | Description | 
      
        | query | String
 | 
    
  
  
  
  setRangePartitioning(RangePartitioning rangePartitioning)
  
    public QueryJobConfiguration.Builder setRangePartitioning(RangePartitioning rangePartitioning)
   
  Range partitioning specification for this table. Only one of timePartitioning and
 rangePartitioning should be specified.
    
      
        | Parameter | 
      
        | Name | Description | 
      
        | rangePartitioning | RangePartitioning
 rangePartitioning or nullfor none | 
    
  
  
  
  setReservation(String reservation)
  
    public QueryJobConfiguration.Builder setReservation(String reservation)
   
  [Optional] The reservation that job would use. User can specify a reservation to execute the
 job. If reservation is not set, reservation is determined based on the rules defined by the
 reservation assignments. The expected format is
 projects/{project}/locations/{location}/reservations/{reservation}.
    
      
        | Parameter | 
      
        | Name | Description | 
      
        | reservation | String
 reservation or nullfor none | 
    
  
  
  
  setSchemaUpdateOptions(List<JobInfo.SchemaUpdateOption> schemaUpdateOptions)
  
    public QueryJobConfiguration.Builder setSchemaUpdateOptions(List<JobInfo.SchemaUpdateOption> schemaUpdateOptions)
   
  [Experimental] Sets options allowing 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.
setTableDefinitions(Map<String,ExternalTableDefinition> tableDefinitions)
  
    public QueryJobConfiguration.Builder setTableDefinitions(Map<String,ExternalTableDefinition> tableDefinitions)
   
  Sets the external tables definitions. If querying external data sources outside of BigQuery,
 this value describes the data format, location and other properties of the data sources. By
 defining these properties, the data sources can be queried as if they were standard BigQuery
 tables.
setTimePartitioning(TimePartitioning timePartitioning)
  
    public QueryJobConfiguration.Builder setTimePartitioning(TimePartitioning timePartitioning)
   
  Sets the time partitioning specification for the destination table.
setUseLegacySql(Boolean useLegacySql)
  
    public QueryJobConfiguration.Builder setUseLegacySql(Boolean useLegacySql)
   
  
  
    
      
        | Parameter | 
      
        | Name | Description | 
      
        | useLegacySql | Boolean
 | 
    
  
  
  
  setUseQueryCache(Boolean useQueryCache)
  
    public QueryJobConfiguration.Builder setUseQueryCache(Boolean useQueryCache)
   
  Sets 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 Builder#setDestinationTable(TableId) is not set.
See Also: Query Caching
    
      
        | Parameter | 
      
        | Name | Description | 
      
        | useQueryCache | Boolean
 | 
    
  
  
  
  setUserDefinedFunctions(List<UserDefinedFunction> userDefinedFunctions)
  
    public QueryJobConfiguration.Builder setUserDefinedFunctions(List<UserDefinedFunction> userDefinedFunctions)
   
  
  
  
  
  setWriteDisposition(JobInfo.WriteDisposition writeDisposition)
  
    public QueryJobConfiguration.Builder setWriteDisposition(JobInfo.WriteDisposition writeDisposition)
   
  Sets the action that should occur if the destination table already exists.
See Also:   Write Disposition