Class Dataset (7.7.0)

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

Inheritance

EventEmitter > ServiceObject > Dataset

Package

@google-cloud/bigquery

Example


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

Constructors

(constructor)(bigQuery, id, options)

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

Constructs a new instance of the Dataset class

Parameters
Name Description
bigQuery BigQuery
id string
options DatasetOptions

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 a Job 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
Name Description
options string | Query

See for full documentation of this method.

Returns
Type Description
Promise<JobResponse_2>

{Promise

createQueryJob(options, callback)

createQueryJob(options: string | Query, callback: JobCallback): void;
Parameters
Name Description
options string | Query
callback JobCallback
Returns
Type Description
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
Name Description
options Query | string

See for full documentation of this method.

Returns
Type Description
Duplex

{stream}

createRoutine(id, config)

createRoutine(id: string, config: RoutineMetadata): Promise<RoutineResponse>;
Parameters
Name Description
id string

The routine ID.

config RoutineMetadata

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

Returns
Type Description
Promise<RoutineResponse>

{Promise

Examples

const {BigQuery} = require('@google-cloud/bigquery');
const bigquery = new BigQuery();
const dataset = bigquery.dataset('my-dataset');

const id = 'my-routine';
const config = {
  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] = await dataset.createRoutine(id, config);

createRoutine(id, config, callback)

createRoutine(id: string, config: RoutineMetadata, callback: RoutineCallback): void;
Parameters
Name Description
id string
config RoutineMetadata
callback RoutineCallback
Returns
Type Description
void

createTable(id, options)

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

Create a Table given a tableId or configuration object.

See Tables: insert API Documentation

Parameters
Name Description
id string

Table id.

options TableMetadata

See a Table resource.

Returns
Type Description
Promise<TableResponse>

{Promise

Example

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

const tableId = 'institution_data';

const options = {
  // 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) => {
  const table = data[0];
  const apiResponse = data[1];
});

createTable(id, options, callback)

createTable(id: string, options: TableMetadata, callback: TableCallback): void;
Parameters
Name Description
id string
options TableMetadata
callback TableCallback
Returns
Type Description
void

createTable(id, callback)

createTable(id: string, callback: TableCallback): void;
Parameters
Name Description
id string
callback TableCallback
Returns
Type Description
void

delete(options)

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

Delete the dataset.

See Datasets: delete API Documentation

Parameter
Name Description
options DatasetDeleteOptions

The configuration object.

Returns
Type Description
Promise<[Metadata]>

{Promise

Example

const {BigQuery} = require('@google-cloud/bigquery');
const bigquery = new BigQuery();
const dataset = 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) => {
  const apiResponse = data[0];
});

delete(options, callback)

delete(options: DatasetDeleteOptions, callback: DeleteCallback): void;
Parameters
Name Description
options DatasetDeleteOptions
callback DeleteCallback
Returns
Type Description
void

delete(callback)

delete(callback: DeleteCallback): void;
Parameter
Name Description
callback DeleteCallback
Returns
Type Description
void

getModels(options)

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

Get a list of Model resources.

See Models: list API Documentation

Parameter
Name Description
options GetModelsOptions

Configuration object.

Returns
Type Description
Promise<GetModelsResponse>

{Promise

Examples

const {BigQuery} = require('@google-cloud/bigquery');
const bigquery = new BigQuery();
const dataset = 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, set autoPaginate to false.


function manualPaginationCallback(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) => {
  const models = data[0];
});

getModels(options, callback)

getModels(options: GetModelsOptions, callback: GetModelsCallback): void;
Parameters
Name Description
options GetModelsOptions
callback GetModelsCallback
Returns
Type Description
void

getModels(callback)

getModels(callback: GetModelsCallback): void;
Parameter
Name Description
callback GetModelsCallback
Returns
Type Description
void

getModelsStream(options)

getModelsStream(options?: GetModelsOptions): ResourceStream<Model>;
Parameter
Name Description
options GetModelsOptions
Returns
Type Description
ResourceStream<Model>

getRoutines(options)

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

Get a list of routines.

See Routines: list API Documentation

Parameter
Name Description
options GetRoutinesOptions

Request options.

Returns
Type Description
Promise<GetRoutinesResponse>

{Promise

Examples

const {BigQuery} = require('@google-cloud/bigquery');
const bigquery = new BigQuery();
const dataset = 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, set autoPaginate to false.


function manualPaginationCallback(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] = await dataset.getRoutines();

getRoutines(options, callback)

getRoutines(options: GetRoutinesOptions, callback: GetRoutinesCallback): void;
Parameters
Name Description
options GetRoutinesOptions
callback GetRoutinesCallback
Returns
Type Description
void

getRoutines(callback)

getRoutines(callback: GetRoutinesCallback): void;
Parameter
Name Description
callback GetRoutinesCallback
Returns
Type Description
void

getRoutinesStream(options)

getRoutinesStream(options?: GetRoutinesOptions): ResourceStream<Routine>;
Parameter
Name Description
options GetRoutinesOptions
Returns
Type Description
ResourceStream<Routine>

getTables(options)

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

Get a list of Table resources.

See Tables: list API Documentation

Parameter
Name Description
options GetTablesOptions

Configuration object.

Returns
Type Description
Promise<GetTablesResponse>

{Promise

Example

const {BigQuery} = require('@google-cloud/bigquery');
const bigquery = new BigQuery();
const dataset = 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`.
//-
function manualPaginationCallback(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) => {
  const tables = data[0];
});

getTables(options, callback)

getTables(options: GetTablesOptions, callback: GetTablesCallback): void;
Parameters
Name Description
options GetTablesOptions
callback GetTablesCallback
Returns
Type Description
void

getTables(callback)

getTables(callback: GetTablesCallback): void;
Parameter
Name Description
callback GetTablesCallback
Returns
Type Description
void

getTablesStream(options)

getTablesStream(options?: GetTablesOptions): ResourceStream<Table>;
Parameter
Name Description
options GetTablesOptions
Returns
Type Description
ResourceStream<Table>

model(id)

model(id: string): Model;

Create a Model object.

Parameter
Name Description
id string

The ID of the model. {Model}

Returns
Type Description
Model
Example

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

const model = 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
Name Description
options Query

See for full documentation of this method.

Returns
Type Description
Promise<QueryRowsResponse>

{Promise

query(options)

query(options: string): Promise<QueryRowsResponse>;
Parameter
Name Description
options string
Returns
Type Description
Promise<QueryRowsResponse>

query(options, callback)

query(options: Query, callback: SimpleQueryRowsCallback): void;
Parameters
Name Description
options Query
callback SimpleQueryRowsCallback
Returns
Type Description
void

query(options, callback)

query(options: string, callback: SimpleQueryRowsCallback): void;
Parameters
Name Description
options string
callback SimpleQueryRowsCallback
Returns
Type Description
void

routine(id)

routine(id: string): Routine;

Create a Routine object.

Parameter
Name Description
id string

The ID of the routine.

Returns
Type Description
Routine

{Routine}

Example

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

const routine = dataset.routine('my_routine');

table(id, options)

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

Create a Table object.

Parameters
Name Description
id string

The ID of the table.

options TableOptions

Table options.

Returns
Type Description
Table
Example

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

const institutions = dataset.table('institution_data');