診斷問題

串流在執行階段可能會發生錯誤。

  • 某些錯誤 (例如來源資料庫的密碼有誤) 可以復原,也就是說,修正後串流就會自動繼續。
  • 錯誤可能會影響單一物件,例如含有不支援資料類型的事件。其他錯誤可能會影響多個物件或整個串流,例如 Datastream 無法連線至來源資料庫。
  • 系統會視錯誤情況,在 Datastream 使用者介面的「Streams」(串流) 或「Stream details」(串流詳細資料) 頁面提供相關資訊。您也可以使用 Datastream 的 API 擷取錯誤相關資訊。

如要排解錯誤,請前往串流查看錯誤,然後按照錯誤訊息中的步驟操作。

本頁面提供設定、連線、Oracle 和 MySQL 錯誤的相關資訊,以及排解錯誤的步驟。

設定和連線錯誤

錯誤 疑難排解步驟
無法連線至來源資料庫 (一般)。

造成這種情況的原因有很多,如要排解這項錯誤,請按照下列步驟操作:

  1. 確認來源資料庫已啟動且可連線。
  2. 從「串流」或「連線設定檔」頁面,前往來源連線設定檔。
  3. 確認連線設定檔連線資訊正確無誤。
  4. 確認使用者名稱和密碼相符。
  5. 確認資料庫中存在該使用者名稱,且使用者具備必要權限。
  6. 儲存您在「連線設定檔」頁面所做的變更。

系統會自動繼續播放。

無法連線至來源資料庫 (IP 位址許可清單)。 如果選擇的連線方式是「IP 許可清單」,但來源資料庫未正確新增一或多個 Datastream 對外 IP 位址,就可能發生這種情況。請確認網路防火牆已設定 Datastream 連線設定檔中顯示的傳出 IP 位址,來源資料庫伺服器才能接受這些 IP 位址傳出的連線。問題解決後,系統就會自動繼續串流。
無法連線至來源資料庫 (轉送 SSH 通道)。 如果轉送 SSH 通道發生問題,就可能出現這種情況。檢查通道狀態。如果通道已停止,則必須啟動。問題解決後,系統就會自動繼續串流。
Datastream 無法透過轉送 SSH 通道連線至防禦主機。 請確認已在來源連線設定檔中正確設定轉送 SSH 通道,而且 SSH 通道伺服器的埠已開啟。
憑證有誤,因此無法連線至來源資料庫。 如果定義來源連線設定檔時提供的憑證有問題,就可能會發生這種情況。前往「連線設定檔」頁面,然後選取指定的連線設定檔。確認憑證設定正確無誤。完成變更後,請儲存連線設定檔,串流就會自動繼續。
無法使用私人連線連線至來源資料庫。 這個錯誤與虛擬私有雲對等互連私人連線方法有關。
  1. 請確認已完成所有必要條件 VPC 對等互連必要條件
  2. 建立私人連線設定後,請確認包含資料庫內部 IP 位址的路徑是否顯示在「VPC Network Peering」(虛擬私有雲網路對等互連) 頁面的「Exported routes」(匯出路徑) 分頁中。

    如要這麼做,請前往「虛擬私有雲網路對等互連」頁面,然後搜尋已新增的對等互連 (名稱為 peering-[UUID])。您可以在「匯出的路徑」分頁中找到路徑。如果沒有這個路徑,請手動新增。

  3. Datastream 不會檢查是否與動態對等互連路徑重疊。如果提供的子網路與動態路徑重疊,可能會導致連線問題。因此,我們不建議使用屬於動態路徑的子網路。
  4. 請確認 Datastream IP 位址範圍的自訂路徑已正確通告。如果缺少自訂路徑,請參閱「自訂通告路徑」。
  5. 如果仍無法連線至來源資料庫,請參閱「設定反向 Proxy」。
使用 Private Service Connect 介面連線至來源資料庫時發生錯誤。
  1. 請確認已完成所有必要條件
  2. 確認防火牆規則允許所提供網路連結的子網路連線至來源資料庫。
  3. 請確認 Datastream IP 位址範圍的自訂路徑已正確通告。如果缺少自訂路徑,請參閱「自訂通告路徑」。
如果已啟用機構政策限制/datastream.disablePublicConnectivity,則不允許使用 STATIC_SERVICE_IP_CONNECTIVITY 連線類型。

您為要建立的連線設定檔選擇了公開 IP 許可清單或轉送安全殼層通道網路連線方法。不過,系統已啟用 Datastream 的「封鎖公開連線方法」機構政策。因此,您無法為連線設定檔選取公開連線方法。

如要解決這個問題,請選取私人 VPC 對等互連Private Service Connect 介面網路連線方法,或是停用機構政策。

如要停用機構政策,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Organization policies」(機構政策) 頁面。
  2. 選取「Datastream - Block Public Connectivity Methods」(Datastream - 封鎖公開連線方法) 機構政策。
  3. 點選「編輯」

  4. 在頁面的「套用對象」部分選取「自訂」
  5. 在「強制執行」部分,選取「關閉」

  6. 按一下 [儲存]
  7. 返回您要建立的 Oracle 連線設定檔,然後按一下「建立」
設定串流的來源資料庫時,我找不到要移轉的資料表和結構定義。

如果資料庫有數千個資料表和結構定義,就可能發生這種情況。在 Google Cloud 控制台中設定串流的來源時,部分物件可能不會納入要提取的物件清單。在「選取要納入的物件」部分中,選取「自訂」,而非「特定結構定義和資料表」。在「物件比對條件」欄位中,輸入要讓 Datastream 擷取的結構定義和資料表。

我已使用「要納入的物件」選單,將多個資料表新增至串流。不過,查看「串流詳細資料」中的「物件」分頁時,我發現缺少部分表格。 請確保每個資料表至少有一項 CDC 更新,Datastream 才能辨識變更,並自動將資料表納入串流。
在 Google Cloud 控制台使用「要納入的物件」選單時,無法載入物件清單。 如果資料庫的結構定義和資料表超過 5,000 個,就可能發生這種情況。請使用其他方法指定要納入的物件,或使用 Datastream API。詳情請參閱「設定來源資料庫」。
串流期間捨棄的事件,不會複製到目的地。

串流期間,Datastream 可能會捨棄不支援的事件。如要解決這個問題,請採取下列行動:

  • 手動觸發整張資料表的補充作業。如果捨棄的事件僅為 UPSERT 事件,則可使用這項功能。如果捨棄的事件包含 DELETE 事件,您必須先截斷 BigQuery 中的資料表,再執行回填作業。

    如要瞭解如何執行補充作業,請參閱「啟動補充作業」。

  • 請與 Google 支援團隊聯絡,要求對方執行部分回填。只有在您能使用 SQL WHERE 子句識別捨棄的事件,且沒有任何事件是 DELETE 事件時,才能執行這項操作。
  • 如果捨棄的事件數量不多,或捨棄的事件不重要,請忽略這個問題。
嘗試連線至資料來源時逾時。請確認主機名稱和通訊埠設定正確無誤,且資料來源可存取。 使用虛擬私有雲對等互連時,Datastream 網路無法直接與私人服務網路 (例如 Cloud SQL 執行個體) 對等互連,因此您需要使用網路位址轉譯 (NAT) VM,在 Datastream 與資源之間建立連線。如要進一步瞭解如何設定 NAT VM,請參閱「設定 VPC 對等互連」。
物件 OBJECT_NAME 的結構定義過大,Datastream 無法處理。 Datastream 不支援複製相應來源結構定義大於 2,621,440 個 Unicode 字元的事件。這些事件會因下列原因代碼而遭到捨棄:UNSUPPORTED_LARGE_SCHEMA。您可能需要排除或重新命名部分資料欄。或者,您也可以排除具有大型結構定義的物件。
串流狀態已變更。 造成這項錯誤的原因可能不只一個,但常見的根本問題是來源設定無效。如果串流無法啟動並顯示這則錯誤訊息,請檢查來源設定是否有重複的鍵或表格名稱、資料不一致或結構定義衝突。如要解決許多問題,可以直接在 Google Cloud 控制台中編輯失敗的串流設定,並調整納入和排除的物件項目。詳情請參閱「修改來源資料庫的設定資訊」。

Oracle 錯誤

錯誤 疑難排解步驟
來源資料庫的增補記錄設定有誤。

如果來源資料庫的增補記錄設定不正確,就可能發生擷取進行中變更資料擷取 (CDC) 資料時發生錯誤。確認補充記錄設定正確無誤。具體來說,請確認從來源串流至目的地的資料庫資料表已開啟補充記錄。系統會自動繼續播放。

記錄檔位置遺失,因此無法繼續複製。 如果複製程序暫停時間過長,導致記錄位置遺失,就可能發生這項錯誤。請勿將串流暫停的時間長度接近記錄保留期限。重新建立串流。
記錄檔遺失 (部分或全部)。

記錄檔可能已遭刪除。除非您指定最短輪替週期來保留記錄檔,否則 Oracle 會在記錄檔可刪除時立即清除。在 Oracle 伺服器中,設定記錄檔的保留時間。舉例來說,使用 CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 4 DAYS; 可將記錄檔保留至少 4 天。

如為 RDS 部署項目,請使用 exec rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours',96);

排除清單包含納入清單。 納入清單的內容全都在排除清單中,因此 Datastream 從來源提取的物件清單空白。請修改物件選項,然後再試一次。
Oracle 資料庫的記錄模式未設為 ARCHIVELOG 請變更記錄模式,然後再試一次。
資料串傳回 ORA-00942: table or view does not exist 錯誤訊息,但所有設定都正確無誤。 這可能是 Oracle 伺服器快取所致。重新建立資料庫使用者應可修正快取問題。
如果串流已在執行中,對 Oracle 來源所做的變更不會反映在目的地中。 如果您使用 LogMiner 做為 CDC 方法,Datastream 會從封存的重做記錄檔讀取資料。在這種情況下,您對來源所做的變更不會反映在目的地,直到記錄封存為止。如要查看目的地中的變更,請將 CDC 方法變更為二進位記錄讀取器、變更記錄歸檔政策,或手動強制切換記錄。詳情請參閱「使用 Oracle 資料庫的重做記錄檔」。
Oracle CDC 設定驗證失敗。 您選取的 CDC 方法與來源資料庫設定不符。選取其他方法,或完成 CDC 方法的設定。詳情請參閱「設定 Oracle 來源資料庫」。
發生未預期的內部錯誤。 詳情請洽詢 Google 支援團隊。

MySQL 錯誤

錯誤 疑難排解步驟
來源資料庫的二進位記錄檔設定有誤。

如果來源資料庫的二進位記錄檔設定有誤,持續性 MySQL 資料串流就可能發生這種情況。如要排解這項錯誤,請執行下列操作:

  1. 確認 binlog 設定正確無誤。
  2. 確認 MySQL 資料庫的二進位記錄檔格式已設為 ROW
  3. 重新啟動串流。
由於 binlog 位置遺失,因此無法繼續複製作業。 如果複製程序暫停時間過長,導致二進位記錄檔位置遺失,就可能發生這項錯誤。串流不應暫停一段時間,以免接近 binlog 保留期限。重新建立串流。
來源資料庫和目的地版本不相容,因此無法執行串流。

如果來源資料庫不符合版本支援矩陣,就可能發生這種情況。如要排解這項錯誤,請執行下列操作:

  1. 請確認來源資料庫符合矩陣規定。
  2. 使用更新後的來源資料庫重新建立串流。
AWS RDS MySQL 來源二進位記錄檔部分或全部遺失。 二進位記錄檔可能已遭刪除。除非您指定最短輪替週期來保留 binlog,否則 AWS RDS 會在 binlog 可刪除時立即清除。在來源 AWS RDS MySQL 執行個體中,以小時為單位設定二進位記錄的保留時間。舉例來說,使用 mysql.rds_set_configuration('binlog retention hours', 168); 可將二進位記錄保留至少 7 天。
排除清單包含納入清單。 納入清單的內容全都在排除清單中,因此 Datastream 從來源提取的物件清單空白。請修改物件選項,然後再試一次。
Datastream 無法複製 MySQL 資料庫。 請確認 Datastream 具備資料庫的複製權限。
為 MySQL 來源建立連線設定檔時,「加密類型」選單不接受多個 PEM 編碼的 SSL 憑證。 Datastream 不支援 MySQL 連線設定檔中的 SSL 憑證鏈。系統僅支援單一的 x509 PEM 編碼憑證。
從 MySQL 來源串流資料時延遲時間較長。

提高 Datastream 從來源資料庫讀取資料的能力:

MySQL 變更資料擷取設定驗證失敗。 來源資料庫未針對所選的 CDC 方法進行設定。選取其他方法,或完成 CDC 方法的設定。詳情請參閱「設定來源 MySQL 資料庫」。
發生未預期的內部錯誤。 詳情請洽詢 Google 支援團隊。

PostgreSQL 錯誤

錯誤 疑難排解步驟
來源資料庫的邏輯解碼設定有誤。

確認邏輯解碼設定正確無誤。請參閱「設定來源 PostgreSQL 資料庫」。

複製時段不存在。 如果資料庫中沒有複製運算單元,擷取進行中的變更資料擷取 (CDC) 資料時可能會發生錯誤。確認複製時段設定正確無誤。請參閱「設定來源 PostgreSQL 資料庫」。
複製運算單元設有錯誤的外掛程式。 如果複製運算單元設定的外掛程式與 pgoutput 不同,就可能發生這項錯誤。確認複製時段設定正確無誤。詳情請參閱「來源 PostgreSQL 資料庫」。
複製時段在其他程序中處於啟用狀態。 如果複製運算單元正由其他程序使用,就可能會發生這項錯誤。複製時段一次只能由單一程序使用。請確認除了 Datastream 以外,沒有其他程序使用相同的複製運算單元。
發布設定有誤。 如果發布項目未設定為公開串流設定中包含的資料表,就可能發生這個錯誤。確認出版品設定正確無誤。請參閱「設定串流的來源資料庫相關資訊」。
發布內容不存在。 如果資料庫中沒有該出版品,就可能發生這個錯誤。確認出版品設定正確無誤。請參閱「設定來源 PostgreSQL 資料庫」。
由於 WAL 檔案遺失,無法繼續複製作業。 如果複製程序暫停時間過長,導致 WAL 檔案遺失,就可能發生這項錯誤。串流暫停時間不應接近 WAL 檔案保留期限。重新建立串流。
排除清單包含納入清單。 納入清單的內容全都在排除清單中,因此 Datastream 從來源提取的物件清單空白。請修改物件選項,然後再試一次。
Datastream 無法複製 PostgreSQL 結構定義。 請確認 Datastream 具備複製結構定義的權限。
來源資料庫中的大型交易會導致資料複製和同步處理發生問題。 如果您在來源資料庫中插入、更新或刪除大量記錄,對應的事件可能會導致複寫時段過載。Datastream 需要時間讀取及處理這些事件。由於 PostgreSQL 複製運算單元是單一執行緒,因此在 Datastream 趕上複製運算單元中的所有變更之前,系統會延遲處理複製運算單元中的其他變更,包括其他資料表中的資料變更。
來源資料庫上的大型交易會導致 CDC 總處理量偏低。 Datastream 不支援 PostgreSQL 中的多執行緒 CDC。如要克服這項限制並提高 CDC 輸送量,您可以將來源分成多個資料串流,每個資料串流都有自己的發布和複製時段。舉例來說,您可能會想為資料庫中最大的資料表建立一個串流,為所有其他資料表建立另一個串流;或是為優先順序最高的資料表建立一個串流,為其餘資料表建立另一個串流。應用情境可能有所不同,因此您需要考量在特定 CDC 情境中,哪種做法最合理。如要瞭解如何建立發布作業,請參閱「設定來源 PostgreSQL 資料庫」。
不支援的事件已捨棄,原因代碼為:BIGQUERY_TOO_MANY_PRIMARY_KEYS 如果資料表的 PostgreSQL 副本身分設為 FULL,Datastream 會將該資料表中的所有資料欄視為主鍵。如果資料表中的資料欄超過 16 個,就會違反 BigQuery CDC 限制,導致發生錯誤。如要解決這個問題,請完成下列步驟:
  1. 將副本身分變更為 DEFAULT
    ALTER TABLE TABLE_NAME REPLICA IDENTITY DEFAULT
    TABLE_NAME 替換為要變更副本身分的資料表名稱。
  2. 從串流的納入物件清單中移除資料表。詳情請參閱「修改來源資料庫的設定資訊」。
  3. 從 BigQuery 刪除資料表。詳情請參閱「刪除資料表」。
  4. 在 Datastream 中,編輯來源設定,再次將資料表新增至串流。
發生未預期的內部錯誤。 詳情請洽詢 Google 支援團隊。

SQL Server 錯誤

錯誤 疑難排解步驟
資料庫「DATABASE_NAME」已停用 CDC。

資料庫必須啟用變更資料擷取 (CDC)。Datastream 需要直接讀取交易記錄,才能複製來源資料庫的即時變更,並取得完整的記錄資訊。請為資料庫啟用 CDC,然後再試一次。

如要瞭解如何為資料庫啟用 CDC,請參閱「設定來源 SQL Server 資料庫」。

已停用 CDC 的資料表。

串流中包含的所有資料表都必須啟用變更資料擷取 (CDC)。Datastream 需要直接讀取交易記錄,才能將來源資料表的即時變更內容複製到目的地,並取得完整的記錄資訊。為串流中包含的資料表啟用 CDC,然後再試一次。

如要瞭解如何為來源資料表啟用 CDC,請參閱「設定來源 SQL Server 資料庫」。

權限不足。 Datastream 缺少讀取來源的必要權限。請授予適當權限給用來連結您資料庫的使用者帳戶,然後再試一次。
不支援 SQL Server EDITION_NAME 版。 Datastream 不支援這個 SQL Server 版本。如要進一步瞭解支援的 SQL Server 版本,請參閱「SQL Server 做為來源的總覽」。
不支援 SQL Server Standard VERSION_NAME 版。 Datastream 不支援這個版本的 SQL Server Standard 版。如要進一步瞭解支援的 SQL Server 版本,請參閱「SQL Server 做為來源的總覽」。
交易記錄檔的內容似乎遭到截斷,因此串流無法讀取 LSN「YOUR_LSN」中的事件。

如果來源資料庫中不再有交易記錄,就可能發生這個問題。使用交易記錄 CDC 方法從 SQL Server 來源複製資料時,記錄可能會在 Datastream 讀取前遭到截斷。發生這種情況時,Datastream 無法穩定地將來源資料庫複製到目的地。

如要解決這個問題,請復原資料串流,或考慮改用變更資料擷取 (CDC) 方法。 如要進一步瞭解這兩種方法的差異,請參閱「SQL Server 做為來源的總覽」。

SQL Server 變更資料擷取設定:失敗。 您選取的 CDC 方法不符合資料庫設定。請變更 CDC 方法,然後再試一次。

Salesforce 錯誤

錯誤 疑難排解步驟
您的權限不足。

您設定用來驗證 Salesforce 組織與 Datastream 之間連線的連結應用程式或外部用戶端應用程式使用者,沒有足夠的權限來存取要複製的資料。請確認您已正確設定 Salesforce 來源。詳情請參閱「設定 Salesforce 來源」。

Bulk API 2.0 已停用。

PerformanceUnlimitedEnterpriseDeveloper 版本預設會啟用 Bulk API 2.0。這則錯誤訊息表示您使用的版本已停用 API,或是您使用的憑證沒有足夠的權限。確認您使用的使用者設定檔已獲授 API Enabled 權限。

超出上限。

您已超過 Salesforce API 查詢上限。當您達到 API 配額上限的 90% 時,就會看到這則訊息。在這種情況下,Datastream 稍後會重試這項作業。建議您考慮提高 Salesforce API 配額。

已超過刪除上限。

查詢已刪除的記錄時,Salesforce 會將回應限制為 600,000 個記錄 ID。Salesforce 的最低查詢精細度為一分鐘,如果在一分鐘內刪除超過 600,000 筆記錄,Salesforce 會傳回這項錯誤。

驗證錯誤。

Datastream 無法透過 Salesforce 驗證。您可能使用了錯誤的憑證或網域名稱。

MongoDB 錯誤

錯誤 疑難排解步驟
驗證失敗。 請檢查 Datastream 使用者是否具備 authSourceadmin。Datastream 使用者必須在 admin 資料庫中建立。這個資料庫是具有特殊權限的資料庫,可讓使用者執行特定管理指令
無法登入資料庫。 請檢查使用者名稱和密碼,然後再試一次。另外,請確認使用者帳戶已在 admin 資料庫建立。如果問題持續發生,可能是使用者帳戶已遭刪除或建立錯誤。
排除物件清單無效:{exclude_list} 請按照「DATABASE_NAME.COLLECTION_NAME.FIELD_NAME.NESTED_FIELD_NAME」的格式指定要排除的物件,可以視情況使用萬用字元。有效示例:db.*database.collection.*database.*.field.*
缺少讀取來源內容的必要權限。 readAnyDatabase 角色指派給使用者,然後再試一次。
不支援 MongoDB VERSION_NAME 版。 請使用 5.0 以上版本。
Datastream 無法執行 buildinfo 指令來判斷 MongoDB 版本。 請確認使用者具備執行 buildinfo 指令的必要權限,然後再試一次。如要進一步瞭解必要權限,請參閱「設定 MongoDB 資料庫」。
與 MongoDB 叢集的連線逾時。 請確認您提供的主機名稱和憑證正確無誤,然後再試一次。
權限不足,因此無法讀取必要資料。 請將 readAnyDatabase 角色指派給用來連線至 MongoDB 叢集的帳戶,然後再試一次。
用來連線至 MongoDB 叢集的使用者帳戶不存在。 請建立使用者帳戶,然後再試一次。
無法使用所提供的資訊連線。 請確認所用連線格式正確無誤 (SRV 或標準),並含有所有必要資訊,例如副本集連線字串的副本集名稱。詳情請參閱「為 MongoDB 資料庫建立連線設定檔」。
發生 MongoDB 例外狀況,來源錯誤訊息:{source_error} 如果來源錯誤訊息不清楚,請與 Google 支援團隊聯絡。

BigQuery 錯誤

錯誤 疑難排解步驟
BIGQUERY_UNSUPPORTED_PRIMARY_KEY_CHANGE, details: Failed to write to BigQuery due to an unsupported primary key change: adding primary keys to existing tables is not supported. 如果來源中的主鍵有所變更,您必須捨棄 BigQuery 中的資料表,然後再次啟動回填。這是 BigQuery 的限制,因為如果主鍵不同,就無法確保新事件與現有資料列正確合併。詳情請參閱「設定 BigQuery 目的地」。
目的地 BigQuery 資料表的記錄數遠多於來源資料表。 如果來源資料表沒有主鍵,就可能會發生這種情況。在這種情況下,Datastream 會以僅供附加的寫入模式處理資料表,且特定資料列的每個事件都會以個別資料列的形式顯示在 BigQuery 中。
在「僅限附加」寫入模式中執行回填時,資料會重複。

為資料串流選取「僅附加」寫入模式時,資料會以 INSERTUPDATE-INSERTUPDATE-DELETEDELETE 事件串流的形式附加至 BigQuery,不會經過任何整併。當您執行回填作業,或發生問題導致 BigQuery 寫入器重試寫入作業時,可能會導致重複的資料列寫入 BigQuery。為解決這個問題,建議您定期執行類似下列的重複資料刪除查詢:

SELECT * FROM (SELECT *, row_number() OVER (PARTITION BY datastream_metadata.uuid) AS num FROM TABLE_NAME) WHERE num=1
Datastream 已設為合併寫入模式,但變更未合併至 BigQuery。

確認來源資料表中有主鍵。BigQuery 需要這項資訊,才能將變更合併至目的地資料表。

如果沒有主鍵,請考慮在來源或目的地資料表中新增主鍵。如要在目的地 BigQuery 資料表中新增主鍵,請按照下列步驟操作:

  1. 暫停串流。
  2. 在 BigQuery 中截斷資料表。
  3. 在資料表定義中新增主鍵
  4. 繼續串流。
  5. 觸發資料表的補充作業。
如果資料表已複製到 BigQuery,就無法新增、移除或變更主鍵定義。

根據預設,Datastream 不支援將主鍵新增至已複製到 BigQuery 的資料表 (沒有主鍵),也不支援從已複製到 BigQuery 的資料表 (有主鍵) 移除主鍵。不過,您可以變更已複製到 BigQuery 的來源資料表主鍵定義:

  1. 檢查串流的總延遲時間指標,並等待至少與目前延遲時間一樣長的時間,確保所有傳輸中的事件都已寫入目的地。這樣一來,所有具有原始主鍵的事件都能順利串流。
  2. 暫停串流
  3. 複製 BigQuery 中資料表的 CREATE TABLE 資料定義語言 (DDL) 指令:
        SELECT ddl FROM PROJECT_ID.DATASET.INFORMATION_SCHEMA.TABLES
          WHERE table_name='TABLE_NAME';

    更改下列內容:

    • PROJECT_ID: Google Cloud 專案的 ID。
    • DATASET_ID:BigQuery 中資料集的 ID。
    • TABLE_NAME:要複製 DDL 指令的表格名稱。
  4. 在 BigQuery 中捨棄資料表。
  5. 使用新的主鍵調整 CREATE TABLE DDL 指令。包含分區和叢集鍵,以及 max_staleness OPTION
        CREATE TABLE `[PROJECT_ID].[DATASET_ID].[TABLE_NAME]`
        (
          product_id INT64 NOT NULL,
          product_name STRING,
          datastream_metadata STRUCT,
          PRIMARY KEY (product_id) NOT ENFORCED
        )
        CLUSTER BY dept_no
        OPTIONS(
          max_staleness=INTERVAL '0-0 0 0:MINS:0' YEAR TO SECOND
        );
        ;
        

    更改下列內容:

    • PROJECT_ID: Google Cloud 專案的 ID。
    • DATASET_ID:BigQuery 中資料集的 ID。
    • TABLE_NAME:您複製 DDL 指令的資料表名稱。
    • MINS:要為 max_staleness 選項設定的分鐘數,例如 15
  6. 執行調整後的查詢,在 BigQuery 中重新建立資料表。
  7. 繼續串流
  8. 啟動表格的補充作業

後續步驟

  • 如要瞭解如何找出串流的潛在問題,請參閱「排解串流問題」。
  • 如要瞭解如何設定來源資料庫,請參閱「來源」。
  • 如要瞭解如何設定 BigQuery 或 Cloud Storage 目的地,請參閱「目的地」一文。