2017-04-11 1 views
1

Google 클라우드에서 API를 실행하여 큰 쿼리를 호출합니다.BigQuery allow_large_results가 예상대로 작동하지 않습니다.

내 프로그램이 같다 :

bigquery_client bigquery.Client =();

DEF BQ (Q)

query_results = bigquery_client.run_sync_query(query); 
query_results.use_legacy_sql = True; 
query_results.allow_large_results = True; 
query_results.destinationTable = {"projectId": my id,"tableId": my table, "datasetId": my dataset}; 
query_results.run(); 

return query_results 

I 얻는 결과가 여전히 10 개 M 데이터로 제한 전체 결과의 일부이다. 이 제한을 어떻게 피할 수 있습니까?

답변

0

allowLargeResults (true로 설정하면) 쿼리가 성능상 약간의 비용으로 임의의 큰 결과 테이블을 생성 할 수 있습니다. destinationTable을 설정해야합니다.
결과를 클라이언트로 가져 오는 데 여전히 제한이 있으므로 결과를 통해 페이지가 필요합니다.

예상 결과가 128MB보다 작 으면 테이블에 저장/저장할 필요없이 결과를 페이징 할 수 있습니다 - pageToken

+0

미하일 고맙습니다! 10M 이상의 결과를 가져 와서 테이블로 저장하는 대신 서버에 저장하는 방법이 있습니까? – Stephen

+0

@Stephen - 업데이트 된 답변보기 –

관련 문제