簡體   English   中英

如何在 firestore 回填后管理 BigQuery 表 [google-bigquery]

[英]How to manage BigQuery tables post firestore backfill [google-bigquery]

我有興趣學習如何管理 BigQuery post firestore 回填。

首先,我使用firebase/firestore-bigquery-export@0.1.22 function 和一個名為'n'的表。 創建此表后,會生成 2 個表n_raw_changelogn_raw_latest

我可以刪除其中任何一個表嗎?為什么會自動生成名稱?

然后我運行了一個回填,因為之前的集合在 BigQuery 表之前使用:

npx @firebaseextensions/fs-bq-import-collection \
--non-interactive \
--project blah \
--source-collection-path users \
--dataset n_raw_latest \
--table-name-prefix pre \
--batch-size 300 \
-query-collection-group true

現在腳本添加了 2 個帶有附加擴展名的表,即n_raw_latest_raw_latestn_raw_latest_raw_changelog

我是否應該將這些記錄發送到以前的表,並在回填后刪除它們? 有沒有指針,我是否使用了不正確的命名約定?

如本教程所示,這兩個表是擴展生成的數據集的一部分。

例如,假設我們在 Firebase 中有一個名為 orders 的集合,如下所示: Firebase 集合

當我們安裝擴展時,在配置面板中顯示如下:

配置擴展

然后,

一旦我們在集合中創建第一個文檔,擴展程序就會在 BigQuery 中使用兩個資源創建firebase_orders數據集

BigQuery 數據集

  • 存儲集合中文檔的完整更改歷史記錄的原始數據...請注意,該表使用我們之前配置的前綴命名為orders_raw_changelog
  • 名為orders_raw_latest視圖,表示集合中數據的當前 state。

所以,這些是由擴展生成的。

從您在問題中發布的命令,我看到您使用了帶有--non-interactive標志的fs-bq-import-collection腳本,並傳遞了帶有n_raw_latest值的--dataset參數。

--dataset參數對應於上面配置面板中顯示的數據集 ID參數。 因此,您正在創建一個名為n_raw_latest的新數據集,它將包含n_raw_latest_raw_changelog表和n_raw_latest_raw_latest視圖。 事實上,您正在使用當前注冊表創建一個新數據集,而不是更新您創建的數據集。

為避免這種情況,如文檔中所述,您必須使用在配置擴展時設置的相同數據集 ID

  • ${DATASET_ID} :您在擴展安裝期間為數據集指定的 ID

也可以看看:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM