Membuat partisi dan cluster tabel

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

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

Sebelum memulai

  1. Di Cloud Console, buka halaman Dataform.

    Buka halaman Dataform

  2. Pilih atau buat repositori.

  3. Pilih atau buat ruang kerja pengembangan.

  4. Membuat tabel.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan guna 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 ke project, folder, dan organisasi.

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))"
  }
}

Menetapkan filter partisi

Untuk informasi selengkapnya tentang filter partisi di BigQuery, lihat Menetapkan atribut filter partisi wajib pada tabel berpartisi.

Untuk menetapkan 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 di blok bigquery 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 berpartisi, 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 ingin Anda simpan untuk partisi.

  5. Opsional: Klik Format.

Contoh kode berikut menunjukkan periode retensi untuk partisi yang disetel ke 14 hari di blok bigquery file SQLX tabel berpartisi:

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 ingin Anda gunakan untuk mengelompokkan tabel.

  5. Opsional: Klik Format.

Contoh kode berikut menunjukkan tabel berpartisi yang dikelompokkan menurut kolom name dan revenue:

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

Langkah selanjutnya