google.cloud.bigquery.schema.SchemaField¶
- class google.cloud.bigquery.schema.SchemaField(name: str, field_type: str, mode: str = 'NULLABLE', default_value_expression: Optional[str] = None, description: Union[str, google.cloud.bigquery.schema._DefaultSentinel] = <_DefaultSentinel.DEFAULT_VALUE: <object object>>, fields: Iterable[google.cloud.bigquery.schema.SchemaField] = (), policy_tags: Union[google.cloud.bigquery.schema.PolicyTagList, None, google.cloud.bigquery.schema._DefaultSentinel] = <_DefaultSentinel.DEFAULT_VALUE: <object object>>, precision: Union[int, google.cloud.bigquery.schema._DefaultSentinel] = <_DefaultSentinel.DEFAULT_VALUE: <object object>>, scale: Union[int, google.cloud.bigquery.schema._DefaultSentinel] = <_DefaultSentinel.DEFAULT_VALUE: <object object>>, max_length: Union[int, google.cloud.bigquery.schema._DefaultSentinel] = <_DefaultSentinel.DEFAULT_VALUE: <object object>>, range_element_type: Optional[Union[google.cloud.bigquery.schema.FieldElementType, str]] = None)[source]¶
Describe a single field within a table schema.
- Parameters
name – The name of the field.
field_type – The type of the field. See https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#TableFieldSchema.FIELDS.type
mode – Defaults to
'NULLABLE'
. The mode of the field. See https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#TableFieldSchema.FIELDS.modedescription – Description for the field.
fields – Subfields (requires
field_type
of ‘RECORD’).policy_tags – The policy tag list for the field.
precision – Precison (number of digits) of fields with NUMERIC or BIGNUMERIC type.
scale – Scale (digits after decimal) of fields with NUMERIC or BIGNUMERIC type.
max_length – Maximum length of fields with STRING or BYTES type.
default_value_expression –
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_TIMESTAMP CURRENT_TIME CURRENT_DATE CURRENT_DATETIME GENERATE_UUID RAND SESSION_USER ST_GEOPOINT
Struct or array composed with the above allowed functions, for example:
”[CURRENT_DATE(), DATE ‘2020-01-01’”]
range_element_type – 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 include DATE, DATETIME and TIMESTAMP.
- __init__(name: str, field_type: str, mode: str = 'NULLABLE', default_value_expression: Optional[str] = None, description: Union[str, google.cloud.bigquery.schema._DefaultSentinel] = <_DefaultSentinel.DEFAULT_VALUE: <object object>>, fields: Iterable[google.cloud.bigquery.schema.SchemaField] = (), policy_tags: Union[google.cloud.bigquery.schema.PolicyTagList, None, google.cloud.bigquery.schema._DefaultSentinel] = <_DefaultSentinel.DEFAULT_VALUE: <object object>>, precision: Union[int, google.cloud.bigquery.schema._DefaultSentinel] = <_DefaultSentinel.DEFAULT_VALUE: <object object>>, scale: Union[int, google.cloud.bigquery.schema._DefaultSentinel] = <_DefaultSentinel.DEFAULT_VALUE: <object object>>, max_length: Union[int, google.cloud.bigquery.schema._DefaultSentinel] = <_DefaultSentinel.DEFAULT_VALUE: <object object>>, range_element_type: Optional[Union[google.cloud.bigquery.schema.FieldElementType, str]] = None)[source]¶
Initialize self. See help(type(self)) for accurate signature.
Methods
__init__
(name, field_type[, mode, …])Initialize self.
from_api_repr
(api_repr)Return a
SchemaField
object deserialized from a dictionary.Return a dictionary representing this schema field.
Return the field as the standard SQL field representation object.
Attributes
Optional[str] default value of a field, using an SQL expression
description for the field.
The type of the field.
Subfields contained in this field.
whether ‘mode’ is ‘nullable’.
Maximum length for the STRING or BYTES field.
The mode of the field.
The name of the field.
Policy tag list definition for this field.
Precision (number of digits) for the NUMERIC field.
The subtype of the RANGE, if the type of this field is RANGE.
Scale (digits after decimal) for the NUMERIC field.
- property default_value_expression¶
Optional[str] default value of a field, using an SQL expression
- property field_type¶
The type of the field.
See: https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#TableFieldSchema.FIELDS.type
- Type
- property fields¶
Subfields contained in this field.
Must be empty unset if
field_type
is not ‘RECORD’.- Type
Optional[tuple]
- classmethod from_api_repr(api_repr: dict) → google.cloud.bigquery.schema.SchemaField[source]¶
Return a
SchemaField
object deserialized from a dictionary.- Parameters
api_repr (Mapping[str, str]) – The serialized representation of the SchemaField, such as what is output by
to_api_repr()
.- Returns
The
SchemaField
object.- Return type
- property mode¶
The mode of the field.
See: https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#TableFieldSchema.FIELDS.mode
- Type
Optional[str]
- property policy_tags¶
Policy tag list definition for this field.
- Type
- property range_element_type¶
The subtype of the RANGE, if the type of this field is RANGE.
Must be set when
type
is “RANGE”. Must be one of “DATE”, “DATETIME” or “TIMESTAMP”.- Type
Optional[FieldElementType]
- to_api_repr() → dict[source]¶
Return a dictionary representing this schema field.
- Returns
A dictionary representing the SchemaField in a serialized form.
- Return type
Dict
- to_standard_sql() → google.cloud.bigquery.standard_sql.StandardSqlField[source]¶
Return the field as the standard SQL field representation object.