问题
How many bytes do the following types take up in BigQuer:
- Timestamp
- Datetime
- Date
My guess was a date could be stored in 2 bytes, and a timestamp perhaps 8, but wasn't sure and it doesn't say on the https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types page.
回答1:
The size of BigQuery's data types is as follows:
Data type Size INT64/INTEGER 8 bytes FLOAT64/FLOAT 8 bytes NUMERIC 16 bytes BOOL/BOOLEAN 1 byte STRING 2 bytes + the UTF-8 encoded string size BYTES 2 bytes + the number of bytes in the value DATE 8 bytes DATETIME 8 bytes TIME 8 bytes TIMESTAMP 8 bytes STRUCT/RECORD 0 bytes + the size of the contained fields GEOGRAPHY 16 bytes + 24 bytes * the number of vertices in the geography type (you can verify the number of vertices using the ST_NumPoints function)
Null values for any data type are calculated as 0 bytes.
A repeated column is stored as an array, and the size is calculated based on the number of values. For example, an integer column (INT64) that is repeated (ARRAY) and contains 4 entries is calculated as 32 bytes (4 entries x 8 bytes).
See more details in Data size calculation section of Pricing documentation
来源:https://stackoverflow.com/questions/58195009/how-many-bytes-in-bigquery-types