給定流式傳輸中的窗口化PCollection,我想根據窗口寫入BQ表中的特定分區。是否可以將窗口化的無界PCollection寫入特定的BQ分區?
當指定tableSpecFunction
爲BigQueryIO.Write.Bound.to(SerializableFunction<BoundedWindow,String> tableSpecFunction)
(docs)看來我只能夠爲表引用字符串指定一個字母數字名稱。
沒有指定表裝飾器,似乎數據被寫入分區ID __UNPARTITIONED__
。 AFAICT這最終將解析爲today's partition。
對於我的用例,我希望數據能夠在正確的分區中立即訪問。此外,能夠考慮後期數據並將其寫入正確的分區也很好。
所以重申我的問題:
是否可以寫一個窗口無界PCollection到一個特定的BQ分區?
哎呦。 我被拋出,因爲在我的測試運行,我看到了這個在日誌中的一個:「表ID必須是字母或數字(加下劃線),並且必須在最長1024個字符此外,表裝飾不能使用」 但是,我似乎沒有正確地清除我的測試數據集,所以我一直試圖在非分區表中嘗試尋址分區。 我只是嘗試了一個乾淨的數據集,它的工作。 PEBKAC – Thang