-
Notifications
You must be signed in to change notification settings - Fork 322
Closed
Labels
api: bigqueryIssues related to the googleapis/python-bigquery API.Issues related to the googleapis/python-bigquery API.type: feature request‘Nice-to-have’ improvement, new feature or different behavior or design.‘Nice-to-have’ improvement, new feature or different behavior or design.
Description
This issue tracks the "fast query path" changes for the Python client(s):
- perf: use
jobs.getQueryResultsto download result sets #363 -- UpdateQueryJobto usegetQueryResultsinRowIterator. Project down to avoid fetching schema and other unnecessary job stats inRowIterator. - perf: cache first page of
jobs.getQueryResultsrows #374 -- UpdateQueryJobandRowIteratorto cache the first page of results, which we fetch as part of the logic to wait for the job to finish. Discard the cache ifmaxResultsorstartIndexare set. - perf: use
getQueryResultsfrom DB-API #375 -- Update DB-API to avoid direct call to list_rows() - perf: avoid extra API calls from
to_dataframeif all rows are cached #384 -- Updateto_dataframeand related methods in RowIterator to not call BQ Storage API if cached results are the only page. - Update DB-API to not call BQ Storage API if cached results are the only page.
- Update Client.query to call jobs.query backend API method for acceptable
job_configs. - (optional?) Avoid call to jobs.get in certain cases, such as
QueryJob.to_dataframeandQueryJob.to_arrow- Add "reload" argument to QueryJob.result() -- default to True.
- Update RowIterator to call get_job to fetch the destination table ID before attempting use of BQ Storage API (if destination table ID isn't available).
max-sixty
Metadata
Metadata
Assignees
Labels
api: bigqueryIssues related to the googleapis/python-bigquery API.Issues related to the googleapis/python-bigquery API.type: feature request‘Nice-to-have’ improvement, new feature or different behavior or design.‘Nice-to-have’ improvement, new feature or different behavior or design.