blob: 98484767be1990e97fbc17805be593e16856b1d4 [file] [log] [blame]
// Copyright 2020 Google LLC.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Code generated file. DO NOT EDIT.
// Package bigquery provides access to the BigQuery API.
//
// This package is DEPRECATED. Use package cloud.google.com/go/bigquery instead.
//
// For product documentation, see: https://cloud.google.com/bigquery/
//
// Creating a client
//
// Usage example:
//
// import "google.golang.org/api/bigquery/v2"
// ...
// ctx := context.Background()
// bigqueryService, err := bigquery.NewService(ctx)
//
// In this example, Google Application Default Credentials are used for authentication.
//
// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
//
// Other authentication options
//
// By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes:
//
// bigqueryService, err := bigquery.NewService(ctx, option.WithScopes(bigquery.DevstorageReadWriteScope))
//
// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
//
// bigqueryService, err := bigquery.NewService(ctx, option.WithAPIKey("AIza..."))
//
// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
//
// config := &oauth2.Config{...}
// // ...
// token, err := config.Exchange(ctx, ...)
// bigqueryService, err := bigquery.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
//
// See https://godoc.org/google.golang.org/api/option/ for details on options.
package bigquery // import "google.golang.org/api/bigquery/v2"
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"net/url"
"strconv"
"strings"
googleapi "google.golang.org/api/googleapi"
gensupport "google.golang.org/api/internal/gensupport"
option "google.golang.org/api/option"
htransport "google.golang.org/api/transport/http"
)
// Always reference these packages, just in case the auto-generated code
// below doesn't.
var _ = bytes.NewBuffer
var _ = strconv.Itoa
var _ = fmt.Sprintf
var _ = json.NewDecoder
var _ = io.Copy
var _ = url.Parse
var _ = gensupport.MarshalJSON
var _ = googleapi.Version
var _ = errors.New
var _ = strings.Replace
var _ = context.Canceled
const apiId = "bigquery:v2"
const apiName = "bigquery"
const apiVersion = "v2"
const basePath = "https://bigquery.googleapis.com/bigquery/v2/"
// OAuth2 scopes used by this API.
const (
// View and manage your data in Google BigQuery
BigqueryScope = "https://www.googleapis.com/auth/bigquery"
// Insert data into Google BigQuery
BigqueryInsertdataScope = "https://www.googleapis.com/auth/bigquery.insertdata"
// View your data in Google BigQuery
BigqueryReadonlyScope = "https://www.googleapis.com/auth/bigquery.readonly"
// View and manage your data across Google Cloud Platform services
CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
// View your data across Google Cloud Platform services
CloudPlatformReadOnlyScope = "https://www.googleapis.com/auth/cloud-platform.read-only"
// Manage your data and permissions in Google Cloud Storage
DevstorageFullControlScope = "https://www.googleapis.com/auth/devstorage.full_control"
// View your data in Google Cloud Storage
DevstorageReadOnlyScope = "https://www.googleapis.com/auth/devstorage.read_only"
// Manage your data in Google Cloud Storage
DevstorageReadWriteScope = "https://www.googleapis.com/auth/devstorage.read_write"
)
// NewService creates a new Service.
func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
scopesOption := option.WithScopes(
"https://www.googleapis.com/auth/bigquery",
"https://www.googleapis.com/auth/bigquery.insertdata",
"https://www.googleapis.com/auth/bigquery.readonly",
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/cloud-platform.read-only",
"https://www.googleapis.com/auth/devstorage.full_control",
"https://www.googleapis.com/auth/devstorage.read_only",
"https://www.googleapis.com/auth/devstorage.read_write",
)
// NOTE: prepend, so we don't override user-specified scopes.
opts = append([]option.ClientOption{scopesOption}, opts...)
client, endpoint, err := htransport.NewClient(ctx, opts...)
if err != nil {
return nil, err
}
s, err := New(client)
if err != nil {
return nil, err
}
if endpoint != "" {
s.BasePath = endpoint
}
return s, nil
}
// New creates a new Service. It uses the provided http.Client for requests.
//
// Deprecated: please use NewService instead.
// To provide a custom HTTP client, use option.WithHTTPClient.
// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
func New(client *http.Client) (*Service, error) {
if client == nil {
return nil, errors.New("client is nil")
}
s := &Service{client: client, BasePath: basePath}
s.Datasets = NewDatasetsService(s)
s.Jobs = NewJobsService(s)
s.Models = NewModelsService(s)
s.Projects = NewProjectsService(s)
s.Routines = NewRoutinesService(s)
s.Tabledata = NewTabledataService(s)
s.Tables = NewTablesService(s)
return s, nil
}
type Service struct {
client *http.Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
Datasets *DatasetsService
Jobs *JobsService
Models *ModelsService
Projects *ProjectsService
Routines *RoutinesService
Tabledata *TabledataService
Tables *TablesService
}
func (s *Service) userAgent() string {
if s.UserAgent == "" {
return googleapi.UserAgent
}
return googleapi.UserAgent + " " + s.UserAgent
}
func NewDatasetsService(s *Service) *DatasetsService {
rs := &DatasetsService{s: s}
return rs
}
type DatasetsService struct {
s *Service
}
func NewJobsService(s *Service) *JobsService {
rs := &JobsService{s: s}
return rs
}
type JobsService struct {
s *Service
}
func NewModelsService(s *Service) *ModelsService {
rs := &ModelsService{s: s}
return rs
}
type ModelsService struct {
s *Service
}
func NewProjectsService(s *Service) *ProjectsService {
rs := &ProjectsService{s: s}
return rs
}
type ProjectsService struct {
s *Service
}
func NewRoutinesService(s *Service) *RoutinesService {
rs := &RoutinesService{s: s}
return rs
}
type RoutinesService struct {
s *Service
}
func NewTabledataService(s *Service) *TabledataService {
rs := &TabledataService{s: s}
return rs
}
type TabledataService struct {
s *Service
}
func NewTablesService(s *Service) *TablesService {
rs := &TablesService{s: s}
return rs
}
type TablesService struct {
s *Service
}
// AggregateClassificationMetrics: Aggregate metrics for
// classification/classifier models. For multi-class
// models, the metrics are either macro-averaged or micro-averaged.
// When
// macro-averaged, the metrics are calculated for each label and then
// an
// unweighted average is taken of those values. When micro-averaged,
// the
// metric is calculated globally by counting the total number of
// correctly
// predicted rows.
type AggregateClassificationMetrics struct {
// Accuracy: Accuracy is the fraction of predictions given the correct
// label. For
// multiclass this is a micro-averaged metric.
Accuracy float64 `json:"accuracy,omitempty"`
// F1Score: The F1 score is an average of recall and precision. For
// multiclass
// this is a macro-averaged metric.
F1Score float64 `json:"f1Score,omitempty"`
// LogLoss: Logarithmic Loss. For multiclass this is a macro-averaged
// metric.
LogLoss float64 `json:"logLoss,omitempty"`
// Precision: Precision is the fraction of actual positive predictions
// that had
// positive actual labels. For multiclass this is a
// macro-averaged
// metric treating each class as a binary classifier.
Precision float64 `json:"precision,omitempty"`
// Recall: Recall is the fraction of actual positive labels that were
// given a
// positive prediction. For multiclass this is a macro-averaged metric.
Recall float64 `json:"recall,omitempty"`
// RocAuc: Area Under a ROC Curve. For multiclass this is a
// macro-averaged
// metric.
RocAuc float64 `json:"rocAuc,omitempty"`
// Threshold: Threshold at which the metrics are computed. For
// binary
// classification models this is the positive class threshold.
// For multi-class classfication models this is the
// confidence
// threshold.
Threshold float64 `json:"threshold,omitempty"`
// ForceSendFields is a list of field names (e.g. "Accuracy") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Accuracy") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *AggregateClassificationMetrics) MarshalJSON() ([]byte, error) {
type NoMethod AggregateClassificationMetrics
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *AggregateClassificationMetrics) UnmarshalJSON(data []byte) error {
type NoMethod AggregateClassificationMetrics
var s1 struct {
Accuracy gensupport.JSONFloat64 `json:"accuracy"`
F1Score gensupport.JSONFloat64 `json:"f1Score"`
LogLoss gensupport.JSONFloat64 `json:"logLoss"`
Precision gensupport.JSONFloat64 `json:"precision"`
Recall gensupport.JSONFloat64 `json:"recall"`
RocAuc gensupport.JSONFloat64 `json:"rocAuc"`
Threshold gensupport.JSONFloat64 `json:"threshold"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Accuracy = float64(s1.Accuracy)
s.F1Score = float64(s1.F1Score)
s.LogLoss = float64(s1.LogLoss)
s.Precision = float64(s1.Precision)
s.Recall = float64(s1.Recall)
s.RocAuc = float64(s1.RocAuc)
s.Threshold = float64(s1.Threshold)
return nil
}
// Argument: Input/output argument of a function or a stored procedure.
type Argument struct {
// ArgumentKind: Optional. Defaults to FIXED_TYPE.
//
// Possible values:
// "ARGUMENT_KIND_UNSPECIFIED"
// "FIXED_TYPE" - The argument is a variable with fully specified
// type, which can be a
// struct or an array, but not a table.
// "ANY_TYPE" - The argument is any type, including struct or array,
// but not a table.
// To be added: FIXED_TABLE, ANY_TABLE
ArgumentKind string `json:"argumentKind,omitempty"`
// DataType: Required unless argument_kind = ANY_TYPE.
DataType *StandardSqlDataType `json:"dataType,omitempty"`
// Mode: Optional. Specifies whether the argument is input or
// output.
// Can be set for procedures only.
//
// Possible values:
// "MODE_UNSPECIFIED"
// "IN" - The argument is input-only.
// "OUT" - The argument is output-only.
// "INOUT" - The argument is both an input and an output.
Mode string `json:"mode,omitempty"`
// Name: Optional. The name of this argument. Can be absent for function
// return argument.
Name string `json:"name,omitempty"`
// ForceSendFields is a list of field names (e.g. "ArgumentKind") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ArgumentKind") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Argument) MarshalJSON() ([]byte, error) {
type NoMethod Argument
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ArimaCoefficients: Arima coefficients.
type ArimaCoefficients struct {
// AutoRegressiveCoefficients: Auto-regressive coefficients, an array of
// double.
AutoRegressiveCoefficients []float64 `json:"autoRegressiveCoefficients,omitempty"`
// InterceptCoefficient: Intercept coefficient, just a double not an
// array.
InterceptCoefficient float64 `json:"interceptCoefficient,omitempty"`
// MovingAverageCoefficients: Moving-average coefficients, an array of
// double.
MovingAverageCoefficients []float64 `json:"movingAverageCoefficients,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "AutoRegressiveCoefficients") to unconditionally include in API
// requests. By default, fields with empty values are omitted from API
// requests. However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g.
// "AutoRegressiveCoefficients") to include in API requests with the
// JSON null value. By default, fields with empty values are omitted
// from API requests. However, any field with an empty value appearing
// in NullFields will be sent to the server as null. It is an error if a
// field in this list has a non-empty value. This may be used to include
// null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ArimaCoefficients) MarshalJSON() ([]byte, error) {
type NoMethod ArimaCoefficients
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *ArimaCoefficients) UnmarshalJSON(data []byte) error {
type NoMethod ArimaCoefficients
var s1 struct {
InterceptCoefficient gensupport.JSONFloat64 `json:"interceptCoefficient"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.InterceptCoefficient = float64(s1.InterceptCoefficient)
return nil
}
// ArimaFittingMetrics: ARIMA model fitting metrics.
type ArimaFittingMetrics struct {
// Aic: AIC
Aic float64 `json:"aic,omitempty"`
// LogLikelihood: log-likelihood
LogLikelihood float64 `json:"logLikelihood,omitempty"`
// Variance: variance.
Variance float64 `json:"variance,omitempty"`
// ForceSendFields is a list of field names (e.g. "Aic") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Aic") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ArimaFittingMetrics) MarshalJSON() ([]byte, error) {
type NoMethod ArimaFittingMetrics
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *ArimaFittingMetrics) UnmarshalJSON(data []byte) error {
type NoMethod ArimaFittingMetrics
var s1 struct {
Aic gensupport.JSONFloat64 `json:"aic"`
LogLikelihood gensupport.JSONFloat64 `json:"logLikelihood"`
Variance gensupport.JSONFloat64 `json:"variance"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Aic = float64(s1.Aic)
s.LogLikelihood = float64(s1.LogLikelihood)
s.Variance = float64(s1.Variance)
return nil
}
// ArimaModelInfo: Arima model information.
type ArimaModelInfo struct {
// ArimaCoefficients: Arima coefficients.
ArimaCoefficients *ArimaCoefficients `json:"arimaCoefficients,omitempty"`
// ArimaFittingMetrics: Arima fitting metrics.
ArimaFittingMetrics *ArimaFittingMetrics `json:"arimaFittingMetrics,omitempty"`
// NonSeasonalOrder: Non-seasonal order.
NonSeasonalOrder *ArimaOrder `json:"nonSeasonalOrder,omitempty"`
// ForceSendFields is a list of field names (e.g. "ArimaCoefficients")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ArimaCoefficients") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ArimaModelInfo) MarshalJSON() ([]byte, error) {
type NoMethod ArimaModelInfo
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ArimaOrder: Arima order, can be used for both non-seasonal and
// seasonal parts.
type ArimaOrder struct {
// D: Order of the differencing part.
D int64 `json:"d,omitempty,string"`
// P: Order of the autoregressive part.
P int64 `json:"p,omitempty,string"`
// Q: Order of the moving-average part.
Q int64 `json:"q,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "D") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "D") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ArimaOrder) MarshalJSON() ([]byte, error) {
type NoMethod ArimaOrder
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ArimaResult: (Auto-)arima fitting result. Wrap everything in
// ArimaResult for easier
// refactoring if we want to use model-specific iteration results.
type ArimaResult struct {
// ArimaModelInfo: This message is repeated because there are multiple
// arima models
// fitted in auto-arima. For non-auto-arima model, its size is one.
ArimaModelInfo []*ArimaModelInfo `json:"arimaModelInfo,omitempty"`
// SeasonalPeriods: Seasonal periods. Repeated because multiple periods
// are supported for
// one time series.
//
// Possible values:
// "SEASONAL_PERIOD_TYPE_UNSPECIFIED"
// "NO_SEASONALITY" - No seasonality
// "DAILY" - Daily period, 24 hours.
// "WEEKLY" - Weekly period, 7 days.
// "MONTHLY" - Monthly period, can be as 30 days or irregular.
// "QUARTERLY" - Quarterly period, can be as 90 days or irregular.
// "YEARLY" - Yearly period, can be as 365 days or irregular.
SeasonalPeriods []string `json:"seasonalPeriods,omitempty"`
// ForceSendFields is a list of field names (e.g. "ArimaModelInfo") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ArimaModelInfo") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ArimaResult) MarshalJSON() ([]byte, error) {
type NoMethod ArimaResult
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type BigQueryModelTraining struct {
// CurrentIteration: [Output-only, Beta] Index of current ML training
// iteration. Updated during create model query job to show job
// progress.
CurrentIteration int64 `json:"currentIteration,omitempty"`
// ExpectedTotalIterations: [Output-only, Beta] Expected number of
// iterations for the create model query job specified as num_iterations
// in the input query. The actual total number of iterations may be less
// than this number due to early stop.
ExpectedTotalIterations int64 `json:"expectedTotalIterations,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "CurrentIteration") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CurrentIteration") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *BigQueryModelTraining) MarshalJSON() ([]byte, error) {
type NoMethod BigQueryModelTraining
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type BigtableColumn struct {
// Encoding: [Optional] The encoding of the values when the type is not
// STRING. Acceptable encoding values are: TEXT - indicates values are
// alphanumeric text strings. BINARY - indicates values are encoded
// using HBase Bytes.toBytes family of functions. 'encoding' can also be
// set at the column family level. However, the setting at this level
// takes precedence if 'encoding' is set at both levels.
Encoding string `json:"encoding,omitempty"`
// FieldName: [Optional] If the qualifier is not a valid BigQuery field
// identifier i.e. does not match [a-zA-Z][a-zA-Z0-9_]*, a valid
// identifier must be provided as the column field name and is used as
// field name in queries.
FieldName string `json:"fieldName,omitempty"`
// OnlyReadLatest: [Optional] If this is set, only the latest version of
// value in this column are exposed. 'onlyReadLatest' can also be set at
// the column family level. However, the setting at this level takes
// precedence if 'onlyReadLatest' is set at both levels.
OnlyReadLatest bool `json:"onlyReadLatest,omitempty"`
// QualifierEncoded: [Required] Qualifier of the column. Columns in the
// parent column family that has this exact qualifier are exposed as .
// field. If the qualifier is valid UTF-8 string, it can be specified in
// the qualifier_string field. Otherwise, a base-64 encoded value must
// be set to qualifier_encoded. The column field name is the same as the
// column qualifier. However, if the qualifier is not a valid BigQuery
// field identifier i.e. does not match [a-zA-Z][a-zA-Z0-9_]*, a valid
// identifier must be provided as field_name.
QualifierEncoded string `json:"qualifierEncoded,omitempty"`
QualifierString string `json:"qualifierString,omitempty"`
// Type: [Optional] The type to convert the value in cells of this
// column. The values are expected to be encoded using HBase
// Bytes.toBytes function when using the BINARY encoding value.
// Following BigQuery types are allowed (case-sensitive) - BYTES STRING
// INTEGER FLOAT BOOLEAN Default type is BYTES. 'type' can also be set
// at the column family level. However, the setting at this level takes
// precedence if 'type' is set at both levels.
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Encoding") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Encoding") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *BigtableColumn) MarshalJSON() ([]byte, error) {
type NoMethod BigtableColumn
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type BigtableColumnFamily struct {
// Columns: [Optional] Lists of columns that should be exposed as
// individual fields as opposed to a list of (column name, value) pairs.
// All columns whose qualifier matches a qualifier in this list can be
// accessed as .. Other columns can be accessed as a list through
// .Column field.
Columns []*BigtableColumn `json:"columns,omitempty"`
// Encoding: [Optional] The encoding of the values when the type is not
// STRING. Acceptable encoding values are: TEXT - indicates values are
// alphanumeric text strings. BINARY - indicates values are encoded
// using HBase Bytes.toBytes family of functions. This can be overridden
// for a specific column by listing that column in 'columns' and
// specifying an encoding for it.
Encoding string `json:"encoding,omitempty"`
// FamilyId: Identifier of the column family.
FamilyId string `json:"familyId,omitempty"`
// OnlyReadLatest: [Optional] If this is set only the latest version of
// value are exposed for all columns in this column family. This can be
// overridden for a specific column by listing that column in 'columns'
// and specifying a different setting for that column.
OnlyReadLatest bool `json:"onlyReadLatest,omitempty"`
// Type: [Optional] The type to convert the value in cells of this
// column family. The values are expected to be encoded using HBase
// Bytes.toBytes function when using the BINARY encoding value.
// Following BigQuery types are allowed (case-sensitive) - BYTES STRING
// INTEGER FLOAT BOOLEAN Default type is BYTES. This can be overridden
// for a specific column by listing that column in 'columns' and
// specifying a type for it.
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Columns") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Columns") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *BigtableColumnFamily) MarshalJSON() ([]byte, error) {
type NoMethod BigtableColumnFamily
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type BigtableOptions struct {
// ColumnFamilies: [Optional] List of column families to expose in the
// table schema along with their types. This list restricts the column
// families that can be referenced in queries and specifies their value
// types. You can use this list to do type conversions - see the 'type'
// field for more details. If you leave this list empty, all column
// families are present in the table schema and their values are read as
// BYTES. During a query only the column families referenced in that
// query are read from Bigtable.
ColumnFamilies []*BigtableColumnFamily `json:"columnFamilies,omitempty"`
// IgnoreUnspecifiedColumnFamilies: [Optional] If field is true, then
// the column families that are not specified in columnFamilies list are
// not exposed in the table schema. Otherwise, they are read with BYTES
// type values. The default value is false.
IgnoreUnspecifiedColumnFamilies bool `json:"ignoreUnspecifiedColumnFamilies,omitempty"`
// ReadRowkeyAsString: [Optional] If field is true, then the rowkey
// column families will be read and converted to string. Otherwise they
// are read with BYTES type values and users need to manually cast them
// with CAST if necessary. The default value is false.
ReadRowkeyAsString bool `json:"readRowkeyAsString,omitempty"`
// ForceSendFields is a list of field names (e.g. "ColumnFamilies") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ColumnFamilies") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *BigtableOptions) MarshalJSON() ([]byte, error) {
type NoMethod BigtableOptions
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// BinaryClassificationMetrics: Evaluation metrics for binary
// classification/classifier models.
type BinaryClassificationMetrics struct {
// AggregateClassificationMetrics: Aggregate classification metrics.
AggregateClassificationMetrics *AggregateClassificationMetrics `json:"aggregateClassificationMetrics,omitempty"`
// BinaryConfusionMatrixList: Binary confusion matrix at multiple
// thresholds.
BinaryConfusionMatrixList []*BinaryConfusionMatrix `json:"binaryConfusionMatrixList,omitempty"`
// NegativeLabel: Label representing the negative class.
NegativeLabel string `json:"negativeLabel,omitempty"`
// PositiveLabel: Label representing the positive class.
PositiveLabel string `json:"positiveLabel,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "AggregateClassificationMetrics") to unconditionally include in API
// requests. By default, fields with empty values are omitted from API
// requests. However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g.
// "AggregateClassificationMetrics") to include in API requests with the
// JSON null value. By default, fields with empty values are omitted
// from API requests. However, any field with an empty value appearing
// in NullFields will be sent to the server as null. It is an error if a
// field in this list has a non-empty value. This may be used to include
// null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *BinaryClassificationMetrics) MarshalJSON() ([]byte, error) {
type NoMethod BinaryClassificationMetrics
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// BinaryConfusionMatrix: Confusion matrix for binary classification
// models.
type BinaryConfusionMatrix struct {
// Accuracy: The fraction of predictions given the correct label.
Accuracy float64 `json:"accuracy,omitempty"`
// F1Score: The equally weighted average of recall and precision.
F1Score float64 `json:"f1Score,omitempty"`
// FalseNegatives: Number of false samples predicted as false.
FalseNegatives int64 `json:"falseNegatives,omitempty,string"`
// FalsePositives: Number of false samples predicted as true.
FalsePositives int64 `json:"falsePositives,omitempty,string"`
// PositiveClassThreshold: Threshold value used when computing each of
// the following metric.
PositiveClassThreshold float64 `json:"positiveClassThreshold,omitempty"`
// Precision: The fraction of actual positive predictions that had
// positive actual
// labels.
Precision float64 `json:"precision,omitempty"`
// Recall: The fraction of actual positive labels that were given a
// positive
// prediction.
Recall float64 `json:"recall,omitempty"`
// TrueNegatives: Number of true samples predicted as false.
TrueNegatives int64 `json:"trueNegatives,omitempty,string"`
// TruePositives: Number of true samples predicted as true.
TruePositives int64 `json:"truePositives,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "Accuracy") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Accuracy") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *BinaryConfusionMatrix) MarshalJSON() ([]byte, error) {
type NoMethod BinaryConfusionMatrix
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *BinaryConfusionMatrix) UnmarshalJSON(data []byte) error {
type NoMethod BinaryConfusionMatrix
var s1 struct {
Accuracy gensupport.JSONFloat64 `json:"accuracy"`
F1Score gensupport.JSONFloat64 `json:"f1Score"`
PositiveClassThreshold gensupport.JSONFloat64 `json:"positiveClassThreshold"`
Precision gensupport.JSONFloat64 `json:"precision"`
Recall gensupport.JSONFloat64 `json:"recall"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Accuracy = float64(s1.Accuracy)
s.F1Score = float64(s1.F1Score)
s.PositiveClassThreshold = float64(s1.PositiveClassThreshold)
s.Precision = float64(s1.Precision)
s.Recall = float64(s1.Recall)
return nil
}
type BqmlIterationResult struct {
// DurationMs: [Output-only, Beta] Time taken to run the training
// iteration in milliseconds.
DurationMs int64 `json:"durationMs,omitempty,string"`
// EvalLoss: [Output-only, Beta] Eval loss computed on the eval data at
// the end of the iteration. The eval loss is used for early stopping to
// avoid overfitting. No eval loss if eval_split_method option is
// specified as no_split or auto_split with input data size less than
// 500 rows.
EvalLoss float64 `json:"evalLoss,omitempty"`
// Index: [Output-only, Beta] Index of the ML training iteration,
// starting from zero for each training run.
Index int64 `json:"index,omitempty"`
// LearnRate: [Output-only, Beta] Learning rate used for this iteration,
// it varies for different training iterations if learn_rate_strategy
// option is not constant.
LearnRate float64 `json:"learnRate,omitempty"`
// TrainingLoss: [Output-only, Beta] Training loss computed on the
// training data at the end of the iteration. The training loss function
// is defined by model type.
TrainingLoss float64 `json:"trainingLoss,omitempty"`
// ForceSendFields is a list of field names (e.g. "DurationMs") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DurationMs") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *BqmlIterationResult) MarshalJSON() ([]byte, error) {
type NoMethod BqmlIterationResult
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *BqmlIterationResult) UnmarshalJSON(data []byte) error {
type NoMethod BqmlIterationResult
var s1 struct {
EvalLoss gensupport.JSONFloat64 `json:"evalLoss"`
LearnRate gensupport.JSONFloat64 `json:"learnRate"`
TrainingLoss gensupport.JSONFloat64 `json:"trainingLoss"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.EvalLoss = float64(s1.EvalLoss)
s.LearnRate = float64(s1.LearnRate)
s.TrainingLoss = float64(s1.TrainingLoss)
return nil
}
type BqmlTrainingRun struct {
// IterationResults: [Output-only, Beta] List of each iteration results.
IterationResults []*BqmlIterationResult `json:"iterationResults,omitempty"`
// StartTime: [Output-only, Beta] Training run start time in
// milliseconds since the epoch.
StartTime string `json:"startTime,omitempty"`
// State: [Output-only, Beta] Different state applicable for a training
// run. IN PROGRESS: Training run is in progress. FAILED: Training run
// ended due to a non-retryable failure. SUCCEEDED: Training run
// successfully completed. CANCELLED: Training run cancelled by the
// user.
State string `json:"state,omitempty"`
// TrainingOptions: [Output-only, Beta] Training options used by this
// training run. These options are mutable for subsequent training runs.
// Default values are explicitly stored for options not specified in the
// input query of the first training run. For subsequent training runs,
// any option not explicitly specified in the input query will be copied
// from the previous training run.
TrainingOptions *BqmlTrainingRunTrainingOptions `json:"trainingOptions,omitempty"`
// ForceSendFields is a list of field names (e.g. "IterationResults") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "IterationResults") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *BqmlTrainingRun) MarshalJSON() ([]byte, error) {
type NoMethod BqmlTrainingRun
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// BqmlTrainingRunTrainingOptions: [Output-only, Beta] Training options
// used by this training run. These options are mutable for subsequent
// training runs. Default values are explicitly stored for options not
// specified in the input query of the first training run. For
// subsequent training runs, any option not explicitly specified in the
// input query will be copied from the previous training run.
type BqmlTrainingRunTrainingOptions struct {
EarlyStop bool `json:"earlyStop,omitempty"`
L1Reg float64 `json:"l1Reg,omitempty"`
L2Reg float64 `json:"l2Reg,omitempty"`
LearnRate float64 `json:"learnRate,omitempty"`
LearnRateStrategy string `json:"learnRateStrategy,omitempty"`
LineSearchInitLearnRate float64 `json:"lineSearchInitLearnRate,omitempty"`
MaxIteration int64 `json:"maxIteration,omitempty,string"`
MinRelProgress float64 `json:"minRelProgress,omitempty"`
WarmStart bool `json:"warmStart,omitempty"`
// ForceSendFields is a list of field names (e.g. "EarlyStop") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "EarlyStop") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *BqmlTrainingRunTrainingOptions) MarshalJSON() ([]byte, error) {
type NoMethod BqmlTrainingRunTrainingOptions
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *BqmlTrainingRunTrainingOptions) UnmarshalJSON(data []byte) error {
type NoMethod BqmlTrainingRunTrainingOptions
var s1 struct {
L1Reg gensupport.JSONFloat64 `json:"l1Reg"`
L2Reg gensupport.JSONFloat64 `json:"l2Reg"`
LearnRate gensupport.JSONFloat64 `json:"learnRate"`
LineSearchInitLearnRate gensupport.JSONFloat64 `json:"lineSearchInitLearnRate"`
MinRelProgress gensupport.JSONFloat64 `json:"minRelProgress"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.L1Reg = float64(s1.L1Reg)
s.L2Reg = float64(s1.L2Reg)
s.LearnRate = float64(s1.LearnRate)
s.LineSearchInitLearnRate = float64(s1.LineSearchInitLearnRate)
s.MinRelProgress = float64(s1.MinRelProgress)
return nil
}
// CategoricalValue: Representative value of a categorical feature.
type CategoricalValue struct {
// CategoryCounts: Counts of all categories for the categorical feature.
// If there are
// more than ten categories, we return top ten (by count) and return
// one more CategoryCount with category "_OTHER_" and count as
// aggregate counts of remaining categories.
CategoryCounts []*CategoryCount `json:"categoryCounts,omitempty"`
// ForceSendFields is a list of field names (e.g. "CategoryCounts") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CategoryCounts") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *CategoricalValue) MarshalJSON() ([]byte, error) {
type NoMethod CategoricalValue
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CategoryCount: Represents the count of a single category within the
// cluster.
type CategoryCount struct {
// Category: The name of category.
Category string `json:"category,omitempty"`
// Count: The count of training samples matching the category within
// the
// cluster.
Count int64 `json:"count,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "Category") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Category") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CategoryCount) MarshalJSON() ([]byte, error) {
type NoMethod CategoryCount
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Cluster: Message containing the information about one cluster.
type Cluster struct {
// CentroidId: Centroid id.
CentroidId int64 `json:"centroidId,omitempty,string"`
// Count: Count of training data rows that were assigned to this
// cluster.
Count int64 `json:"count,omitempty,string"`
// FeatureValues: Values of highly variant features for this cluster.
FeatureValues []*FeatureValue `json:"featureValues,omitempty"`
// ForceSendFields is a list of field names (e.g. "CentroidId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CentroidId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Cluster) MarshalJSON() ([]byte, error) {
type NoMethod Cluster
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ClusterInfo: Information about a single cluster for clustering model.
type ClusterInfo struct {
// CentroidId: Centroid id.
CentroidId int64 `json:"centroidId,omitempty,string"`
// ClusterRadius: Cluster radius, the average distance from centroid
// to each point assigned to the cluster.
ClusterRadius float64 `json:"clusterRadius,omitempty"`
// ClusterSize: Cluster size, the total number of points assigned to the
// cluster.
ClusterSize int64 `json:"clusterSize,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "CentroidId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CentroidId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ClusterInfo) MarshalJSON() ([]byte, error) {
type NoMethod ClusterInfo
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *ClusterInfo) UnmarshalJSON(data []byte) error {
type NoMethod ClusterInfo
var s1 struct {
ClusterRadius gensupport.JSONFloat64 `json:"clusterRadius"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.ClusterRadius = float64(s1.ClusterRadius)
return nil
}
type Clustering struct {
// Fields: [Repeated] One or more fields on which data should be
// clustered. Only top-level, non-repeated, simple-type fields are
// supported. When you cluster a table using multiple columns, the order
// of columns you specify is important. The order of the specified
// columns determines the sort order of the data.
Fields []string `json:"fields,omitempty"`
// ForceSendFields is a list of field names (e.g. "Fields") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Fields") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Clustering) MarshalJSON() ([]byte, error) {
type NoMethod Clustering
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ClusteringMetrics: Evaluation metrics for clustering models.
type ClusteringMetrics struct {
// Clusters: [Beta] Information for all clusters.
Clusters []*Cluster `json:"clusters,omitempty"`
// DaviesBouldinIndex: Davies-Bouldin index.
DaviesBouldinIndex float64 `json:"daviesBouldinIndex,omitempty"`
// MeanSquaredDistance: Mean of squared distances between each sample to
// its cluster centroid.
MeanSquaredDistance float64 `json:"meanSquaredDistance,omitempty"`
// ForceSendFields is a list of field names (e.g. "Clusters") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Clusters") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ClusteringMetrics) MarshalJSON() ([]byte, error) {
type NoMethod ClusteringMetrics
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *ClusteringMetrics) UnmarshalJSON(data []byte) error {
type NoMethod ClusteringMetrics
var s1 struct {
DaviesBouldinIndex gensupport.JSONFloat64 `json:"daviesBouldinIndex"`
MeanSquaredDistance gensupport.JSONFloat64 `json:"meanSquaredDistance"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.DaviesBouldinIndex = float64(s1.DaviesBouldinIndex)
s.MeanSquaredDistance = float64(s1.MeanSquaredDistance)
return nil
}
// ConfusionMatrix: Confusion matrix for multi-class classification
// models.
type ConfusionMatrix struct {
// ConfidenceThreshold: Confidence threshold used when computing the
// entries of the
// confusion matrix.
ConfidenceThreshold float64 `json:"confidenceThreshold,omitempty"`
// Rows: One row per actual label.
Rows []*Row `json:"rows,omitempty"`
// ForceSendFields is a list of field names (e.g. "ConfidenceThreshold")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ConfidenceThreshold") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ConfusionMatrix) MarshalJSON() ([]byte, error) {
type NoMethod ConfusionMatrix
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *ConfusionMatrix) UnmarshalJSON(data []byte) error {
type NoMethod ConfusionMatrix
var s1 struct {
ConfidenceThreshold gensupport.JSONFloat64 `json:"confidenceThreshold"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.ConfidenceThreshold = float64(s1.ConfidenceThreshold)
return nil
}
type CsvOptions struct {
// AllowJaggedRows: [Optional] Indicates if BigQuery should accept rows
// that are missing trailing optional columns. If true, BigQuery treats
// missing trailing columns as null values. If false, records with
// missing trailing columns are treated as bad records, and if there are
// too many bad records, an invalid error is returned in the job result.
// The default value is false.
AllowJaggedRows bool `json:"allowJaggedRows,omitempty"`
// AllowQuotedNewlines: [Optional] Indicates if BigQuery should allow
// quoted data sections that contain newline characters in a CSV file.
// The default value is false.
AllowQuotedNewlines bool `json:"allowQuotedNewlines,omitempty"`
// Encoding: [Optional] The character encoding of the data. The
// supported values are UTF-8 or ISO-8859-1. The default value is UTF-8.
// BigQuery decodes the data after the raw, binary data has been split
// using the values of the quote and fieldDelimiter properties.
Encoding string `json:"encoding,omitempty"`
// FieldDelimiter: [Optional] The separator for fields in a CSV file.
// BigQuery converts the string to ISO-8859-1 encoding, and then uses
// the first byte of the encoded string to split the data in its raw,
// binary state. BigQuery also supports the escape sequence "\t" to
// specify a tab separator. The default value is a comma (',').
FieldDelimiter string `json:"fieldDelimiter,omitempty"`
// Quote: [Optional] The value that is used to quote data sections in a
// CSV file. BigQuery converts the string to ISO-8859-1 encoding, and
// then uses the first byte of the encoded string to split the data in
// its raw, binary state. The default value is a double-quote ('"'). If
// your data does not contain quoted sections, set the property value to
// an empty string. If your data contains quoted newline characters, you
// must also set the allowQuotedNewlines property to true.
//
// Default: "
Quote *string `json:"quote,omitempty"`
// SkipLeadingRows: [Optional] The number of rows at the top of a CSV
// file that BigQuery will skip when reading the data. The default value
// is 0. This property is useful if you have header rows in the file
// that should be skipped. When autodetect is on, the behavior is the
// following: * skipLeadingRows unspecified - Autodetect tries to detect
// headers in the first row. If they are not detected, the row is read
// as data. Otherwise data is read starting from the second row. *
// skipLeadingRows is 0 - Instructs autodetect that there are no headers
// and data should be read starting from the first row. *
// skipLeadingRows = N > 0 - Autodetect skips N-1 rows and tries to
// detect headers in row N. If headers are not detected, row N is just
// skipped. Otherwise row N is used to extract column names for the
// detected schema.
SkipLeadingRows int64 `json:"skipLeadingRows,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "AllowJaggedRows") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AllowJaggedRows") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *CsvOptions) MarshalJSON() ([]byte, error) {
type NoMethod CsvOptions
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DataSplitResult: Data split result. This contains references to the
// training and evaluation
// data tables that were used to train the model.
type DataSplitResult struct {
// EvaluationTable: Table reference of the evaluation data after split.
EvaluationTable *TableReference `json:"evaluationTable,omitempty"`
// TrainingTable: Table reference of the training data after split.
TrainingTable *TableReference `json:"trainingTable,omitempty"`
// ForceSendFields is a list of field names (e.g. "EvaluationTable") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "EvaluationTable") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *DataSplitResult) MarshalJSON() ([]byte, error) {
type NoMethod DataSplitResult
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type Dataset struct {
// Access: [Optional] An array of objects that define dataset access for
// one or more entities. You can set this property when inserting or
// updating a dataset in order to control who is allowed to access the
// data. If unspecified at dataset creation time, BigQuery adds default
// dataset access for the following entities: access.specialGroup:
// projectReaders; access.role: READER; access.specialGroup:
// projectWriters; access.role: WRITER; access.specialGroup:
// projectOwners; access.role: OWNER; access.userByEmail: [dataset
// creator email]; access.role: OWNER;
Access []*DatasetAccess `json:"access,omitempty"`
// CreationTime: [Output-only] The time when this dataset was created,
// in milliseconds since the epoch.
CreationTime int64 `json:"creationTime,omitempty,string"`
// DatasetReference: [Required] A reference that identifies the dataset.
DatasetReference *DatasetReference `json:"datasetReference,omitempty"`
DefaultEncryptionConfiguration *EncryptionConfiguration `json:"defaultEncryptionConfiguration,omitempty"`
// DefaultPartitionExpirationMs: [Optional] The default partition
// expiration for all partitioned tables in the dataset, in
// milliseconds. Once this property is set, all newly-created
// partitioned tables in the dataset will have an expirationMs property
// in the timePartitioning settings set to this value, and changing the
// value will only affect new tables, not existing ones. The storage in
// a partition will have an expiration time of its partition time plus
// this value. Setting this property overrides the use of
// defaultTableExpirationMs for partitioned tables: only one of
// defaultTableExpirationMs and defaultPartitionExpirationMs will be
// used for any new partitioned table. If you provide an explicit
// timePartitioning.expirationMs when creating or updating a partitioned
// table, that value takes precedence over the default partition
// expiration time indicated by this property.
DefaultPartitionExpirationMs int64 `json:"defaultPartitionExpirationMs,omitempty,string"`
// DefaultTableExpirationMs: [Optional] The default lifetime of all
// tables in the dataset, in milliseconds. The minimum value is 3600000
// milliseconds (one hour). Once this property is set, all newly-created
// tables in the dataset will have an expirationTime property set to the
// creation time plus the value in this property, and changing the value
// will only affect new tables, not existing ones. When the
// expirationTime for a given table is reached, that table will be
// deleted automatically. If a table's expirationTime is modified or
// removed before the table expires, or if you provide an explicit
// expirationTime when creating a table, that value takes precedence
// over the default expiration time indicated by this property.
DefaultTableExpirationMs int64 `json:"defaultTableExpirationMs,omitempty,string"`
// Description: [Optional] A user-friendly description of the dataset.
Description string `json:"description,omitempty"`
// Etag: [Output-only] A hash of the resource.
Etag string `json:"etag,omitempty"`
// FriendlyName: [Optional] A descriptive name for the dataset.
FriendlyName string `json:"friendlyName,omitempty"`
// Id: [Output-only] The fully-qualified unique name of the dataset in
// the format projectId:datasetId. The dataset name without the project
// name is given in the datasetId field. When creating a new dataset,
// leave this field blank, and instead specify the datasetId field.
Id string `json:"id,omitempty"`
// Kind: [Output-only] The resource type.
Kind string `json:"kind,omitempty"`
// Labels: The labels associated with this dataset. You can use these to
// organize and group your datasets. You can set this property when
// inserting or updating a dataset. See Creating and Updating Dataset
// Labels for more information.
Labels map[string]string `json:"labels,omitempty"`
// LastModifiedTime: [Output-only] The date when this dataset or any of
// its tables was last modified, in milliseconds since the epoch.
LastModifiedTime int64 `json:"lastModifiedTime,omitempty,string"`
// Location: The geographic location where the dataset should reside.
// The default value is US. See details at
// https://cloud.google.com/bigquery/docs/locations.
Location string `json:"location,omitempty"`
// SelfLink: [Output-only] A URL that can be used to access the resource
// again. You can use this URL in Get or Update requests to the
// resource.
SelfLink string `json:"selfLink,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Access") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Access") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Dataset) MarshalJSON() ([]byte, error) {
type NoMethod Dataset
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type DatasetAccess struct {
// Domain: [Pick one] A domain to grant access to. Any users signed in
// with the domain specified will be granted the specified access.
// Example: "example.com". Maps to IAM policy member "domain:DOMAIN".
Domain string `json:"domain,omitempty"`
// GroupByEmail: [Pick one] An email address of a Google Group to grant
// access to. Maps to IAM policy member "group:GROUP".
GroupByEmail string `json:"groupByEmail,omitempty"`
// IamMember: [Pick one] Some other type of member that appears in the
// IAM Policy but isn't a user, group, domain, or special group.
IamMember string `json:"iamMember,omitempty"`
// Role: [Required] An IAM role ID that should be granted to the user,
// group, or domain specified in this access entry. The following legacy
// mappings will be applied: OWNER roles/bigquery.dataOwner WRITER
// roles/bigquery.dataEditor READER roles/bigquery.dataViewer This
// field will accept any of the above formats, but will return only the
// legacy format. For example, if you set this field to
// "roles/bigquery.dataOwner", it will be returned back as "OWNER".
Role string `json:"role,omitempty"`
// SpecialGroup: [Pick one] A special group to grant access to. Possible
// values include: projectOwners: Owners of the enclosing project.
// projectReaders: Readers of the enclosing project. projectWriters:
// Writers of the enclosing project. allAuthenticatedUsers: All
// authenticated BigQuery users. Maps to similarly-named IAM members.
SpecialGroup string `json:"specialGroup,omitempty"`
// UserByEmail: [Pick one] An email address of a user to grant access
// to. For example: fred@example.com. Maps to IAM policy member
// "user:EMAIL" or "serviceAccount:EMAIL".
UserByEmail string `json:"userByEmail,omitempty"`
// View: [Pick one] A view from a different dataset to grant access to.
// Queries executed against that view will have read access to tables in
// this dataset. The role field is not required when this field is set.
// If that view is updated by any user, access to the view needs to be
// granted again via an update operation.
View *TableReference `json:"view,omitempty"`
// ForceSendFields is a list of field names (e.g. "Domain") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Domain") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DatasetAccess) MarshalJSON() ([]byte, error) {
type NoMethod DatasetAccess
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type DatasetList struct {
// Datasets: An array of the dataset resources in the project. Each
// resource contains basic information. For full information about a
// particular dataset resource, use the Datasets: get method. This
// property is omitted when there are no datasets in the project.
Datasets []*DatasetListDatasets `json:"datasets,omitempty"`
// Etag: A hash value of the results page. You can use this property to
// determine if the page has changed since the last request.
Etag string `json:"etag,omitempty"`
// Kind: The list type. This property always returns the value
// "bigquery#datasetList".
Kind string `json:"kind,omitempty"`
// NextPageToken: A token that can be used to request the next results
// page. This property is omitted on the final results page.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Datasets") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Datasets") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DatasetList) MarshalJSON() ([]byte, error) {
type NoMethod DatasetList
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type DatasetListDatasets struct {
// DatasetReference: The dataset reference. Use this property to access
// specific parts of the dataset's ID, such as project ID or dataset ID.
DatasetReference *DatasetReference `json:"datasetReference,omitempty"`
// FriendlyName: A descriptive name for the dataset, if one exists.
FriendlyName string `json:"friendlyName,omitempty"`
// Id: The fully-qualified, unique, opaque ID of the dataset.
Id string `json:"id,omitempty"`
// Kind: The resource type. This property always returns the value
// "bigquery#dataset".
Kind string `json:"kind,omitempty"`
// Labels: The labels associated with this dataset. You can use these to
// organize and group your datasets.
Labels map[string]string `json:"labels,omitempty"`
// Location: The geographic location where the data resides.
Location string `json:"location,omitempty"`
// ForceSendFields is a list of field names (e.g. "DatasetReference") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DatasetReference") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *DatasetListDatasets) MarshalJSON() ([]byte, error) {
type NoMethod DatasetListDatasets
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type DatasetReference struct {
// DatasetId: [Required] A unique ID for this dataset, without the
// project name. The ID must contain only letters (a-z, A-Z), numbers
// (0-9), or underscores (_). The maximum length is 1,024 characters.
DatasetId string `json:"datasetId,omitempty"`
// ProjectId: [Optional] The ID of the project containing this dataset.
ProjectId string `json:"projectId,omitempty"`
// ForceSendFields is a list of field names (e.g. "DatasetId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DatasetId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DatasetReference) MarshalJSON() ([]byte, error) {
type NoMethod DatasetReference
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type DestinationTableProperties struct {
// Description: [Optional] The description for the destination table.
// This will only be used if the destination table is newly created. If
// the table already exists and a value different than the current
// description is provided, the job will fail.
Description string `json:"description,omitempty"`
// FriendlyName: [Optional] The friendly name for the destination table.
// This will only be used if the destination table is newly created. If
// the table already exists and a value different than the current
// friendly name is provided, the job will fail.
FriendlyName string `json:"friendlyName,omitempty"`
// Labels: [Optional] The labels associated with this table. You can use
// these to organize and group your tables. This will only be used if
// the destination table is newly created. If the table already exists
// and labels are different than the current labels are provided, the
// job will fail.
Labels map[string]string `json:"labels,omitempty"`
// ForceSendFields is a list of field names (e.g. "Description") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Description") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DestinationTableProperties) MarshalJSON() ([]byte, error) {
type NoMethod DestinationTableProperties
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type EncryptionConfiguration struct {
// KmsKeyName: [Optional] Describes the Cloud KMS encryption key that
// will be used to protect destination BigQuery table. The BigQuery
// Service Account associated with your project requires access to this
// encryption key.
KmsKeyName string `json:"kmsKeyName,omitempty"`
// ForceSendFields is a list of field names (e.g. "KmsKeyName") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "KmsKeyName") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *EncryptionConfiguration) MarshalJSON() ([]byte, error) {
type NoMethod EncryptionConfiguration
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Entry: A single entry in the confusion matrix.
type Entry struct {
// ItemCount: Number of items being predicted as this label.
ItemCount int64 `json:"itemCount,omitempty,string"`
// PredictedLabel: The predicted label. For confidence_threshold > 0, we
// will
// also add an entry indicating the number of items under the
// confidence threshold.
PredictedLabel string `json:"predictedLabel,omitempty"`
// ForceSendFields is a list of field names (e.g. "ItemCount") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ItemCount") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Entry) MarshalJSON() ([]byte, error) {
type NoMethod Entry
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ErrorProto struct {
// DebugInfo: Debugging information. This property is internal to Google
// and should not be used.
DebugInfo string `json:"debugInfo,omitempty"`
// Location: Specifies where the error occurred, if present.
Location string `json:"location,omitempty"`
// Message: A human-readable description of the error.
Message string `json:"message,omitempty"`
// Reason: A short error code that summarizes the error.
Reason string `json:"reason,omitempty"`
// ForceSendFields is a list of field names (e.g. "DebugInfo") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DebugInfo") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ErrorProto) MarshalJSON() ([]byte, error) {
type NoMethod ErrorProto
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// EvaluationMetrics: Evaluation metrics of a model. These are either
// computed on all training
// data or just the eval data based on whether eval data was used
// during
// training. These are not present for imported models.
type EvaluationMetrics struct {
// BinaryClassificationMetrics: Populated for binary
// classification/classifier models.
BinaryClassificationMetrics *BinaryClassificationMetrics `json:"binaryClassificationMetrics,omitempty"`
// ClusteringMetrics: Populated for clustering models.
ClusteringMetrics *ClusteringMetrics `json:"clusteringMetrics,omitempty"`
// MultiClassClassificationMetrics: Populated for multi-class
// classification/classifier models.
MultiClassClassificationMetrics *MultiClassClassificationMetrics `json:"multiClassClassificationMetrics,omitempty"`
// RegressionMetrics: Populated for regression models and explicit
// feedback type matrix
// factorization models.
RegressionMetrics *RegressionMetrics `json:"regressionMetrics,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "BinaryClassificationMetrics") to unconditionally include in API
// requests. By default, fields with empty values are omitted from API
// requests. However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g.
// "BinaryClassificationMetrics") to include in API requests with the
// JSON null value. By default, fields with empty values are omitted
// from API requests. However, any field with an empty value appearing
// in NullFields will be sent to the server as null. It is an error if a
// field in this list has a non-empty value. This may be used to include
// null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *EvaluationMetrics) MarshalJSON() ([]byte, error) {
type NoMethod EvaluationMetrics
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ExplainQueryStage struct {
// CompletedParallelInputs: Number of parallel input segments completed.
CompletedParallelInputs int64 `json:"completedParallelInputs,omitempty,string"`
// ComputeMsAvg: Milliseconds the average shard spent on CPU-bound
// tasks.
ComputeMsAvg int64 `json:"computeMsAvg,omitempty,string"`
// ComputeMsMax: Milliseconds the slowest shard spent on CPU-bound
// tasks.
ComputeMsMax int64 `json:"computeMsMax,omitempty,string"`
// ComputeRatioAvg: Relative amount of time the average shard spent on
// CPU-bound tasks.
ComputeRatioAvg float64 `json:"computeRatioAvg,omitempty"`
// ComputeRatioMax: Relative amount of time the slowest shard spent on
// CPU-bound tasks.
ComputeRatioMax float64 `json:"computeRatioMax,omitempty"`
// EndMs: Stage end time represented as milliseconds since epoch.
EndMs int64 `json:"endMs,omitempty,string"`
// Id: Unique ID for stage within plan.
Id int64 `json:"id,omitempty,string"`
// InputStages: IDs for stages that are inputs to this stage.
InputStages googleapi.Int64s `json:"inputStages,omitempty"`
// Name: Human-readable name for stage.
Name string `json:"name,omitempty"`
// ParallelInputs: Number of parallel input segments to be processed.
ParallelInputs int64 `json:"parallelInputs,omitempty,string"`
// ReadMsAvg: Milliseconds the average shard spent reading input.
ReadMsAvg int64 `json:"readMsAvg,omitempty,string"`
// ReadMsMax: Milliseconds the slowest shard spent reading input.
ReadMsMax int64 `json:"readMsMax,omitempty,string"`
// ReadRatioAvg: Relative amount of time the average shard spent reading
// input.
ReadRatioAvg float64 `json:"readRatioAvg,omitempty"`
// ReadRatioMax: Relative amount of time the slowest shard spent reading
// input.
ReadRatioMax float64 `json:"readRatioMax,omitempty"`
// RecordsRead: Number of records read into the stage.
RecordsRead int64 `json:"recordsRead,omitempty,string"`
// RecordsWritten: Number of records written by the stage.
RecordsWritten int64 `json:"recordsWritten,omitempty,string"`
// ShuffleOutputBytes: Total number of bytes written to shuffle.
ShuffleOutputBytes int64 `json:"shuffleOutputBytes,omitempty,string"`
// ShuffleOutputBytesSpilled: Total number of bytes written to shuffle
// and spilled to disk.
ShuffleOutputBytesSpilled int64 `json:"shuffleOutputBytesSpilled,omitempty,string"`
// SlotMs: Slot-milliseconds used by the stage.
SlotMs int64 `json:"slotMs,omitempty,string"`
// StartMs: Stage start time represented as milliseconds since epoch.
StartMs int64 `json:"startMs,omitempty,string"`
// Status: Current status for the stage.
Status string `json:"status,omitempty"`
// Steps: List of operations within the stage in dependency order
// (approximately chronological).
Steps []*ExplainQueryStep `json:"steps,omitempty"`
// WaitMsAvg: Milliseconds the average shard spent waiting to be
// scheduled.
WaitMsAvg int64 `json:"waitMsAvg,omitempty,string"`
// WaitMsMax: Milliseconds the slowest shard spent waiting to be
// scheduled.
WaitMsMax int64 `json:"waitMsMax,omitempty,string"`
// WaitRatioAvg: Relative amount of time the average shard spent waiting
// to be scheduled.
WaitRatioAvg float64 `json:"waitRatioAvg,omitempty"`
// WaitRatioMax: Relative amount of time the slowest shard spent waiting
// to be scheduled.
WaitRatioMax float64 `json:"waitRatioMax,omitempty"`
// WriteMsAvg: Milliseconds the average shard spent on writing output.
WriteMsAvg int64 `json:"writeMsAvg,omitempty,string"`
// WriteMsMax: Milliseconds the slowest shard spent on writing output.
WriteMsMax int64 `json:"writeMsMax,omitempty,string"`
// WriteRatioAvg: Relative amount of time the average shard spent on
// writing output.
WriteRatioAvg float64 `json:"writeRatioAvg,omitempty"`
// WriteRatioMax: Relative amount of time the slowest shard spent on
// writing output.
WriteRatioMax float64 `json:"writeRatioMax,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "CompletedParallelInputs") to unconditionally include in API
// requests. By default, fields with empty values are omitted from API
// requests. However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CompletedParallelInputs")
// to include in API requests with the JSON null value. By default,
// fields with empty values are omitted from API requests. However, any
// field with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ExplainQueryStage) MarshalJSON() ([]byte, error) {
type NoMethod ExplainQueryStage
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *ExplainQueryStage) UnmarshalJSON(data []byte) error {
type NoMethod ExplainQueryStage
var s1 struct {
ComputeRatioAvg gensupport.JSONFloat64 `json:"computeRatioAvg"`
ComputeRatioMax gensupport.JSONFloat64 `json:"computeRatioMax"`
ReadRatioAvg gensupport.JSONFloat64 `json:"readRatioAvg"`
ReadRatioMax gensupport.JSONFloat64 `json:"readRatioMax"`
WaitRatioAvg gensupport.JSONFloat64 `json:"waitRatioAvg"`
WaitRatioMax gensupport.JSONFloat64 `json:"waitRatioMax"`
WriteRatioAvg gensupport.JSONFloat64 `json:"writeRatioAvg"`
WriteRatioMax gensupport.JSONFloat64 `json:"writeRatioMax"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.ComputeRatioAvg = float64(s1.ComputeRatioAvg)
s.ComputeRatioMax = float64(s1.ComputeRatioMax)
s.ReadRatioAvg = float64(s1.ReadRatioAvg)
s.ReadRatioMax = float64(s1.ReadRatioMax)
s.WaitRatioAvg = float64(s1.WaitRatioAvg)
s.WaitRatioMax = float64(s1.WaitRatioMax)
s.WriteRatioAvg = float64(s1.WriteRatioAvg)
s.WriteRatioMax = float64(s1.WriteRatioMax)
return nil
}
type ExplainQueryStep struct {
// Kind: Machine-readable operation type.
Kind string `json:"kind,omitempty"`
// Substeps: Human-readable stage descriptions.
Substeps []string `json:"substeps,omitempty"`
// ForceSendFields is a list of field names (e.g. "Kind") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Kind") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ExplainQueryStep) MarshalJSON() ([]byte, error) {
type NoMethod ExplainQueryStep
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ExternalDataConfiguration struct {
// Autodetect: Try to detect schema and format options automatically.
// Any option specified explicitly will be honored.
Autodetect bool `json:"autodetect,omitempty"`
// BigtableOptions: [Optional] Additional options if sourceFormat is set
// to BIGTABLE.
BigtableOptions *BigtableOptions `json:"bigtableOptions,omitempty"`
// Compression: [Optional] The compression type of the data source.
// Possible values include GZIP and NONE. The default value is NONE.
// This setting is ignored for Google Cloud Bigtable, Google Cloud
// Datastore backups and Avro formats.
Compression string `json:"compression,omitempty"`
// CsvOptions: Additional properties to set if sourceFormat is set to
// CSV.
CsvOptions *CsvOptions `json:"csvOptions,omitempty"`
// GoogleSheetsOptions: [Optional] Additional options if sourceFormat is
// set to GOOGLE_SHEETS.
GoogleSheetsOptions *GoogleSheetsOptions `json:"googleSheetsOptions,omitempty"`
// HivePartitioningMode: [Optional, Trusted Tester] Deprecated, do not
// use. Please set hivePartitioningOptions instead.
HivePartitioningMode string `json:"hivePartitioningMode,omitempty"`
// HivePartitioningOptions: [Optional, Trusted Tester] Options to
// configure hive partitioning support.
HivePartitioningOptions *HivePartitioningOptions `json:"hivePartitioningOptions,omitempty"`
// IgnoreUnknownValues: [Optional] Indicates if BigQuery should allow
// extra values that are not represented in the table schema. If true,
// the extra values are ignored. If false, records with extra columns
// are treated as bad records, and if there are too many bad records, an
// invalid error is returned in the job result. The default value is
// false. The sourceFormat property determines what BigQuery treats as
// an extra value: CSV: Trailing columns JSON: Named values that don't
// match any column names Google Cloud Bigtable: This setting is
// ignored. Google Cloud Datastore backups: This setting is ignored.
// Avro: This setting is ignored.
IgnoreUnknownValues bool `json:"ignoreUnknownValues,omitempty"`
// MaxBadRecords: [Optional] The maximum number of bad records that
// BigQuery can ignore when reading data. If the number of bad records
// exceeds this value, an invalid error is returned in the job result.
// This is only valid for CSV, JSON, and Google Sheets. The default
// value is 0, which requires that all records are valid. This setting
// is ignored for Google Cloud Bigtable, Google Cloud Datastore backups
// and Avro formats.
MaxBadRecords int64 `json:"maxBadRecords,omitempty"`
// Schema: [Optional] The schema for the data. Schema is required for
// CSV and JSON formats. Schema is disallowed for Google Cloud Bigtable,
// Cloud Datastore backups, and Avro formats.
Schema *TableSchema `json:"schema,omitempty"`
// SourceFormat: [Required] The data format. For CSV files, specify
// "CSV". For Google sheets, specify "GOOGLE_SHEETS". For
// newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Avro
// files, specify "AVRO". For Google Cloud Datastore backups, specify
// "DATASTORE_BACKUP". [Beta] For Google Cloud Bigtable, specify
// "BIGTABLE".
SourceFormat string `json:"sourceFormat,omitempty"`
// SourceUris: [Required] The fully-qualified URIs that point to your
// data in Google Cloud. For Google Cloud Storage URIs: Each URI can
// contain one '*' wildcard character and it must come after the
// 'bucket' name. Size limits related to load jobs apply to external
// data sources. For Google Cloud Bigtable URIs: Exactly one URI can be
// specified and it has be a fully specified and valid HTTPS URL for a
// Google Cloud Bigtable table. For Google Cloud Datastore backups,
// exactly one URI can be specified. Also, the '*' wildcard character is
// not allowed.
SourceUris []string `json:"sourceUris,omitempty"`
// ForceSendFields is a list of field names (e.g. "Autodetect") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Autodetect") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ExternalDataConfiguration) MarshalJSON() ([]byte, error) {
type NoMethod ExternalDataConfiguration
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// FeatureValue: Representative value of a single feature within the
// cluster.
type FeatureValue struct {
// CategoricalValue: The categorical feature value.
CategoricalValue *CategoricalValue `json:"categoricalValue,omitempty"`
// FeatureColumn: The feature column name.
FeatureColumn string `json:"featureColumn,omitempty"`
// NumericalValue: The numerical feature value. This is the centroid
// value for this
// feature.
NumericalValue float64 `json:"numericalValue,omitempty"`
// ForceSendFields is a list of field names (e.g. "CategoricalValue") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CategoricalValue") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *FeatureValue) MarshalJSON() ([]byte, error) {
type NoMethod FeatureValue
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *FeatureValue) UnmarshalJSON(data []byte) error {
type NoMethod FeatureValue
var s1 struct {
NumericalValue gensupport.JSONFloat64 `json:"numericalValue"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.NumericalValue = float64(s1.NumericalValue)
return nil
}
type GetQueryResultsResponse struct {
// CacheHit: Whether the query result was fetched from the query cache.
CacheHit bool `json:"cacheHit,omitempty"`
// Errors: [Output-only] The first errors or warnings encountered during
// the running of the job. The final message includes the number of
// errors that caused the process to stop. Errors here do not
// necessarily mean that the job has completed or was unsuccessful.
Errors []*ErrorProto `json:"errors,omitempty"`
// Etag: A hash of this response.
Etag string `json:"etag,omitempty"`
// JobComplete: Whether the query has completed or not. If rows or
// totalRows are present, this will always be true. If this is false,
// totalRows will not be available.
JobComplete bool `json:"jobComplete,omitempty"`
// JobReference: Reference to the BigQuery Job that was created to run
// the query. This field will be present even if the original request
// timed out, in which case GetQueryResults can be used to read the
// results once the query has completed. Since this API only returns the
// first page of results, subsequent pages can be fetched via the same
// mechanism (GetQueryResults).
JobReference *JobReference `json:"jobReference,omitempty"`
// Kind: The resource type of the response.
Kind string `json:"kind,omitempty"`
// NumDmlAffectedRows: [Output-only] The number of rows affected by a
// DML statement. Present only for DML statements INSERT, UPDATE or
// DELETE.
NumDmlAffectedRows int64 `json:"numDmlAffectedRows,omitempty,string"`
// PageToken: A token used for paging results.
PageToken string `json:"pageToken,omitempty"`
// Rows: An object with as many results as can be contained within the
// maximum permitted reply size. To get any additional rows, you can
// call GetQueryResults and specify the jobReference returned above.
// Present only when the query completes successfully.
Rows []*TableRow `json:"rows,omitempty"`
// Schema: The schema of the results. Present only when the query
// completes successfully.
Schema *TableSchema `json:"schema,omitempty"`
// TotalBytesProcessed: The total number of bytes processed for this
// query.
TotalBytesProcessed int64 `json:"totalBytesProcessed,omitempty,string"`
// TotalRows: The total number of rows in the complete query result set,
// which can be more than the number of rows in this single page of
// results. Present only when the query completes successfully.
TotalRows uint64 `json:"totalRows,omitempty,string"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "CacheHit") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CacheHit") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GetQueryResultsResponse) MarshalJSON() ([]byte, error) {
type NoMethod GetQueryResultsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type GetServiceAccountResponse struct {
// Email: The service account email address.
Email string `json:"email,omitempty"`
// Kind: The resource type of the response.
Kind string `json:"kind,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Email") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Email") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GetServiceAccountResponse) MarshalJSON() ([]byte, error) {
type NoMethod GetServiceAccountResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type GoogleSheetsOptions struct {
// Range: [Optional] Range of a sheet to query from. Only used when
// non-empty. Typical format:
// sheet_name!top_left_cell_id:bottom_right_cell_id For example:
// sheet1!A1:B20
Range string `json:"range,omitempty"`
// SkipLeadingRows: [Optional] The number of rows at the top of a sheet
// that BigQuery will skip when reading the data. The default value is
// 0. This property is useful if you have header rows that should be
// skipped. When autodetect is on, behavior is the following: *
// skipLeadingRows unspecified - Autodetect tries to detect headers in
// the first row. If they are not detected, the row is read as data.
// Otherwise data is read starting from the second row. *
// skipLeadingRows is 0 - Instructs autodetect that there are no headers
// and data should be read starting from the first row. *
// skipLeadingRows = N > 0 - Autodetect skips N-1 rows and tries to
// detect headers in row N. If headers are not detected, row N is just
// skipped. Otherwise row N is used to extract column names for the
// detected schema.
SkipLeadingRows int64 `json:"skipLeadingRows,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "Range") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Range") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleSheetsOptions) MarshalJSON() ([]byte, error) {
type NoMethod GoogleSheetsOptions
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type HivePartitioningOptions struct {
// Mode: [Optional, Trusted Tester] When set, what mode of hive
// partitioning to use when reading data. Two modes are supported. (1)
// AUTO: automatically infer partition key name(s) and type(s). (2)
// STRINGS: automatically infer partition key name(s). All types are
// interpreted as strings. Not all storage formats support hive
// partitioning. Requesting hive partitioning on an unsupported format
// will lead to an error. Currently supported types include: AVRO, CSV,
// JSON, ORC and Parquet.
Mode string `json:"mode,omitempty"`
// SourceUriPrefix: [Optional, Trusted Tester] When hive partition
// detection is requested, a common prefix for all source uris should be
// supplied. The prefix must end immediately before the partition key
// encoding begins. For example, consider files following this data
// layout.
// gs://bucket/path_to_table/dt=2019-01-01/country=BR/id=7/file.avro
// gs://bucket/path_to_table/dt=2018-12-31/country=CA/id=3/file.avro
// When hive partitioning is requested with either AUTO or STRINGS
// detection, the common prefix can be either of
// gs://bucket/path_to_table or gs://bucket/path_to_table/ (trailing
// slash does not matter).
SourceUriPrefix string `json:"sourceUriPrefix,omitempty"`
// ForceSendFields is a list of field names (e.g. "Mode") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Mode") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *HivePartitioningOptions) MarshalJSON() ([]byte, error) {
type NoMethod HivePartitioningOptions
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// IterationResult: Information about a single iteration of the training
// run.
type IterationResult struct {
ArimaResult *ArimaResult `json:"arimaResult,omitempty"`
// ClusterInfos: Information about top clusters for clustering models.
ClusterInfos []*ClusterInfo `json:"clusterInfos,omitempty"`
// DurationMs: Time taken to run the iteration in milliseconds.
DurationMs int64 `json:"durationMs,omitempty,string"`
// EvalLoss: Loss computed on the eval data at the end of iteration.
EvalLoss float64 `json:"evalLoss,omitempty"`
// Index: Index of the iteration, 0 based.
Index int64 `json:"index,omitempty"`
// LearnRate: Learn rate used for this iteration.
LearnRate float64 `json:"learnRate,omitempty"`
// TrainingLoss: Loss computed on the training data at the end of
// iteration.
TrainingLoss float64 `json:"trainingLoss,omitempty"`
// ForceSendFields is a list of field names (e.g. "ArimaResult") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ArimaResult") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *IterationResult) MarshalJSON() ([]byte, error) {
type NoMethod IterationResult
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *IterationResult) UnmarshalJSON(data []byte) error {
type NoMethod IterationResult
var s1 struct {
EvalLoss gensupport.JSONFloat64 `json:"evalLoss"`
LearnRate gensupport.JSONFloat64 `json:"learnRate"`
TrainingLoss gensupport.JSONFloat64 `json:"trainingLoss"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.EvalLoss = float64(s1.EvalLoss)
s.LearnRate = float64(s1.LearnRate)
s.TrainingLoss = float64(s1.TrainingLoss)
return nil
}
type Job struct {
// Configuration: [Required] Describes the job configuration.
Configuration *JobConfiguration `json:"configuration,omitempty"`
// Etag: [Output-only] A hash of this resource.
Etag string `json:"etag,omitempty"`
// Id: [Output-only] Opaque ID field of the job
Id string `json:"id,omitempty"`
// JobReference: [Optional] Reference describing the unique-per-user
// name of the job.
JobReference *JobReference `json:"jobReference,omitempty"`
// Kind: [Output-only] The type of the resource.
Kind string `json:"kind,omitempty"`
// SelfLink: [Output-only] A URL that can be used to access this
// resource again.
SelfLink string `json:"selfLink,omitempty"`
// Statistics: [Output-only] Information about the job, including
// starting time and ending time of the job.
Statistics *JobStatistics `json:"statistics,omitempty"`
// Status: [Output-only] The status of this job. Examine this value when
// polling an asynchronous job to see if the job is complete.
Status *JobStatus `json:"status,omitempty"`
// UserEmail: [Output-only] Email address of the user who ran the job.
UserEmail string `json:"user_email,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Configuration") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Configuration") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Job) MarshalJSON() ([]byte, error) {
type NoMethod Job
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type JobCancelResponse struct {
// Job: The final state of the job.
Job *Job `json:"job,omitempty"`
// Kind: The resource type of the response.
Kind string `json:"kind,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Job") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Job") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *JobCancelResponse) MarshalJSON() ([]byte, error) {
type NoMethod JobCancelResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type JobConfiguration struct {
// Copy: [Pick one] Copies a table.
Copy *JobConfigurationTableCopy `json:"copy,omitempty"`
// DryRun: [Optional] If set, don't actually run this job. A valid query
// will return a mostly empty response with some processing statistics,
// while an invalid query will return the same error it would if it
// wasn't a dry run. Behavior of non-query jobs is undefined.
DryRun bool `json:"dryRun,omitempty"`
// Extract: [Pick one] Configures an extract job.
Extract *JobConfigurationExtract `json:"extract,omitempty"`
// JobTimeoutMs: [Optional] Job timeout in milliseconds. If this time
// limit is exceeded, BigQuery may attempt to terminate the job.
JobTimeoutMs int64 `json:"jobTimeoutMs,omitempty,string"`
// JobType: [Output-only] The type of the job. Can be QUERY, LOAD,
// EXTRACT, COPY or UNKNOWN.
JobType string `json:"jobType,omitempty"`
// Labels: The labels associated with this job. You can use these to
// organize and group your jobs. Label keys and values can be no longer
// than 63 characters, can only contain lowercase letters, numeric
// characters, underscores and dashes. International characters are
// allowed. Label values are optional. Label keys must start with a
// letter and each label in the list must have a different key.
Labels map[string]string `json:"labels,omitempty"`
// Load: [Pick one] Configures a load job.
Load *JobConfigurationLoad `json:"load,omitempty"`
// Query: [Pick one] Configures a query job.
Query *JobConfigurationQuery `json:"query,omitempty"`
// ForceSendFields is a list of field names (e.g. "Copy") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Copy") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *JobConfiguration) MarshalJSON() ([]byte, error) {
type NoMethod JobConfiguration
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type JobConfigurationExtract struct {
// Compression: [Optional] The compression type to use for exported
// files. Possible values include GZIP, DEFLATE, SNAPPY, and NONE. The
// default value is NONE. DEFLATE and SNAPPY are only supported for
// Avro.
Compression string `json:"compression,omitempty"`
// DestinationFormat: [Optional] The exported file format. Possible
// values include CSV, NEWLINE_DELIMITED_JSON and AVRO. The default
// value is CSV. Tables with nested or repeated fields cannot be
// exported as CSV.
DestinationFormat string `json:"destinationFormat,omitempty"`
// DestinationUri: [Pick one] DEPRECATED: Use destinationUris instead,
// passing only one URI as necessary. The fully-qualified Google Cloud
// Storage URI where the extracted table should be written.
DestinationUri string `json:"destinationUri,omitempty"`
// DestinationUris: [Pick one] A list of fully-qualified Google Cloud
// Storage URIs where the extracted table should be written.
DestinationUris []string `json:"destinationUris,omitempty"`
// FieldDelimiter: [Optional] Delimiter to use between fields in the
// exported data. Default is ','
FieldDelimiter string `json:"fieldDelimiter,omitempty"`
// PrintHeader: [Optional] Whether to print out a header row in the
// results. Default is true.
//
// Default: true
PrintHeader *bool `json:"printHeader,omitempty"`
// SourceModel: A reference to the model being exported.
SourceModel *ModelReference `json:"sourceModel,omitempty"`
// SourceTable: A reference to the table being exported.
SourceTable *TableReference `json:"sourceTable,omitempty"`
// UseAvroLogicalTypes: [Optional] If destinationFormat is set to
// "AVRO", this flag indicates whether to enable extracting applicable
// column types (such as TIMESTAMP) to their corresponding AVRO logical
// types (timestamp-micros), instead of only using their raw types
// (avro-long).
UseAvroLogicalTypes bool `json:"useAvroLogicalTypes,omitempty"`
// ForceSendFields is a list of field names (e.g. "Compression") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Compression") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *JobConfigurationExtract) MarshalJSON() ([]byte, error) {
type NoMethod JobConfigurationExtract
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type JobConfigurationLoad struct {
// AllowJaggedRows: [Optional] Accept rows that are missing trailing
// optional columns. The missing values are treated as nulls. If false,
// records with missing trailing columns are treated as bad records, and
// if there are too many bad records, an invalid error is returned in
// the job result. The default value is false. Only applicable to CSV,
// ignored for other formats.
AllowJaggedRows bool `json:"allowJaggedRows,omitempty"`
// AllowQuotedNewlines: Indicates if BigQuery should allow quoted data
// sections that contain newline characters in a CSV file. The default
// value is false.
AllowQuotedNewlines bool `json:"allowQuotedNewlines,omitempty"`
// Autodetect: [Optional] Indicates if we should automatically infer the
// options and schema for CSV and JSON sources.
Autodetect bool `json:"autodetect,omitempty"`
// Clustering: [Beta] Clustering specification for the destination
// table. Must be specified with time-based partitioning, data in the
// table will be first partitioned and subsequently clustered.
Clustering *Clustering `json:"clustering,omitempty"`
// CreateDisposition: [Optional] Specifies whether the job is allowed to
// create new tables. The following values are supported:
// CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the
// table. CREATE_NEVER: The table must already exist. If it does not, a
// 'notFound' error is returned in the job result. The default value is
// CREATE_IF_NEEDED. Creation, truncation and append actions occur as
// one atomic update upon job completion.
CreateDisposition string `json:"createDisposition,omitempty"`
// DestinationEncryptionConfiguration: Custom encryption configuration
// (e.g., Cloud KMS keys).
DestinationEncryptionConfiguration *EncryptionConfiguration `json:"destinationEncryptionConfiguration,omitempty"`
// DestinationTable: [Required] The destination table to load the data
// into.
DestinationTable *TableReference `json:"destinationTable,omitempty"`
// DestinationTableProperties: [Beta] [Optional] Properties with which
// to create the destination table if it is new.
DestinationTableProperties *DestinationTableProperties `json:"destinationTableProperties,omitempty"`
// Encoding: [Optional] The character encoding of the data. The
// supported values are UTF-8 or ISO-8859-1. The default value is UTF-8.
// BigQuery decodes the data after the raw, binary data has been split
// using the values of the quote and fieldDelimiter properties.
Encoding string `json:"encoding,omitempty"`
// FieldDelimiter: [Optional] The separator for fields in a CSV file.
// The separator can be any ISO-8859-1 single-byte character. To use a
// character in the range 128-255, you must encode the character as
// UTF8. BigQuery converts the string to ISO-8859-1 encoding, and then
// uses the first byte of the encoded string to split the data in its
// raw, binary state. BigQuery also supports the escape sequence "\t" to
// specify a tab separator. The default value is a comma (',').
FieldDelimiter string `json:"fieldDelimiter,omitempty"`
// HivePartitioningMode: [Optional, Trusted Tester] Deprecated, do not
// use. Please set hivePartitioningOptions instead.
HivePartitioningMode string `json:"hivePartitioningMode,omitempty"`
// HivePartitioningOptions: [Optional, Trusted Tester] Options to
// configure hive partitioning support.
HivePartitioningOptions *HivePartitioningOptions `json:"hivePartitioningOptions,omitempty"`
// IgnoreUnknownValues: [Optional] Indicates if BigQuery should allow
// extra values that are not represented in the table schema. If true,
// the extra values are ignored. If false, records with extra columns
// are treated as bad records, and if there are too many bad records, an
// invalid error is returned in the job result. The default value is
// false. The sourceFormat property determines what BigQuery treats as
// an extra value: CSV: Trailing columns JSON: Named values that don't
// match any column names
IgnoreUnknownValues bool `json:"ignoreUnknownValues,omitempty"`
// MaxBadRecords: [Optional] The maximum number of bad records that
// BigQuery can ignore when running the job. If the number of bad
// records exceeds this value, an invalid error is returned in the job
// result. This is only valid for CSV and JSON. The default value is 0,
// which requires that all records are valid.
MaxBadRecords int64 `json:"maxBadRecords,omitempty"`
// NullMarker: [Optional] Specifies a string that represents a null
// value in a CSV file. For example, if you specify "\N", BigQuery
// interprets "\N" as a null value when loading a CSV file. The default
// value is the empty string. If you set this property to a custom
// value, BigQuery throws an error if an empty string is present for all
// data types except for STRING and BYTE. For STRING and BYTE columns,
// BigQuery interprets the empty string as an empty value.
NullMarker string `json:"nullMarker,omitempty"`
// ProjectionFields: If sourceFormat is set to "DATASTORE_BACKUP",
// indicates which entity properties to load into BigQuery from a Cloud
// Datastore backup. Property names are case sensitive and must be
// top-level properties. If no properties are specified, BigQuery loads
// all properties. If any named property isn't found in the Cloud
// Datastore backup, an invalid error is returned in the job result.
ProjectionFields []string `json:"projectionFields,omitempty"`
// Quote: [Optional] The value that is used to quote data sections in a
// CSV file. BigQuery converts the string to ISO-8859-1 encoding, and
// then uses the first byte of the encoded string to split the data in
// its raw, binary state. The default value is a double-quote ('"'). If
// your data does not contain quoted sections, set the property value to
// an empty string. If your data contains quoted newline characters, you
// must also set the allowQuotedNewlines property to true.
//
// Default: "
Quote *string `json:"quote,omitempty"`
// RangePartitioning: [TrustedTester] Range partitioning specification
// for this table. Only one of timePartitioning and rangePartitioning
// should be specified.
RangePartitioning *RangePartitioning `json:"rangePartitioning,omitempty"`
// Schema: [Optional] The schema for the destination table. The schema
// can be omitted if the destination table already exists, or if you're
// loading data from Google Cloud Datastore.
Schema *TableSchema `json:"schema,omitempty"`
// SchemaInline: [Deprecated] The inline schema. For CSV schemas,
// specify as "Field1:Type1[,Field2:Type2]*". For example, "foo:STRING,
// bar:INTEGER, baz:FLOAT".
SchemaInline string `json:"schemaInline,omitempty"`
// SchemaInlineFormat: [Deprecated] The format of the schemaInline
// property.
SchemaInlineFormat string `json:"schemaInlineFormat,omitempty"`
// SchemaUpdateOptions: Allows the schema of the destination table to be
// updated as a side effect of the load job if a schema is autodetected
// or supplied in the job configuration. Schema update options are
// supported in two cases: when writeDisposition is WRITE_APPEND; when
// writeDisposition is WRITE_TRUNCATE and the destination table is a
// partition of a table, specified by partition decorators. For normal
// tables, WRITE_TRUNCATE will always overwrite the schema. One or more
// of the following values are specified: ALLOW_FIELD_ADDITION: allow
// adding a nullable field to the schema. ALLOW_FIELD_RELAXATION: allow
// relaxing a required field in the original schema to nullable.
SchemaUpdateOptions []string `json:"schemaUpdateOptions,omitempty"`
// SkipLeadingRows: [Optional] The number of rows at the top of a CSV
// file that BigQuery will skip when loading the data. The default value
// is 0. This property is useful if you have header rows in the file
// that should be skipped.
SkipLeadingRows int64 `json:"skipLeadingRows,omitempty"`
// SourceFormat: [Optional] The format of the data files. For CSV files,
// specify "CSV". For datastore backups, specify "DATASTORE_BACKUP". For
// newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Avro,
// specify "AVRO". For parquet, specify "PARQUET". For orc, specify
// "ORC". The default value is CSV.
SourceFormat string `json:"sourceFormat,omitempty"`
// SourceUris: [Required] The fully-qualified URIs that point to your
// data in Google Cloud. For Google Cloud Storage URIs: Each URI can
// contain one '*' wildcard character and it must come after the
// 'bucket' name. Size limits related to load jobs apply to external
// data sources. For Google Cloud Bigtable URIs: Exactly one URI can be
// specified and it has be a fully specified and valid HTTPS URL for a
// Google Cloud Bigtable table. For Google Cloud Datastore backups:
// Exactly one URI can be specified. Also, the '*' wildcard character is
// not allowed.
SourceUris []string `json:"sourceUris,omitempty"`
// TimePartitioning: Time-based partitioning specification for the
// destination table. Only one of timePartitioning and rangePartitioning
// should be specified.
TimePartitioning *TimePartitioning `json:"timePartitioning,omitempty"`
// UseAvroLogicalTypes: [Optional] If sourceFormat is set to "AVRO",
// indicates whether to enable interpreting logical types into their
// corresponding types (ie. TIMESTAMP), instead of only using their raw
// types (ie. INTEGER).
UseAvroLogicalTypes bool `json:"useAvroLogicalTypes,omitempty"`
// WriteDisposition: [Optional] Specifies the action that occurs if the
// destination table already exists. The following values are supported:
// WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the
// table data. WRITE_APPEND: If the table already exists, BigQuery
// appends the data to the table. WRITE_EMPTY: If the table already
// exists and contains data, a 'duplicate' error is returned in the job
// result. The default value is WRITE_APPEND. Each action is atomic and
// only occurs if BigQuery is able to complete the job successfully.
// Creation, truncation and append actions occur as one atomic update
// upon job completion.
WriteDisposition string `json:"writeDisposition,omitempty"`
// ForceSendFields is a list of field names (e.g. "AllowJaggedRows") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AllowJaggedRows") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *JobConfigurationLoad) MarshalJSON() ([]byte, error) {
type NoMethod JobConfigurationLoad
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type JobConfigurationQuery struct {
// AllowLargeResults: [Optional] If true and query uses legacy SQL
// dialect, allows the query to produce arbitrarily large result tables
// at a slight cost in performance. Requires destinationTable to be set.
// For standard SQL queries, this flag is ignored and large results are
// always allowed. However, you must still set destinationTable when
// result size exceeds the allowed maximum response size.
AllowLargeResults bool `json:"allowLargeResults,omitempty"`
// Clustering: [Beta] Clustering specification for the destination
// table. Must be specified with time-based partitioning, data in the
// table will be first partitioned and subsequently clustered.
Clustering *Clustering `json:"clustering,omitempty"`
// CreateDisposition: [Optional] Specifies whether the job is allowed to
// create new tables. The following values are supported:
// CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the
// table. CREATE_NEVER: The table must already exist. If it does not, a
// 'notFound' error is returned in the job result. The default value is
// CREATE_IF_NEEDED. Creation, truncation and append actions occur as
// one atomic update upon job completion.
CreateDisposition string `json:"createDisposition,omitempty"`
// DefaultDataset: [Optional] Specifies the default dataset to use for
// unqualified table names in the query. Note that this does not alter
// behavior of unqualified dataset names.
DefaultDataset *DatasetReference `json:"defaultDataset,omitempty"`
// DestinationEncryptionConfiguration: Custom encryption configuration
// (e.g., Cloud KMS keys).
DestinationEncryptionConfiguration *EncryptionConfiguration `json:"destinationEncryptionConfiguration,omitempty"`
// DestinationTable: [Optional] Describes the table where the query
// results should be stored. If not present, a new table will be created
// to store the results. This property must be set for large results
// that exceed the maximum response size.
DestinationTable *TableReference `json:"destinationTable,omitempty"`
// FlattenResults: [Optional] If true and query uses legacy SQL dialect,
// flattens all nested and repeated fields in the query results.
// allowLargeResults must be true if this is set to false. For standard
// SQL queries, this flag is ignored and results are never flattened.
//
// Default: true
FlattenResults *bool `json:"flattenResults,omitempty"`
// MaximumBillingTier: [Optional] Limits the billing tier for this job.
// Queries that have resource usage beyond this tier will fail (without
// incurring a charge). If unspecified, this will be set to your project
// default.
//
// Default: 1
MaximumBillingTier *int64 `json:"maximumBillingTier,omitempty"`
// MaximumBytesBilled: [Optional] Limits the bytes billed for this job.
// Queries that will have bytes billed beyond this limit will fail
// (without incurring a charge). If unspecified, this will be set to
// your project default.
MaximumBytesBilled int64 `json:"maximumBytesBilled,omitempty,string"`
// ParameterMode: Standard SQL only. Set to POSITIONAL to use positional
// (?) query parameters or to NAMED to use named (@myparam) query
// parameters in this query.
ParameterMode string `json:"parameterMode,omitempty"`
// PreserveNulls: [Deprecated] This property is deprecated.
PreserveNulls bool `json:"preserveNulls,omitempty"`
// Priority: [Optional] Specifies a priority for the query. Possible
// values include INTERACTIVE and BATCH. The default value is
// INTERACTIVE.
Priority string `json:"priority,omitempty"`
// Query: [Required] SQL query text to execute. The useLegacySql field
// can be used to indicate whether the query uses legacy SQL or standard
// SQL.
Query string `json:"query,omitempty"`
// QueryParameters: Query parameters for standard SQL queries.
QueryParameters []*QueryParameter `json:"queryParameters,omitempty"`
// RangePartitioning: [TrustedTester] Range partitioning specification
// for this table. Only one of timePartitioning and rangePartitioning
// should be specified.
RangePartitioning *RangePartitioning `json:"rangePartitioning,omitempty"`
// SchemaUpdateOptions: Allows the schema of the destination table to be
// updated as a side effect of the query job. Schema update options are
// supported in two cases: when writeDisposition is WRITE_APPEND; when
// writeDisposition is WRITE_TRUNCATE and the destination table is a
// partition of a table, specified by partition decorators. For normal
// tables, WRITE_TRUNCATE will always overwrite the schema. One or more
// of the following values are specified: ALLOW_FIELD_ADDITION: allow
// adding a nullable field to the schema. ALLOW_FIELD_RELAXATION: allow
// relaxing a required field in the original schema to nullable.
SchemaUpdateOptions []string `json:"schemaUpdateOptions,omitempty"`
// TableDefinitions: [Optional] If querying an external data source
// outside of BigQuery, describes the data format, location and other
// properties of the data source. By defining these properties, the data
// source can then be queried as if it were a standard BigQuery table.
TableDefinitions map[string]ExternalDataConfiguration `json:"tableDefinitions,omitempty"`
// TimePartitioning: Time-based partitioning specification for the
// destination table. Only one of timePartitioning and rangePartitioning
// should be specified.
TimePartitioning *TimePartitioning `json:"timePartitioning,omitempty"`
// UseLegacySql: Specifies whether to use BigQuery's legacy SQL dialect
// for this query. The default value is true. If set to false, the query
// will use BigQuery's standard SQL:
// https://cloud.google.com/bigquery/sql-reference/ When useLegacySql is
// set to false, the value of flattenResults is ignored; query will be
// run as if flattenResults is false.
//
// Default: true
UseLegacySql *bool `json:"useLegacySql,omitempty"`
// UseQueryCache: [Optional] Whether to look for the result in the query
// cache. The query cache is a best-effort cache that will be flushed
// whenever tables in the query are modified. Moreover, the query cache
// is only available when a query does not have a destination table
// specified. The default value is true.
//
// Default: true
UseQueryCache *bool `json:"useQueryCache,omitempty"`
// UserDefinedFunctionResources: Describes user-defined function
// resources used in the query.
UserDefinedFunctionResources []*UserDefinedFunctionResource `json:"userDefinedFunctionResources,omitempty"`
// WriteDisposition: [Optional] Specifies the action that occurs if the
// destination table already exists. The following values are supported:
// WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the
// table data and uses the schema from the query result. WRITE_APPEND:
// If the table already exists, BigQuery appends the data to the table.
// WRITE_EMPTY: If the table already exists and contains data, a
// 'duplicate' error is returned in the job result. The default value is
// WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is
// able to complete the job successfully. Creation, truncation and
// append actions occur as one atomic update upon job completion.
WriteDisposition string `json:"writeDisposition,omitempty"`
// ForceSendFields is a list of field names (e.g. "AllowLargeResults")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AllowLargeResults") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *JobConfigurationQuery) MarshalJSON() ([]byte, error) {
type NoMethod JobConfigurationQuery
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type JobConfigurationTableCopy struct {
// CreateDisposition: [Optional] Specifies whether the job is allowed to
// create new tables. The following values are supported:
// CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the
// table. CREATE_NEVER: The table must already exist. If it does not, a
// 'notFound' error is returned in the job result. The default value is
// CREATE_IF_NEEDED. Creation, truncation and append actions occur as
// one atomic update upon job completion.
CreateDisposition string `json:"createDisposition,omitempty"`
// DestinationEncryptionConfiguration: Custom encryption configuration
// (e.g., Cloud KMS keys).
DestinationEncryptionConfiguration *EncryptionConfiguration `json:"destinationEncryptionConfiguration,omitempty"`
// DestinationTable: [Required] The destination table
DestinationTable *TableReference `json:"destinationTable,omitempty"`
// SourceTable: [Pick one] Source table to copy.
SourceTable *TableReference `json:"sourceTable,omitempty"`
// SourceTables: [Pick one] Source tables to copy.
SourceTables []*TableReference `json:"sourceTables,omitempty"`
// WriteDisposition: [Optional] Specifies the action that occurs if the
// destination table already exists. The following values are supported:
// WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the
// table data. WRITE_APPEND: If the table already exists, BigQuery
// appends the data to the table. WRITE_EMPTY: If the table already
// exists and contains data, a 'duplicate' error is returned in the job
// result. The default value is WRITE_EMPTY. Each action is atomic and
// only occurs if BigQuery is able to complete the job successfully.
// Creation, truncation and append actions occur as one atomic update
// upon job completion.
WriteDisposition string `json:"writeDisposition,omitempty"`
// ForceSendFields is a list of field names (e.g. "CreateDisposition")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CreateDisposition") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *JobConfigurationTableCopy) MarshalJSON() ([]byte, error) {
type NoMethod JobConfigurationTableCopy
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type JobList struct {
// Etag: A hash of this page of results.
Etag string `json:"etag,omitempty"`
// Jobs: List of jobs that were requested.
Jobs []*JobListJobs `json:"jobs,omitempty"`
// Kind: The resource type of the response.
Kind string `json:"kind,omitempty"`
// NextPageToken: A token to request the next page of results.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Etag") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Etag") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *JobList) MarshalJSON() ([]byte, error) {
type NoMethod JobList
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type JobListJobs struct {
// Configuration: [Full-projection-only] Specifies the job
// configuration.
Configuration *JobConfiguration `json:"configuration,omitempty"`
// ErrorResult: A result object that will be present only if the job has
// failed.
ErrorResult *ErrorProto `json:"errorResult,omitempty"`
// Id: Unique opaque ID of the job.
Id string `json:"id,omitempty"`
// JobReference: Job reference uniquely identifying the job.
JobReference *JobReference `json:"jobReference,omitempty"`
// Kind: The resource type.
Kind string `json:"kind,omitempty"`
// State: Running state of the job. When the state is DONE, errorResult
// can be checked to determine whether the job succeeded or failed.
State string `json:"state,omitempty"`
// Statistics: [Output-only] Information about the job, including
// starting time and ending time of the job.
Statistics *JobStatistics `json:"statistics,omitempty"`
// Status: [Full-projection-only] Describes the state of the job.
Status *JobStatus `json:"status,omitempty"`
// UserEmail: [Full-projection-only] Email address of the user who ran
// the job.
UserEmail string `json:"user_email,omitempty"`
// ForceSendFields is a list of field names (e.g. "Configuration") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Configuration") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *JobListJobs) MarshalJSON() ([]byte, error) {
type NoMethod JobListJobs
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type JobReference struct {
// JobId: [Required] The ID of the job. The ID must contain only letters
// (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-). The
// maximum length is 1,024 characters.
JobId string `json:"jobId,omitempty"`
// Location: The geographic location of the job. See details at
// https://cloud.google.com/bigquery/docs/locations#specifying_your_location.
Location string `json:"location,omitempty"`
// ProjectId: [Required] The ID of the project containing this job.
ProjectId string `json:"projectId,omitempty"`
// ForceSendFields is a list of field names (e.g. "JobId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "JobId") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *JobReference) MarshalJSON() ([]byte, error) {
type NoMethod JobReference
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type JobStatistics struct {
// CompletionRatio: [TrustedTester] [Output-only] Job progress (0.0 ->
// 1.0) for LOAD and EXTRACT jobs.
CompletionRatio float64 `json:"completionRatio,omitempty"`