Membuat partisi dan cluster tabel

Dokumen ini menunjukkan cara menggunakan Dataform core untuk membuat partisi dan cluster tabel.

BigQuery mendukung tabel yang dipartisi dan pengelompokan tabel. Untuk mengetahui informasi selengkapnya tentang partisi dan cluster di BigQuery, lihat Pengantar tabel yang dipartisi serta Membuat dan menggunakan tabel yang dikelompokkan.

Sebelum memulai

  1. Di Konsol Cloud, buka halaman Dataform.

    Buka halaman Dataform

  2. Pilih atau buat repositori.

  3. Pilih atau buat ruang kerja pengembangan.

  4. Buat tabel.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk mengonfigurasi partisi dan cluster tabel, minta administrator untuk memberi Anda peran IAM Dataform Editor (roles/dataform.editor) di ruang kerja. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Membuat partisi tabel

Untuk membuat partisi tabel, tambahkan partition_expression BigQuery ke blok bigquery dalam file SQLX definisi tabel.

Untuk membuat partisi tabel, ikuti langkah-langkah berikut:

  1. Buka ruang kerja pengembangan Anda.
  2. Di panel Files, luaskan definitions/.
  3. Buka file SQLX definisi tabel.
  4. Di blok config, tambahkan blok bigquery di bawah deklarasi jenis tabel dalam format berikut:

    config {
      type: "table",
      bigquery: {
      }
    }
    
  5. Di blok bigquery, masukkan cuplikan kode berikut:

        partitionBy: "PARTITION_EXPRESSION"
    

    Ganti PARTITION_EXPRESSION dengan ekspresi untuk mempartisi tabel.

  6. Opsional: Klik Format.

Contoh kode berikut menunjukkan partisi tabel berdasarkan jam dalam file SQLX definisi tabel:

config {
  type: "table",
  bigquery: {
    partitionBy: "DATETIME_TRUNC(<timestamp_column>, HOUR)"
  }
}

Contoh kode berikut menunjukkan partisi tabel berdasarkan nilai bilangan bulat dalam file SQLX definisi tabel:

config {
  type: "table",
  bigquery: {
    partitionBy: "RANGE_BUCKET(<integer_column>, GENERATE_ARRAY(0, 1000000, 1000))"
  }
}

Menyetel filter partisi

Untuk mengetahui informasi selengkapnya mengenai filter partisi di BigQuery, lihat bagian Menetapkan atribut filter partisi yang diperlukan pada tabel yang dipartisi.

Untuk menyetel filter partisi, ikuti langkah-langkah berikut:

  1. Buka ruang kerja pengembangan Anda.
  2. Di panel Files, luaskan definitions/.
  3. Buka file SQLX definisi tabel yang dipartisi.
  4. Di blok bigquery, masukkan cuplikan kode berikut:

    requirePartitionFilter : true
    
  5. Opsional: Klik Format.

Contoh kode berikut menunjukkan filter partisi yang ditetapkan dalam blok bigquery pada file SQLX tabel yang dipartisi:

config {
  type: "table",
  bigquery: {
    partitionBy: "DATE(ts)",
    requirePartitionFilter : true
  }
}
SELECT CURRENT_TIMESTAMP() AS ts

Menetapkan periode retensi data untuk partisi

Untuk mengontrol retensi semua partisi dalam tabel yang dipartisi, ikuti langkah-langkah berikut:

  1. Buka ruang kerja pengembangan Anda.
  2. Di panel Files, luaskan definitions/.
  3. Buka file SQLX definisi tabel yang dipartisi.
  4. Di blok bigquery, masukkan cuplikan kode berikut:

    partitionExpirationDays: NUMBER_OF_DAYS
    

    Ganti NUMBER_OF_DAYS dengan jumlah hari yang Anda inginkan untuk mempertahankan partisi.

  5. Opsional: Klik Format.

Contoh kode berikut menunjukkan periode retensi untuk partisi yang ditetapkan ke 14 hari dalam blok bigquery file SQLX tabel yang dipartisi:

config {
  type: "table",
  bigquery: {
    partitionBy: "DATE(ts)",
    partitionExpirationDays: 14,
  }
}
SELECT CURRENT_TIMESTAMP() AS ts

Membuat cluster tabel

Untuk membuat cluster tabel, tambahkan clustering_column_list BigQuery ke blok bigquery dalam file SQLX definisi tabel.

Untuk membuat cluster tabel, ikuti langkah-langkah berikut:

  1. Buka ruang kerja pengembangan Anda.
  2. Di panel Files, luaskan definitions/.
  3. Buka file SQLX definisi tabel.
  4. Di blok bigquery, masukkan cuplikan kode berikut:

        clusterBy: ["CLUSTER_COLUMN"]
    

    Ganti CLUSTER_COLUMN dengan nama kolom yang akan digunakan untuk mengelompokkan tabel.

  5. Opsional: Klik Format.

Contoh kode berikut menunjukkan tabel yang telah dipartisi yang dikelompokkan berdasarkan kolom name dan revenue:

config {
  type: "table",
  bigquery: {
    partitionBy: "DATE(ts)",
    clusterBy: ["name", "revenue"]
  }
}
SELECT CURRENT_TIMESTAMP() as ts, name, revenue

Langkah selanjutnya