Module schema (3.24.0)

Schemas for BigQuery tables / queries.

Classes

FieldElementType

FieldElementType(element_type:str)

Represents the type of a field element.

Parameter
NameDescription
element_typestr

The type of a field element.

PolicyTagList

PolicyTagList(names:typing.Iterable[str]=())

Define Policy Tags for a column.

SchemaField

SchemaField(name:str,field_type:str,mode:str="NULLABLE",default_value_expression:typing.Optional[str]=None,description:typing.Union[str,google.cloud.bigquery.schema._DefaultSentinel]=_DefaultSentinel.DEFAULT_VALUE,fields:typing.Iterable[google.cloud.bigquery.schema.SchemaField]=(),policy_tags:typing.Union[google.cloud.bigquery.schema.PolicyTagList,None,google.cloud.bigquery.schema._DefaultSentinel,]=_DefaultSentinel.DEFAULT_VALUE,precision:typing.Union[int,google.cloud.bigquery.schema._DefaultSentinel]=_DefaultSentinel.DEFAULT_VALUE,scale:typing.Union[int,google.cloud.bigquery.schema._DefaultSentinel]=_DefaultSentinel.DEFAULT_VALUE,max_length:typing.Union[int,google.cloud.bigquery.schema._DefaultSentinel]=_DefaultSentinel.DEFAULT_VALUE,range_element_type:typing.Optional[typing.Union[google.cloud.bigquery.schema.FieldElementType,str]]=None,)

Describe a single field within a table schema.

Parameters
NameDescription
namestr

The name of the field.

field_typestr

The type of the field. Seehttps://cloud.google.com/bigquery/docs/reference/rest/v2/tables#TableFieldSchema.FIELDS.type

modestr

Defaults to'NULLABLE'. The mode of the field. Seehttps://cloud.google.com/bigquery/docs/reference/rest/v2/tables#TableFieldSchema.FIELDS.mode

default_value_expressiontyping.Optional[str]

str, Optional Used to specify the default value of a field using a SQL expression. It can only be set for top level fields (columns). You can use a struct or array expression to specify default value for the entire struct or array. The valid SQL expressions are: - Literals for all data types, including STRUCT and ARRAY. - The following functions:CURRENT_TIMESTAMPCURRENT_TIMECURRENT_DATECURRENT_DATETIMEGENERATE_UUIDRANDSESSION_USERST_GEOPOINT - Struct or array composed with the above allowed functions, for example: "[CURRENT_DATE(), DATE '2020-01-01'"]

descriptiontyping.Union[str, google.cloud.bigquery.schema._DefaultSentinel]

Description for the field.

fieldstyping.Iterable[SchemaField]

Subfields (requiresfield_type of 'RECORD').

policy_tagstyping.Union[PolicyTagList, NoneType, google.cloud.bigquery.schema._DefaultSentinel]

The policy tag list for the field.

precisiontyping.Union[int, google.cloud.bigquery.schema._DefaultSentinel]

Precison (number of digits) of fields with NUMERIC or BIGNUMERIC type.

scaletyping.Union[int, google.cloud.bigquery.schema._DefaultSentinel]

Scale (digits after decimal) of fields with NUMERIC or BIGNUMERIC type.

max_lengthtyping.Union[int, google.cloud.bigquery.schema._DefaultSentinel]

Maximum length of fields with STRING or BYTES type.

range_element_typetyping.Union[google.cloud.bigquery.schema.FieldElementType, str, NoneType]

FieldElementType, str, Optional The subtype of the RANGE, if the type of this field is RANGE. If the type is RANGE, this field is required. Possible values for the field element type of a RANGE includeDATE,DATETIME andTIMESTAMP.

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

Last updated 2025-12-16 UTC.