-
Notifications
You must be signed in to change notification settings - Fork 4.5k
[BEAM-6457] Refactoring of a few BigQuery classes. #7542
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Run Portable_Python PreCommit |
|
Run Python PostCommit |
|
r: @chamikaramj |
|
oops fixing the few issues |
|
Run Python PreCommit |
1 similar comment
|
Run Python PreCommit |
|
streaming wordcount is having trouble. I don't know why that is. Would you mind reviewing the code while I fix that test? |
|
Run Python PreCommit |
1 similar comment
|
Run Python PreCommit |
| "Object of type '%s' is not JSON serializable" % type(obj).__name__) | ||
|
|
||
|
|
||
| class RowAsDictJsonCoder(coders.Coder): |
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.
Unfortunately I think this (and some of the other changes below) are backwards incompatible changes to the public API. Can we leave stubs to those methods with deprecation warnings so that we don't break backwards compatibility ?
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.
I made sure to avoid moving any methods defined in __all__. Isn't __all__ a reasonable implicit include/exclude of backward compatibility guarantees?
The
bigquery.pyfile has become very large. Furthermore, many of its internal classes should not be exposed to users, and will soon be used by other modules (I'm working on a BQ sink that performs file loads).This is a refactor of a few classes ahead of the new features.