ths*_*art 0 clustered-index google-bigquery partition
目前,我正在使用以下查询:SELECT ID,Key FROM
mydataset.mytable
,其中ID = 100077113?和Key ='06019'
ID-唯一
如果我知道查找ID的键,则可以在大约10,000行上完成,并且工作更快,并且处理的数据更少。
如何在BigQuery中使用新的集群功能来对字段Key进行分区?
(我将总结并扩展Mikhail,Pentium10和Pavan所说的内容)
我有一个表,其中包含12M行和76 GB的数据。该表没有时间戳列。
这是对表进行聚类的方法-在为假分区创建假日期列时:
CREATE TABLE `fh-bigquery.public_dump.github_java_clustered`
(id STRING, size INT64, content STRING, binary BOOL
, copies INT64, sample_repo_name STRING, sample_path STRING
, fake_date DATE)
PARTITION BY fake_date
CLUSTER BY id AS (
SELECT *, DATE('1980-01-01') fake_date
FROM `fh-bigquery.github_extracts.contents_java`
)
Run Code Online (Sandbox Code Playgroud)
奏效了吗?
# original table
SELECT *
FROM `fh-bigquery.github_extracts.contents_java`
WHERE id='be26cfc2bd3e21821e4a27ec7796316e8d7fb0f3'
(3.3s elapsed, 72.1 GB processed)
# clustered table
SELECT *
FROM `fh-bigquery.public_dump.github_java_clustered2`
WHERE id='be26cfc2bd3e21821e4a27ec7796316e8d7fb0f3'
(2.4s elapsed, 232 MB processed)
Run Code Online (Sandbox Code Playgroud)
我在这里学到了什么:
了解更多:https://medium.com/@hoffa/bigquery-optimized-cluster-your-tables-65e2f684594b
| 归档时间: |
|
| 查看次数: |
1040 次 |
| 最近记录: |