Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Mengarahkan Koleksi ke BigQuery

Firebase
Made by Firebase

Mengirimkan pembaruan bertahap dan bersifat real time dari koleksi Cloud Firestore yang ditentukan ke BigQuery.

Cara kerja ekstensi ini

Gunakan ekstensi ini untuk mengekspor dokumen di koleksi Cloud Firestore ke BigQuery. Ekspor bersifat real time dan bertahap, jadi data yang ada di BigQuery merupakan duplikasi dari konten Anda yang ada di Cloud Firestore.

Ekstensi ini membuat dan memperbarui set data yang berisi dua resource BigQuery berikut:

  • Suatu [tabel] (https://cloud.google.com/bigquery/docs/tables-intro) data mentah yang menyimpan seluruh histori perubahan dokumen dalam koleksi Anda. Tabel ini mencakup sejumlah kolom metadata sehingga BigQuery dapat menampilkan status data Anda saat ini. Kolom metadata yang wajib ada adalah timestamp , document_name , dan operation untuk perubahan dokumen.
  • Suatu tabel virtual yang menandakan status data dalam koleksi Anda saat ini. Tabel virtual ini juga menunjukkan log operation terakhir untuk setiap dokumen ( CREATE , UPDATE , atau IMPORT ).

Jika Anda membuat, memperbarui, menghapus, atau mengimpor dokumen di koleksi yang ditentukan, ekstensi ini akan mengirimkan pembaruan tersebut ke BigQuery. Selanjutnya, Anda dapat menjalankan kueri di set data yang diduplikasi ini.

Perhatikan bahwa ekstensi ini hanya mendeteksi perubahan dokumen di koleksi, tetapi tidak mendeteksi perubahan di subkoleksi apa pun. Meskipun begitu, Anda dapat menginstal instance tambahan ekstensi ini agar khusus memproses subkoleksi atau koleksi lain dalam database Anda. Sebagai alternatif, jika Anda memiliki subkoleksi yang sama di seluruh dokumen dalam koleksi tertentu, Anda dapat menggunakan notasi {wildcard} untuk memproses semua subkoleksi tersebut (misalnya: chats/{chatid}/posts ).

Mengaktifkan referensi karakter pengganti akan memberikan kolom berbasis STRING tambahan. Nilai kolom JSON yang dihasilkan akan merujuk ke karakter pengganti yang disertakan dalam ${param:COLLECTION_PATH}. Anda dapat mengekstraknya menggunakan JSON_EXTRACT_SCALAR.

Setelan partisi tidak dapat diupdate di tabel yang sudah ada. Jika opsi ini diperlukan, tabel baru harus dibuat.

Clustering tidak perlu membuat atau mengubah tabel saat menambahkan opsi pengelompokan. Hal ini akan diperbarui secara otomatis.

Penyiapan tambahan

Sebelum menginstal ekstensi ini, Anda harus:

Mengubah fungsi

Sebelum mengirim perubahan dokumen ke BigQuery, Anda memiliki kesempatan untuk mengubah data dengan fungsi HTTP. Payload akan berisi hal berikut:

{ 
  data: [{
    insertId: int;
    json: {
      timestamp: int;
      event_id: int;
      document_name: string;
      document_id: int;
      operation: ChangeType;
      data: string;
    },
  }]
}

Struktur respons harus sama.

Mengisi ulang set data BigQuery Anda

Ekstensi ini hanya mengirimkan konten dokumen yang telah diubah -- ekstensi ini tidak mengekspor set data lengkap dokumen Anda yang sudah ada ke BigQuery. Jadi, untuk mengisi ulang set data BigQuery Anda dengan semua dokumen di koleksi, Anda dapat menjalankan skrip impor yang disediakan oleh ekstensi ini.

Penting: Jalankan skrip impor di seluruh koleksi setelah menginstal ekstensi ini; jika tidak, semua penulisan ke database Anda selama proses impor dapat hilang.

Membuat tabel virtual skema

Setelah data berada di BigQuery, Anda dapat menjalankan skrip schema-views (disediakan oleh ekstensi ini) untuk membuat tabel virtual yang akan mempermudah Anda mengkueri data yang relevan. Anda hanya perlu menyediakan file skema JSON yang menjelaskan struktur data Anda, dan skrip schema-views akan membuat tabel virtual.

Penagihan

Untuk menginstal ekstensi, project Anda harus menggunakan paket Blaze (bayar sesuai penggunaan)

  • Anda akan dikenai biaya dalam jumlah kecil (biasanya sekitar $0,01/bulan) untuk resource Firebase yang diperlukan oleh ekstensi ini (meski tidak digunakan).
  • Ekstensi ini menggunakan layanan Firebase dan Google Cloud Platform lainnya yang mengenakan tagihan terkait jika penggunaan Anda melebihi paket gratis layanan:
  • BigQuery (ekstensi ini melakukan penulisan ke BigQuery dengan streaming insert )
  • Cloud Firestore
  • Cloud Functions (Node.js 10+ runtime. Lihat FAQ )

Cara menginstal ekstensi ini

Menggunakan Firebase console

Anda dapat menggunakan Firebase console untuk menginstal dan mengelola ekstensi.

Instal menggunakan konsol

Menggunakan Firebase CLI

Anda juga dapat menggunakan Firebase CLI untuk menginstal dan mengelola ekstensi:

Langkah 1: Jalankan perintah npm berikut untuk menginstal CLI atau mengupdate ke versi CLI terbaru.

npm install -g firebase-tools
Tidak berhasil? Lihat referensi Firebase CLI atau ubah izin npm Anda.

Langkah 2: Siapkan direktori project Firebase baru atau buka direktori yang sudah ada

Langkah 3: Tambahkan ekstensi ini ke manifes ekstensi Anda dengan menjalankan

firebase ext:install firebase/firestore-bigquery-export --local --project=projectId_or_alias

Step 4 (Optional): Test this extension locally with the Firebase Emulator Suite

firebase emulators:start

Langkah 5: Deploy ekstensi dalam manifes ke project Anda

firebase deploy --only extensions --project=projectId_or_alias
Dukungan
Cloud Firestore
Penulis
Lisensi
Apache-2.0
Versi
0.1.25