java时间戳动态,是否可以根据窗口元素的时间戳动态生成BigQuery表名?
例如,如果我有一個(gè)5分鐘窗口的數(shù)據(jù)流流媒體作業(yè)從PubSub讀取,我理解如果我將一個(gè)超過(guò)兩天的時(shí)間戳分配給一個(gè)元素,將會(huì)有一個(gè)帶有此元素的窗口,如果我使用的示例將每日表輸出到BigQueryIO.java中描述的BigQuery,該作業(yè)將使用實(shí)際日期在BigQuery表中寫入過(guò)去兩天的元素 .
我想將過(guò)去的元素寫入BigQuery表中,并使用窗口元素的時(shí)間戳而不是當(dāng)前窗口的時(shí)間,是否可能?
現(xiàn)在我按照DataflowJavaSDK / sdk / src / main / java / com / google / cloud / dataflow / sdk / io / BigQueryIO.java中描述的示例:
PCollection quotes = ...
quotes.apply(Window.info(CalendarWindows.days(1)))
.apply(BigQueryIO.Write
.named("Write")
.withSchema(schema)
.to(new SerializableFunction() {
public String apply(BoundedWindow window) {
String dayString = DateTimeFormat.forPattern("yyyy_MM_dd").parseDateTime(
((DaysWindow) window).getStartDate());
return "my-project:output.output_table_" + dayString;
}
}));
總結(jié)
以上是生活随笔為你收集整理的java时间戳动态,是否可以根据窗口元素的时间戳动态生成BigQuery表名?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: php 替换某一行,PHP中如何替换换行
- 下一篇: java access ole word