Class Dataset (8.0.0)

Interact with your BigQuery dataset. Create a Dataset instance with or .

Package

@google-cloud/bigquery

Example

const{BigQuery}=require('@google-cloud/bigquery');constbigquery=newBigQuery();constdataset=bigquery.dataset('institutions');

Constructors

(constructor)(bigQuery, id, options)

constructor(bigQuery:BigQuery,id:string,options?:DatasetOptions);

Constructs a new instance of theDataset class

Parameters
NameDescription
bigQueryBigQuery
idstring
optionsDatasetOptions

Properties

bigQuery

bigQuery:BigQuery;

location

location?:string;

projectId

projectId:string;

Methods

createQueryJob(options)

createQueryJob(options:string|Query):Promise<JobResponse>;

Run a query as a job. No results are immediately returned. Instead, your callback will be executed with aJob object that you must ping for the results. See the Job documentation for explanations of how to check on the status of the job.

See for full documentation of this method.

Parameter
NameDescription
optionsstring |Query

See for full documentation of this method.

Returns
TypeDescription
Promise<JobResponse_2>

{Promise

createQueryJob(options, callback)

createQueryJob(options:string|Query,callback:JobCallback):void;
Parameters
NameDescription
optionsstring |Query
callbackJobCallback
Returns
TypeDescription
void

createQueryStream(options)

createQueryStream(options:Query|string):Duplex;

Run a query scoped to your dataset as a readable object stream.

See for full documentation of this method.

Parameter
NameDescription
optionsQuery | string

See for full documentation of this method.

Returns
TypeDescription
Duplex

{stream}

createRoutine(id, config)

createRoutine(id:string,config:RoutineMetadata):Promise<RoutineResponse>;
Parameters
NameDescription
idstring

The routine ID.

configRoutineMetadata

A [routine resource]https://cloud.google.com/bigquery/docs/reference/rest/v2/routines#Routine.

Returns
TypeDescription
Promise<RoutineResponse>

{Promise

Examples
const{BigQuery}=require('@google-cloud/bigquery');constbigquery=newBigQuery();constdataset=bigquery.dataset('my-dataset');constid='my-routine';constconfig={arguments:[{name:'x',dataType:{typeKind:'INT64'}}],definitionBody:'x * 3',routineType:'SCALAR_FUNCTION',returnType:{typeKind:'INT64'}};dataset.createRoutine(id,config,(err,routine,apiResponse)=>{if(!err){// The routine was created successfully.}});

If the callback is omitted a Promise will be returned

const[routine,apiResponse]=awaitdataset.createRoutine(id,config);

createRoutine(id, config, callback)

createRoutine(id:string,config:RoutineMetadata,callback:RoutineCallback):void;
Parameters
NameDescription
idstring
configRoutineMetadata
callbackRoutineCallback
Returns
TypeDescription
void

createTable(id, options)

createTable(id:string,options:TableMetadata):Promise<TableResponse>;

Create aTable given a tableId or configuration object.

SeeTables: insert API Documentation

Parameters
NameDescription
idstring

Table id.

optionsTableMetadata

See aTable resource.

Returns
TypeDescription
Promise<TableResponse>

{Promise

Example
const{BigQuery}=require('@google-cloud/bigquery');constbigquery=newBigQuery();constdataset=bigquery.dataset('institutions');consttableId='institution_data';constoptions={// From the data.gov CSV dataset (http://goo.gl/kSE7z6):schema:'UNITID,INSTNM,ADDR,CITY,STABBR,ZIP,FIPS,OBEREG,CHFNM,...'};dataset.createTable(tableId,options,(err,table,apiResponse)=>{});//-// If the callback is omitted, we'll return a Promise.//-dataset.createTable(tableId,options).then((data)=>{consttable=data[0];constapiResponse=data[1];});

createTable(id, options, callback)

createTable(id:string,options:TableMetadata,callback:TableCallback):void;
Parameters
NameDescription
idstring
optionsTableMetadata
callbackTableCallback
Returns
TypeDescription
void

createTable(id, callback)

createTable(id:string,callback:TableCallback):void;
Parameters
NameDescription
idstring
callbackTableCallback
Returns
TypeDescription
void

delete(options)

delete(options?:DatasetDeleteOptions):Promise<[Metadata]>;
Parameter
NameDescription
optionsDatasetDeleteOptions

The configuration object.

Returns
TypeDescription
Promise<[Metadata]>

{Promise

Example
const{BigQuery}=require('@google-cloud/bigquery');constbigquery=newBigQuery();constdataset=bigquery.dataset('institutions');//-// Delete the dataset, only if it does not have any tables.//-dataset.delete((err,apiResponse)=>{});//-// Delete the dataset and any tables it contains.//-dataset.delete({force:true},(err,apiResponse)=>{});//-// If the callback is omitted, we'll return a Promise.//-dataset.delete().then((data)=>{constapiResponse=data[0];});

delete(options, callback)

delete(options:DatasetDeleteOptions,callback:DeleteCallback):void;
Parameters
NameDescription
optionsDatasetDeleteOptions
callbackDeleteCallback
Returns
TypeDescription
void

delete(callback)

delete(callback:DeleteCallback):void;
Parameter
NameDescription
callbackDeleteCallback
Returns
TypeDescription
void

getModels(options)

getModels(options?:GetModelsOptions):Promise<GetModelsResponse>;

Get a list ofModel resources.

SeeModels: list API Documentation

Parameter
NameDescription
optionsGetModelsOptions

Configuration object.

Returns
TypeDescription
Promise<GetModelsResponse>

{Promise

Examples
const{BigQuery}=require('@google-cloud/bigquery');constbigquery=newBigQuery();constdataset=bigquery.dataset('institutions');dataset.getModels((err,models)=>{// models is an array of `Model` objects.});

To control how many API requests are made and page through the results manually, setautoPaginate tofalse.

functionmanualPaginationCallback(err,models,nextQuery,apiResponse){if(nextQuery){// More results exist.dataset.getModels(nextQuery,manualPaginationCallback);}}dataset.getModels({autoPaginate:false},manualPaginationCallback);

If the callback is omitted, we'll return a Promise.

dataset.getModels().then((data)=>{constmodels=data[0];});

getModels(options, callback)

getModels(options:GetModelsOptions,callback:GetModelsCallback):void;
Parameters
NameDescription
optionsGetModelsOptions
callbackGetModelsCallback
Returns
TypeDescription
void

getModels(callback)

getModels(callback:GetModelsCallback):void;
Parameter
NameDescription
callbackGetModelsCallback
Returns
TypeDescription
void

getModelsStream(options)

getModelsStream(options?:GetModelsOptions):ResourceStream<Model>;
Parameter
NameDescription
optionsGetModelsOptions
Returns
TypeDescription
ResourceStream<Model>

getRoutines(options)

getRoutines(options?:GetRoutinesOptions):Promise<GetRoutinesResponse>;

Get a list of routines.

SeeRoutines: list API Documentation

Parameter
NameDescription
optionsGetRoutinesOptions

Request options.

Returns
TypeDescription
Promise<GetRoutinesResponse>

{Promise

Examples
const{BigQuery}=require('@google-cloud/bigquery');constbigquery=newBigQuery();constdataset=bigquery.dataset('institutions');dataset.getRoutines((err,routines)=>{// routines is an array of `Routine` objects.});

To control how many API requests are made and page through the results manually, setautoPaginate tofalse.

functionmanualPaginationCallback(err,routines,nextQuery,apiResponse){if(nextQuery){// More results exist.dataset.getRoutines(nextQuery,manualPaginationCallback);}}dataset.getRoutines({autoPaginate:false},manualPaginationCallback);

If the callback is omitted a Promise will be returned

const[routines]=awaitdataset.getRoutines();

getRoutines(options, callback)

getRoutines(options:GetRoutinesOptions,callback:GetRoutinesCallback):void;
Parameters
NameDescription
optionsGetRoutinesOptions
callbackGetRoutinesCallback
Returns
TypeDescription
void

getRoutines(callback)

getRoutines(callback:GetRoutinesCallback):void;
Parameter
NameDescription
callbackGetRoutinesCallback
Returns
TypeDescription
void

getRoutinesStream(options)

getRoutinesStream(options?:GetRoutinesOptions):ResourceStream<Routine>;
Parameter
NameDescription
optionsGetRoutinesOptions
Returns
TypeDescription
ResourceStream<Routine>

getTables(options)

getTables(options?:GetTablesOptions):Promise<GetTablesResponse>;

Get a list ofTable resources.

SeeTables: list API Documentation

Parameter
NameDescription
optionsGetTablesOptions

Configuration object.

Returns
TypeDescription
Promise<GetTablesResponse>

{Promise

Example
const{BigQuery}=require('@google-cloud/bigquery');constbigquery=newBigQuery();constdataset=bigquery.dataset('institutions');dataset.getTables((err,tables)=>{// tables is an array of `Table` objects.});//-// To control how many API requests are made and page through the results// manually, set `autoPaginate` to `false`.//-functionmanualPaginationCallback(err,tables,nextQuery,apiResponse){if(nextQuery){// More results exist.dataset.getTables(nextQuery,manualPaginationCallback);}}dataset.getTables({autoPaginate:false},manualPaginationCallback);//-// If the callback is omitted, we'll return a Promise.//-dataset.getTables().then((data)=>{consttables=data[0];});

getTables(options, callback)

getTables(options:GetTablesOptions,callback:GetTablesCallback):void;
Parameters
NameDescription
optionsGetTablesOptions
callbackGetTablesCallback
Returns
TypeDescription
void

getTables(callback)

getTables(callback:GetTablesCallback):void;
Parameter
NameDescription
callbackGetTablesCallback
Returns
TypeDescription
void

getTablesStream(options)

getTablesStream(options?:GetTablesOptions):ResourceStream<Table>;
Parameter
NameDescription
optionsGetTablesOptions
Returns
TypeDescription
ResourceStream<Table>

model(id)

model(id:string):Model;

Create aModel object.

Parameter
NameDescription
idstring

The ID of the model. {Model}

Returns
TypeDescription
Model
Example
const{BigQuery}=require('@google-cloud/bigquery');constbigquery=newBigQuery();constdataset=bigquery.dataset('institutions');constmodel=dataset.model('my-model');

query(options)

query(options:Query):Promise<QueryRowsResponse>;

Run a query scoped to your dataset.

See for full documentation of this method.

Parameter
NameDescription
optionsQuery

See for full documentation of this method.

Returns
TypeDescription
Promise<QueryRowsResponse>

{Promise

query(options)

query(options:string):Promise<QueryRowsResponse>;
Parameter
NameDescription
optionsstring
Returns
TypeDescription
Promise<QueryRowsResponse>

query(options, callback)

query(options:Query,callback:SimpleQueryRowsCallback):void;
Parameters
NameDescription
optionsQuery
callbackSimpleQueryRowsCallback
Returns
TypeDescription
void

query(options, callback)

query(options:string,callback:SimpleQueryRowsCallback):void;
Parameters
NameDescription
optionsstring
callbackSimpleQueryRowsCallback
Returns
TypeDescription
void

routine(id)

routine(id:string):Routine;

Create aRoutine object.

Parameter
NameDescription
idstring

The ID of the routine.

Returns
TypeDescription
Routine

{Routine}

Example
const{BigQuery}=require('@google-cloud/bigquery');constbigquery=newBigQuery();constdataset=bigquery.dataset('institutions');constroutine=dataset.routine('my_routine');

table(id, options)

table(id:string,options?:TableOptions):Table;

Create aTable object.

Parameters
NameDescription
idstring

The ID of the table.

optionsTableOptions

Table options.

Returns
TypeDescription
Table
Example
const{BigQuery}=require('@google-cloud/bigquery');constbigquery=newBigQuery();constdataset=bigquery.dataset('institutions');constinstitutions=dataset.table('institution_data');

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-10-30 UTC.