BigQuery Client - Class Job (1.27.0)

Reference documentation and code samples for the BigQuery Client class Job.

Jobs are objects that manage asynchronous tasks such as running queries, loading data, and exporting data.

Namespace

Google \ Cloud \ BigQuery

Methods

__construct

Parameters
NameDescription
connection Google\Cloud\BigQuery\Connection\ConnectionInterface

Represents a connection to BigQuery.

id string

The job's ID.

projectId string

The project's ID.

mapper Google\Cloud\BigQuery\ValueMapper

Maps values between PHP and BigQuery.

info array

[optional] The job's metadata.

location string|null

[optional] A default geographic location, used when no job metadata exists.

exists

Check whether or not the job exists.

Example:

echo $job->exists();
Returns
TypeDescription
bool

cancel

Requests that a job be cancelled. You will need to poll the job to ensure the cancel request successfully goes through.

Please note that by default the library will not attempt to retry this call on your behalf.

Example:

$job->cancel();

$isComplete = $job->isComplete();

while (!$isComplete) {
    sleep(1); // let's wait for a moment...
    $job->reload();
    $isComplete = $job->isComplete();
}

echo 'Job successfully cancelled.';
Parameter
NameDescription
options array

[optional] Configuration options.

queryResults

Retrieves the results of a query job.

Please note this method will trigger an initial network request, but further polling may be necessary in order to access the full query results. Polling for completion can be initiated by iterating on the returned Google\Cloud\BigQuery\QueryResults, or by calling either Google\Cloud\BigQuery\QueryResults::rows() or Google\Cloud\BigQuery\QueryResults::waitUntilComplete().

Example:

$queryResults = $job->queryResults();
Parameters
NameDescription
options array

Configuration options.

↳ maxResults int

Maximum number of results to read per page.

↳ startIndex int

Zero-based index of the starting row.

↳ initialTimeoutMs int

How long, in milliseconds, to wait for query results to become available before timing out. Defaults to 0 milliseconds (0 seconds). Please note that this option is used only for the initial call to get query results. To control the timeout for any subsequent calls while polling for query results to complete, please see the $timeoutMs option.

↳ timeoutMs int

How long, in milliseconds, each API call will wait for query results to become available before timing out. Depending on whether the $maxRetries has been exceeded, the results will be polled again after the timeout has been reached. Defaults to 10000 milliseconds (10 seconds). Please note that this option is used when iterating on the returned class, and will not apply immediately upon calling of this method.

↳ maxRetries int

The number of times to poll the Job status, until the job is complete. By default, will poll indefinitely. Please note that this option is used when iterating on the returned class, and will not block immediately upon calling of this method.

Returns
TypeDescription
Google\Cloud\BigQuery\QueryResults

waitUntilComplete

Blocks until the job is complete.

Example:

$job->waitUntilComplete();
Parameters
NameDescription
options array

Configuration options.

↳ maxRetries int

The number of times to poll the Job status, until the job is complete. By default, will poll indefinitely.

isComplete

Checks the job's completeness. Useful in combination with Job::reload() to poll for job status.

Example:

$isComplete = $job->isComplete();

while (!$isComplete) {
    sleep(1); // let's wait for a moment...
    $job->reload();
    $isComplete = $job->isComplete();
}

echo 'Query complete!';
Parameter
NameDescription
options array

[optional] Configuration options.

Returns
TypeDescription
bool

info

Retrieves the job's details. If no job data is cached a network request will be made to retrieve it.

Example:

$info = $job->info();
echo $info['statistics']['startTime'];
Parameter
NameDescription
options array

[optional] Configuration options.

Returns
TypeDescription
array

reload

Triggers a network request to reload the job's details.

Example:

echo $job->isComplete(); // false
sleep(1); // let's wait for a moment...
$job->reload(); // execute a network request
echo $job->isComplete(); // true
Parameter
NameDescription
options array

[optional] Configuration options.

Returns
TypeDescription
array

id

Retrieves the job's ID.

Example:

echo $job->id();
Returns
TypeDescription
string

identity

Retrieves the job's identity.

An identity provides a description of a nested resource.

Example:

echo $job->identity()['projectId'];
Returns
TypeDescription
array

Constants

MAX_RETRIES

Value: PHP_INT_MAX