数百万物联网设备将传感器数据流式传输到 BigQuery。查询主要集中在按 create_date、location_id 和 device_version 筛选的近期数据。您应该如何对表进行分区和聚类以实现成本和性能优化?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 按 create_date 对表数据进行分区,并按 location_id 和 device_version 对表数据进行聚类。.
为什么这是答案
此方案中,查询主要按 createdate 筛选近期数据,因此按 createdate 分区能有效减少扫描的数据量,降低成本并提高查询性能。BigQuery 分区表适用于基于日期或时间戳的筛选。locationid 和 deviceversion 也是查询中的筛选条件,但它们可能具有更高的基数或更复杂的筛选模式。对这些列进行聚类可以进一步优化查询,因为 BigQuery 会将具有相似聚类键的数据存储在一起,从而在查询时跳过不相关的数据块。 选项 A(按所有列分区)不实用,因为 BigQuery 对分区键的数量有限制,且过多的分区会增加管理复杂性。选项 C(仅聚类)无法像分区那样有效减少扫描的数据量,因为聚类是在分区内部进行的。选项 D(按 createdate 聚类,按其他列分区)是错误的,因为日期列通常更适合分区,而分区列不能用于聚类。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡