Reference documentation and code samples for the BigQuery Client class BigQueryClient.
Google Cloud BigQuery allows you to create, manage, share and query data.
Find more information at the Google Cloud BigQuery Docs .
Example:
use Google\Cloud\BigQuery\BigQueryClient;
$bigQuery = new BigQueryClient();
Namespace
Google \ Cloud \ BigQueryMethods
__construct
Create a BigQuery client.
config
array
Configuration options.
↳ apiEndpoint
string
The hostname with optional port to use in place of the default service endpoint. Example: foobar.com
or foobar.com:1234
.
↳ projectId
string
The project ID from the Google Developer's Console.
↳ authCache
CacheItemPoolInterface
A cache for storing access tokens. Defaults toa simple in memory implementation.
↳ authCacheOptions
array
Cache configuration options.
↳ authHttpHandler
callable
A handler used to deliver Psr7 requests specifically for authentication.
↳ credentialsFetcher
FetchAuthTokenInterface
A credentials fetcher instance.
↳ httpHandler
callable
A handler used to deliver Psr7 requests. Only valid for requests sent over REST.
↳ keyFile
array
The contents of the service account credentials .json file retrieved from the Google Developer's Console. Ex: json_decode(file_get_contents($path), true)
.
↳ keyFilePath
string
The full path to your service account credentials .json file retrieved from the Google Developers Console.
↳ requestTimeout
float
Seconds to wait before timing out the request. Defaults to 0
with REST and 60
with gRPC.
↳ retries
int
Number of retries for a failed request. Defaults to 3
.
↳ scopes
array
Scopes to be used for the request.
↳ quotaProject
string
Specifies a user project to bill for access charges associated with the request.
↳ returnInt64AsObject
bool
If true, 64 bit integers will be returned as a Google\Cloud\Core\Int64 object for 32 bit platform compatibility. Defaults tofalse.
↳ location
string
If provided, determines the default geographic location used when creating datasets and managing jobs. Please note: This is only required for jobs started outside of the US and EU regions. Also, if location metadata has already been fetched over the network it will take precedent over this setting (by calling Google\Cloud\BigQuery\Table::reload() , for example).
query
Returns a BigQuery job configuration.
The job configuration is passed to either Google\Cloud\BigQuery\BigQueryClient::runQuery() or Google\Cloud\BigQuery\BigQueryClient::startQuery() . A configuration can be built using fluent setters or by providing a full set of options at once.
Unless otherwise specified, all configuration options will default based on the query job configuration
except for configuration.query.useLegacySql
, which defaults to false
in this client.
Example:
$queryJobConfig = $bigQuery->query(
'SELECT commit FROM `bigquery-public-data.github_repos.commits` LIMIT 100'
);
// Set create disposition using fluent setters.
$queryJobConfig = $bigQuery->query(
'SELECT commit FROM `bigquery-public-data.github_repos.commits` LIMIT 100'
)->createDisposition('CREATE_NEVER');
// This is equivalent to the above example, using array configuration
// instead of fluent setters.
$queryJobConfig = $bigQuery->query(
'SELECT commit FROM `bigquery-public-data.github_repos.commits` LIMIT 100',
[
'configuration' => [
'query' => [
'createDisposition' => 'CREATE_NEVER'
]
]
]
);
// Set a region to run the job in.
$queryJobConfig = $bigQuery->query(
'SELECT name FROM `my_project.users_dataset.users` LIMIT 100'
)->location('asia-northeast1');
query
string
A BigQuery SQL query.
options
array
Configuration options.
↳ configuration
↳ configuration
queryConfig
Returns a BigQuery job configuration.
The job configuration is passed to either Google\Cloud\BigQuery\BigQueryClient::runQuery() or Google\Cloud\BigQuery\BigQueryClient::startQuery() . A configuration can be built using fluent setters or by providing a full set of options at once.
Unless otherwise specified, all configuration options will default based on the query job configuration
except for configuration.query.useLegacySql
, which defaults to false
in this client.
As this method is an alias, please see Google\Cloud\BigQuery\BigQueryClient::query() for usage examples.
query
string
A BigQuery SQL query.
options
array
Configuration options.
↳ configuration
↳ configuration
runQuery
See also:
query
options
array
Configuration options.
↳ maxResults
int
The maximum number of rows 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.
↳ startIndex
int
Zero-based index of the starting row.
↳ 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).
↳ maxRetries
int
The number of times to poll the Job status, until the job is complete. By default, will poll indefinitely.
↳ returnRawResults
bool
Returns the raw data types returned from BigQuery without converting their values into native PHP types or the custom type classes supported by this library.
startQuery
See also:
query
options
array
[optional] Configuration options.
job
Lazily instantiates a job.
There are no network requests made at this point. To see the operations that can be performed on a job please see Google\Cloud\BigQuery\Job .
Example:
$job = $bigQuery->job('myJobId');
id
string
The id of the already run or running job to request.
options
array
Configuration options.
↳ location
string
The geographic location of the job. Required for jobs started outside of the US and EU regions. Defaults toa location specified in the client configuration.
jobs
See also:
options
array
Configuration options.
↳ allUsers
bool
Whether to display jobs owned by all users in the project. Defaults to false
.
↳ maxResults
int
Maximum number of results to return per page.
↳ resultLimit
int
Limit the number of results returned in total. Defaults to 0
(return all results).
↳ pageToken
string
A previously-returned page token used to resume the loading of results from a specific point.
↳ stateFilter
string
Filter for job state. Maybe be either done
, pending
, or running
.
↳ maxCreationTime
int
Milliseconds since the POSIX epoch. If set, only jobs created before or at this timestamp are returned.
↳ minCreationTime
int
Milliseconds since the POSIX epoch. If set, only jobs created after or at this timestamp are returned.
↳ parentJobId
string
If set, show only child jobs of the specified parent. Otherwise, show all top-level jobs.
Google\Cloud\Core\Iterator\ItemIterator<\google\cloud\bigquery\job>
dataset
Lazily instantiates a dataset.
There are no network requests made at this point. To see the operations that can be performed on a dataset please see Google\Cloud\BigQuery\Dataset .
If the dataset is owned by a different project than the project used to authenticate the client, provide the project ID as the second argument.
Example:
$dataset = $bigQuery->dataset('myDatasetId');
// Reference a dataset from other project.
$dataset = $bigQuery->dataset('samples', 'bigquery-public-data');
id
string
The id of the dataset to request.
projectId
string|null
The id of the project. Defaults tocurrent project id.
datasets
See also:
options
array
Configuration options.
↳ all
bool
Whether to list all datasets, including hidden ones. Defaults to false
.
↳ maxResults
int
Maximum number of results to return per page.
↳ resultLimit
int
Limit the number of results returned in total. Defaults to 0
(return all results).
↳ pageToken
string
A previously-returned page token used to resume the loading of results from a specific point.
↳ filter
string
An expression for filtering the results of the request by label. The syntax is "labels.
Google\Cloud\Core\Iterator\ItemIterator<\google\cloud\bigquery\dataset>
createDataset
See also:
id
string
The id of the dataset to create.
options
array
Configuration options.
↳ metadata
runJob
See also:
config
Google\Cloud\BigQuery\JobConfigurationInterface
The job configuration.
options
array
Configuration options.
↳ maxRetries
int
The number of times to retry, checking if the job has completed. Defaults to 100
.
startJob
See also:
config
Google\Cloud\BigQuery\JobConfigurationInterface
The job configuration.
options
array
[optional] Configuration options.
bytes
Create a Bytes object.
Example:
$bytes = $bigQuery->bytes('hello world');
value
string|resource| Psr\Http\Message\StreamInterface
The bytes value.
date
Create a Date object.
Example:
$date = $bigQuery->date(new \DateTime('1995-02-04'));
value
DateTimeInterface
The date value.
int64
Create an Int64 object. This can be used to work with 64 bit integers as a string value while on a 32 bit platform.
Example:
$int64 = $bigQuery->int64('9223372036854775807');
value
string
The 64 bit integer value in string format.
Google\Cloud\Core\Int64
time
Create a Time object.
Example:
$time = $bigQuery->time(new \DateTime('12:15:00.482172'));
value
DateTimeInterface
The time value.
timestamp
Create a Timestamp object.
Example:
$timestamp = $bigQuery->timestamp(new \DateTime('2003-02-05 11:15:02.421827Z'));
value
DateTimeInterface
The timestamp value.
numeric
Create a Numeric object.
Numeric represents a value with a data type of Numeric .
It supports a fixed 38 decimal digits of precision and 9 decimal digits of scale, and values are in the range of -99999999999999999999999999999.999999999 to 99999999999999999999999999999.999999999.
Example:
$numeric = $bigQuery->numeric('99999999999999999999999999999999999999.999999999');
value
string|int|float
The Numeric value.
numeric
bigNumeric
Create a BigNumeric object.
Numeric represents a value with a data type of BIGNUMERIC .
It supports 76.76 (the 77th digit is partial) decimal digits of precision and 38 decimal digits of scale. Values are in the range of -5.7896044618658097711785492504343953926634992332820282019728792003956564819968E+38 to 5.7896044618658097711785492504343953926634992332820282019728792003956564819967E+38.
Example:
$bigNumeric = $bigQuery->bigNumeric('999999999999999999999999999999999999999999999.99999999999999');
value
string|int|float
The Numeric value.
geography
Create a Geography object.
Example:
$geography = $bigQuery->geography('POINT(10 20)');
value
string
The geography data in WKT format.
json
Create a BigQuery Json object.
Json represents a value with a data type of JSON
Example:
use Google\Cloud\BigQuery\BigQueryClient;
$bigQuery = new BigQueryClient();
$json = $bigQuery->json('{"key":"value"}');
value
string|null
The JSON string value.
getServiceAccount
Get a service account for the KMS integration.
Example:
$serviceAccount = $bigQuery->getServiceAccount();
options
array
[optional] Configuration options.
string
copy
See also:
options
array
Configuration options.
↳ configuration
↳ configuration
extract
See also:
options
array
Configuration options.
↳ configuration
↳ configuration
load
See also:
options
array
Configuration options.
↳ configuration
↳ configuration
Constants
VERSION
Value: '1.30.3
'
MAX_DELAY_MICROSECONDS
Value: 32000000
SCOPE
Value: 'https://www.googleapis.com/auth/bigquery
'
INSERT_SCOPE
Value: 'https://www.googleapis.com/auth/bigquery.insertdata
'