You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
BigQuery: preview / list_rows command for %%bigquery Jupyter magic #9105
Is your feature request related to a problem? Please describe.
When you want to get all rows in a table (or just a preview), it's more expensive to run a SELECT * query than the alternatives.
Describe the solution you'd like
If there is no whitespace in the query text, assume it's a table ID. Call list_rows (possibly with the BigQuery Storage API option, if that's set).
To allow for a preview, add a --max_results option to the %%bigquery magic. If not set, get all rows. If set, download at most max_results rows.
Describe alternatives you've considered
Add a special %%bigquery preview command. I prefer looking to see if the query text is just a table name, as that will be more consistent with pandas-gbq. Also, we'd prefer to limit the %%bigquery magic to just "queries". I think entering just a table ID as query text is clear that it's different from SELECT * (anti-pattern) but also the intention is clear.
Client-side query processing to automatically detect SELECT * [LIMIT N] queries client-side. I think it could make sense to parse queries client-side in just the %%bigquery magic (or opt-in via QueryJobConfig option), but this is much more complex than checking if there is any whitespace in query text.
Activity
tswast commentedon Aug 26, 2019
CC @shubha-rajan
If you're interested, I think this could be a natural next task to get more familiar with the BigQuery API(s) and the Jupyter features.
shubha-rajan commentedon Aug 27, 2019
@tswast sure, I'll take this one!
plamut commentedon Sep 25, 2019
With #9170 now merged, this issue can be closed.