-
Notifications
You must be signed in to change notification settings - Fork 45
feat: read_session optional to ReadRowsStream.rows()
#228
Conversation
The schema from the first `ReadRowsResponse` message can be used to decode messages, instead. Note: `to_arrow()` and `to_dataframe()` do not work on an empty stream unless a `read_session` has been passed in, as the schema is not available. This should not affect `google-cloud-bigquery` and `pandas-gbq`, as those packages use the lower-level message->dataframe/arrow methods.
Co-authored-by: Tres Seaver <[email protected]>
|
We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for all the commit author(s) or Co-authors. If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google. ℹ️ Googlers: Go here for more info. |
|
@googlebot I consent. |
|
We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for all the commit author(s) or Co-authors. If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google. ℹ️ Googlers: Go here for more info. |
|
@googlebot I fixed it. |
|
We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for all the commit author(s) or Co-authors. If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google. ℹ️ Googlers: Go here for more info. |
|
@tswast I give up on the CLA bit. |
… be used interchangeably
|
We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for all the commit author(s) or Co-authors. If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google. ℹ️ Googlers: Go here for more info. |
No worries. I'll manually override the bot. |
|
We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for all the commit author(s) or Co-authors. If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google. ℹ️ Googlers: Go here for more info. |
| avro_blocks = _bq_to_avro_blocks([], avro_schema) | ||
| reader = class_under_test(avro_blocks, mock_gapic_client, "", 0, {}) | ||
|
|
||
| # Read session is needed to get a schema for empty streams. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we think this is enough of a nuisance to request that empty streams always have at least one first response where the row data is null or empty?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe? I'm not sure how often it'll come up now that they don't do automatic rebalancing.
I'm actually considering deprecating this method altogether, as it didn't turn out to be all that necessary. https://github.com/googleapis/python-bigquery-storage/issues/230
🤖 I have created a release \*beep\* \*boop\* --- ## [2.6.0](https://www.github.com/googleapis/python-bigquery-storage/compare/v2.5.0...v2.6.0) (2021-07-09) ### Features * `read_session` optional to `ReadRowsStream.rows()` ([#228](https://www.github.com/googleapis/python-bigquery-storage/issues/228)) ([4f56029](https://www.github.com/googleapis/python-bigquery-storage/commit/4f5602950a0c1959e332aa2964245b9caf4828c8)) * add always_use_jwt_access ([#223](https://www.github.com/googleapis/python-bigquery-storage/issues/223)) ([fd82417](https://www.github.com/googleapis/python-bigquery-storage/commit/fd824174fb044fbacc83c647f619fda556333e26)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
The schema from the first
ReadRowsResponsemessage can be used to decodemessages, instead.
Note:
to_arrow()andto_dataframe()do not work on an empty stream unless aread_sessionhas been passed in, as the schema is not available. This shouldnot affect
google-cloud-bigqueryandpandas-gbq, as those packages use thelower-level message->dataframe/arrow methods.
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
Fixes #168 🦕