Interact with your BigQuery dataset. Create a Dataset instance with or .
Package
@google-cloud/bigqueryExample
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
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.
Promise
< JobResponse_2
>
{Promise
createQueryJob(options, callback)
createQueryJob
(
options
:
string
|
Query
,
callback
:
JobCallback
)
:
void
;
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.
Duplex
{stream}
createRoutine(id, config)
createRoutine
(
id
:
string
,
config
:
RoutineMetadata
)
:
Promise<RoutineResponse>
;
Create a Routine .
id
string
The routine ID.
config
RoutineMetadata
A [routine resource] https://cloud.google.com/bigquery/docs/reference/rest/v2/routines#Routine .
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
;
void
createTable(id, options)
createTable
(
id
:
string
,
options
:
TableMetadata
)
:
Promise<TableResponse>
;
Create a Table given a tableId or configuration object.
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
;
void
createTable(id, callback)
createTable
(
id
:
string
,
callback
:
TableCallback
)
:
void
;
void
delete(options)
delete
(
options
?:
DatasetDeleteOptions
)
:
Promise
< [
Metadata
]>;
Delete the dataset.
Promise
<[ Metadata
]>
{Promise
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
;
void
delete(callback)
delete
(
callback
:
DeleteCallback
)
:
void
;
void
getModels(options)
getModels
(
options
?:
GetModelsOptions
)
:
Promise<GetModelsResponse>
;
Get a list of Model resources.
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
;
void
getModels(callback)
getModels
(
callback
:
GetModelsCallback
)
:
void
;
void
getModelsStream(options)
getModelsStream
(
options
?:
GetModelsOptions
)
:
ResourceStream<Model>
;
getRoutines(options)
getRoutines
(
options
?:
GetRoutinesOptions
)
:
Promise<GetRoutinesResponse>
;
Get a list of routines.
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
;
void
getRoutines(callback)
getRoutines
(
callback
:
GetRoutinesCallback
)
:
void
;
void
getRoutinesStream(options)
getRoutinesStream
(
options
?:
GetRoutinesOptions
)
:
ResourceStream<Routine>
;
getTables(options)
getTables
(
options
?:
GetTablesOptions
)
:
Promise<GetTablesResponse>
;
Get a list of Table resources.
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
;
void
getTables(callback)
getTables
(
callback
:
GetTablesCallback
)
:
void
;
void
getTablesStream(options)
getTablesStream
(
options
?:
GetTablesOptions
)
:
ResourceStream<Table>
;
model(id)
model
(
id
:
string
)
:
Model
;
Create a Model object.
id
string
The ID of the model. {Model}
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.
query(options)
query
(
options
:
string
)
:
Promise<QueryRowsResponse>
;
options
string
query(options, callback)
query
(
options
:
Query
,
callback
:
SimpleQueryRowsCallback
)
:
void
;
void
query(options, callback)
query
(
options
:
string
,
callback
:
SimpleQueryRowsCallback
)
:
void
;
void
routine(id)
routine
(
id
:
string
)
:
Routine
;
Create a Routine object.
id
string
The ID of the routine.
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.
const
{
BigQuery
}
=
require
(
' @google-cloud/bigquery
'
);
const
bigquery
=
new
BigQuery
();
const
dataset
=
bigquery
.
dataset
(
'institutions'
);
const
institutions
=
dataset
.
table
(
'institution_data'
);