0
我正在使用以下代碼從FILENAME插入日誌。日誌文件包含1000行。隨着新的線路增加了幾秒鐘。但是,當我運行此代碼時,生成的表格只有15-20個奇數行。Bigquery InsertAll不按預期工作
Rows dfpadunit = new TableDataInsertAllRequest.Rows();
List<Rows> dfpadunits = new ArrayList<Rows>();
TableDataInsertAllRequest content = new TableDataInsertAllRequest();
content.setIgnoreUnknownValues(true);
content.setSkipInvalidRows(true);
reader = new BufferedReader(new FileReader(FILENAME));
while(running) {
while ((line = reader.readLine()) != null) {
TableRow aRow = new TableRow();
aRow.set("RAW_DATA", line);
String time = BigqueryUtils.getCurrentYYMMDDHHMM();
aRow.set("TIME", time);
dfpadunit.setJson(aRow);
dfpadunit.setInsertId(time);
dfpadunits.add(dfpadunit);
}
if(dfpadunits.size() > 0) {
content.setRows(dfpadunits);
TableDataInsertAllResponse response = BQUtils.run(PRE_STG_DATA_SET_ID, DESTINATION_TABLE, content);
dfpadunits.clear();
if(response != null) {
formatTable();
}
}
System.out.println("About to sleep");
Thread.sleep(1000 * 60);
}
如何在BigQuery中檢查表的大小? –
一個簡單的選擇計數(*)。我也在一天後嘗試了這一點,它仍然是一樣的。 –
插入用作重複數據刪除鍵。您將以分鐘爲單位的當前時間用作插入ID。這意味着在同一分鐘內的所有插入使用相同的重複數據刪除鍵 - 只有最後一個存活。您將希望將插入ID保留爲空或使用隨機生成的ID作爲插入ID –