0

我試圖用數據流來查詢我的各種數據存儲中,並寫入到BigQuery中的日期分段分區。閱讀部分很容易與DatastoreIO.read()並給了我一個PCollection<Entity>PCollection <Entity>到PCollection <TableRows>

BigQuery預期的一個PCollection<TableRow>,我可以隱式地從一個到另一個轉換?我的數據涉及一些不可預知的領域(例如嵌入式屬性中的行李數據),所以我無法明確地轉換所有字段。

而且,如果是相關的事情,我想用一個SerializableFunction動態設置爲每個數據存儲實體的目標表(這將是YYYYMMDD_kind)

回答

2

你將不得不轉換PCollection<Entity>PCollection<TableRow>你自己。 BigQueryIO.write()的API需要TableRow。爲了改變他們,你就需要在PCollection<Entity>頂部應用ParDo

作爲一個側面說明,你也可以載入數據存儲備份,直接匯入BigQuery,而無需使用數據流。請參閱here

+0

的帕爾多汽車可檢測列類型? –

+0

你是什麼意思?你需要分別指定'I'(輸入)和'O'(輸出)的類型 - 分別在'Entity'和'TableRow'的情況下。 –

+0

我的意思是我必須手動分配每個屬性嗎?例如row.id = entity.id –

相關問題