BigQuery 类型中有多少字节

Posted

技术标签:

【中文标题】BigQuery 类型中有多少字节【英文标题】:How many bytes in BigQuery types 【发布时间】:2019-10-02 03:56:26 【问题描述】:

以下类型在 BigQuery 中占用多少字节:

时间戳 日期时间 日期

我的猜测是日期可以存储在 2 个字节中,时间戳可能是 8 个,但我对此不确定,https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types 页面上也没有提及。

【问题讨论】:

【参考方案1】:

BigQuery 的数据类型大小如下:

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 值都计算为 0 字节。

将重复的列存储为数组,并计算大小 基于值的数量。例如,整数列 (INT64) 重复 (ARRAY) 并包含 4 个条目的计算 为 32 个字节(4 个条目 x 8 个字节)。

在Pricing 文档的Data size calculation 部分查看更多详细信息

【讨论】:

ARRAY 怎么样? :) 我只是从文档中复制粘贴感到内疚:o(通常这不是我要回答的问题类型:o) @MikhailBerlyant 知道为什么日期是 8 个字节吗?除非有人要输入像Jan 1, 20193884949484 这样的日期吗? @FI-Info,我也很好奇...为什么在将 9999 明确声明为最大有效日期时为日期保留 8 个字节,但我找不到任何信息,所以我发布了这个问题***.com/questions/68354823/…

以上是关于BigQuery 类型中有多少字节的主要内容,如果未能解决你的问题,请参考以下文章

更改 BigQuery 中记录列的类型

在BigQuery中更改记录列的类型

从 AVRO 加载到 BigQuery - 在目标表中指定十进制类型

bigquery:加入“结构”列

BigQuery 将“字节”列拆分为行

Google BigQuery Payload 大小限制为 10485760 字节