java - BigQuery Pagination through large result set with cloud library -
i working on accessing data google bigquery, data 500mb need transform part of requirement. setting allow large results, setting destination table etc.
i have written java job in google's new cloud library since recommended - com.google.cloud:google-cloud-bigquery:0.21.1-beta (i have tried 0.20 beta without fruitful results)
i having problem pagination of data, library inconsistent in fetching results page wise. here code snippet,
code snippet
system.out.println("accessing handle of response"); queryresponse response = bigquery.getqueryresults(jobid, queryresultsoption.pagesize(10000)); system.out.println("got handle of response"); system.out.println("accessing results"); queryresult result = response.getresult(); system.out.println("got handle of result. total rows: "+result.gettotalrows()); system.out.println("reading results"); int pageindex = 0; int rowid = 0; while (result != null) { system.out.println("reading page: "+ pageindex); if(result.hasnextpage()) { system.out.println("there next page"); } else { system.out.println("no next page"); } (list<fieldvalue> row : result.iterateall()) { system.out.println("row: " + rowid); rowid++; } system.out.println("getting next page: "); pageindex++; result = result.getnextpage(); } output print statements
accessing handle of response got handle of response accessing results got handle of result. total rows: 9617008 reading results reading page: 0 there next page row: 0 row: 1 row: 2 row: 3 : : row: 9999 row: 10000 row: 10001 : : row: 19999 : : please note never hits/prints - "getting next page: ".
my expectation data in chunks of 10000 rows @ time. please note if run same code on query returns 10-15k rows , set pagesize 100 records, "getting next page:" after every 100 rows. known issue beta library?
Comments
Post a Comment