-
Notifications
You must be signed in to change notification settings - Fork 323
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.getQueryResults
to download result sets #363 -- UpdateQueryJob
to usegetQueryResults
inRowIterator
. Project down to avoid fetching schema and other unnecessary job stats inRowIterator
. - perf: cache first page of
jobs.getQueryResults
rows #374 -- UpdateQueryJob
andRowIterator
to cache the first page of results, which we fetch as part of the logic to wait for the job to finish. Discard the cache ifmaxResults
orstartIndex
are set. - perf: use
getQueryResults
from DB-API #375 -- Update DB-API to avoid direct call to list_rows() - perf: avoid extra API calls from
to_dataframe
if all rows are cached #384 -- Updateto_dataframe
and 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_config
s. - (optional?) Avoid call to jobs.get in certain cases, such as
QueryJob.to_dataframe
andQueryJob.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.