0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

BigQuery Tips パーティションテーブルを作成するDDL

Posted at

BigQueryでパーティションテーブルを作成するときに使うDDLをよく忘れるのでまとめようと思う。

1, 日付パーティション(DATE型の列を使用)

-- 1. 日付パーティション(DATE型の列を使用)
CREATE OR REPLACE TABLE my_project.example_dataset.daily_sales_partition
PARTITION BY DATE(event_date)
AS
SELECT * FROM source_table;

DATE(event_date)で、event_date列がDATE型指定
このパーティションは、日付単位で分割

2, 日時パーティション(TIMESTAMP型の列を使用)

-- 2. 日時パーティション(TIMESTAMP型の列を使用)
CREATE OR REPLACE TABLE my_project.example_dataset.event_logs_timestamp_partition
PARTITION BY TIMESTAMP_TRUNC(event_timestamp, DAY)
AS
SELECT * FROM source_table;

TIMESTAMP_TRUNC(event_timestamp, DAY)でevent_timestamp列をTIMESTAMP型で日単位にパーティション化、パーティション単位はHOURDAYWEEKMONTHYEARなど指定可能

3, 整数範囲パーティション(INTEGER型の列を使用)

-- 3. 整数範囲パーティション(INTEGER型の列を使用)
CREATE OR REPLACE TABLE my_project.example_dataset.customer_segments_partition
PARTITION BY RANGE_BUCKET(customer_id, GENERATE_ARRAY(1, 100, 10))
AS
SELECT * FROM source_table;

customer_id列を整数範囲でパーティション化
GENERATE_ARRAY(1, 100, 10)により、1から100までの範囲を10ごとに分割する例
これは今のところあまり使い所がなかった

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?