首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Bigquery定价比较:将数据加载到Bigquery使用Create外部表

Bigquery定价比较:将数据加载到Bigquery使用Create外部表
EN

Stack Overflow用户
提问于 2022-02-25 05:01:32
回答 2查看 1.5K关注 0票数 1

我的团队正在使用Google平台开发数据平台。我们将公司的数据上传到上,并尝试在Bigquery上创建数据集市。但是,为了节省GCP的使用成本,我们考虑将所有数据从gcs加载到bigquery,或者在bigquery上创建外部表。

哪种方式更符合成本效益?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-02-25 10:24:21

BigQuery和外部表容量使datalake (文件)和数据仓库(结构化数据)之间的边界变得模糊,您的问题也是相关的。

当您使用外部表时,缺少了几个特性,比如集群和分区,并且您的文件被动态解析(使用类型转换) ->处理时间更慢,并且无法控制/限制进程的数据量。此外,文件中可能出现的错误会破坏查询。

使用本机表时,对BigQuery处理、数据已经清理和分析、表已分区和群集的数据存储进行了优化。

成本问题是一个很难的多重问题。首先,我们可以讨论数据存储。如果GCS中有文件,而BigQuery中有相同的数据,则需要支付两次存储费用。然而,在没有任何更新的90天后,数据进入BigQuery中的“存档”存储模式,成本降低了2倍。此外,在集成到BigQuery之后,还可以将GCS文件移动到一个冷存储区。

那是储藏室的。然后是处理。首先,处理成本大约是存储成本的10倍,这是最需要关注的事情。执行BigQuery请求时,需要支付查询扫描的数据量。如果有分区或集群,使用BigQuery本机表,则可以限制扫描的数据量,从而大大降低成本。对于外部表,您不能使用分区和群集特性,因此始终需要支付全部数据。

因此,这取决于(一如既往)您的数据量和请求的频率。

不要忘记一些额外的东西:对于外部表,您可能会有可能中断查询的错误。在生产模式中,它可以是戏剧性的。在这件事上想聪明点。

最后,请求外部表比本机表慢(没有分区,因此需要处理更多数据和解析/转换持续时间)。因为时间就是金钱(如果你有时间关键的查询),而非物质成本也会影响你的选择。

票数 7
EN

Stack Overflow用户

发布于 2022-04-06 04:54:12

@guillaume blaquiere的答案是可以的,但他忘了提到一些重要的事情:可以执行分区查询。可以创建链接到存储区中的桶的分区外部表。例:

  • gs://myBucket/myTable/dt=2019-10-31/lang=en/foo

  • gs://myBucket/myTable/dt=2018-10-31/lang=fr/bar

然后,您可以在来自BigQuery的SQL查询中使用"dt“或"lang”过滤器。

https://cloud.google.com/bigquery/docs/hive-partitioned-queries-gcs

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71261259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档