-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Add support for streaming inserts with resumable upload #534
Conversation
- Add LoadConfiguration class for data needed by load jobs and resumable uploads - Update LoadJobInfo and related classes to use LoadConfiguration instead - Add insertAll(LoadConfiguration, byte[]) method - Add insertAll(LoadConfiguration. SeekableByteChannel) method - Add Table.insert methods that use resumable upload - Add unit and integration tests
c9b6a1c
to
a430e73
Compare
* <p>Example usage of inserting data from a local file: | ||
* <pre> {@code | ||
* LoadConfiguration config = LoadConfiguration.of(TableId.of("my_dataset_id", "my_table_id")); | ||
* try(FileChannel channel = FileChannel.open(Paths.get("/path/to/file"))) { |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
ping - is this PR obsolete? Should it be deleted? Or what? |
This PR became obsolete but contains an implementation of upload that could be useful for both the BigQuery and Storage modules. Due to lack of time and low priority this remained behind. If this bothers you we can close, I will reopen a new one when ready. |
Given the age of this PR, I'm closing it. |
This PR was generated using Autosynth. 🌈 <details><summary>Log from Synthtool</summary> ``` 2021-06-23 19:12:45,875 synthtool [DEBUG] > Executing /root/.cache/synthtool/java-resourcemanager/.github/readme/synth.py. On branch autosynth-readme nothing to commit, working tree clean 2021-06-23 19:12:47,112 synthtool [DEBUG] > Wrote metadata to .github/readme/synth.metadata/synth.metadata. ``` </details> Full log will be available here: https://source.cloud.google.com/results/invocations/4387e8a6-afd3-4521-add8-ebe1c917be38/targets - [ ] To automatically regenerate this PR, check this box. (May take up to 24 hours.)
…-info-reports-plugin to v3.4.0 (#534) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [org.apache.maven.plugins:maven-project-info-reports-plugin](https://maven.apache.org/plugins/) | `3.3.0` -> `3.4.0` | [![age](https://badges.renovateapi.com/packages/maven/org.apache.maven.plugins:maven-project-info-reports-plugin/3.4.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/org.apache.maven.plugins:maven-project-info-reports-plugin/3.4.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/org.apache.maven.plugins:maven-project-info-reports-plugin/3.4.0/compatibility-slim/3.3.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/org.apache.maven.plugins:maven-project-info-reports-plugin/3.4.0/confidence-slim/3.3.0)](https://docs.renovatebot.com/merge-confidence/) | --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/java-securitycenter-settings). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4xMTcuNCIsInVwZGF0ZWRJblZlciI6IjMyLjExNy40In0=-->
🤖 I have created a release *beep* *boop* --- ## [0.14.3](googleapis/java-analytics-data@v0.14.2...v0.14.3) (2022-08-09) ### Dependencies * update dependency com.google.auth:google-auth-library-oauth2-http to v1.8.1 ([#525](googleapis/java-analytics-data#525)) ([44ba0c5](googleapis/java-analytics-data@44ba0c5)) * update dependency com.google.auth:google-auth-library-oauth2-http to v1.9.0 ([#533](googleapis/java-analytics-data#533)) ([0d03506](googleapis/java-analytics-data@0d03506)) * update dependency com.google.cloud:google-cloud-shared-dependencies to v3 ([#530](googleapis/java-analytics-data#530)) ([ed6d446](googleapis/java-analytics-data@ed6d446)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [org.mockito:mockito-core](https://github.com/mockito/mockito) | `4.6.1` -> `4.7.0` | [![age](https://badges.renovateapi.com/packages/maven/org.mockito:mockito-core/4.7.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/org.mockito:mockito-core/4.7.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/org.mockito:mockito-core/4.7.0/compatibility-slim/4.6.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/org.mockito:mockito-core/4.7.0/confidence-slim/4.6.1)](https://docs.renovatebot.com/merge-confidence/) | --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Renovate will not automatically rebase this PR, because other commits have been found. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox. ⚠ **Warning**: custom changes will be lost. --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/java-dialogflow-cx). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4xNTguMCIsInVwZGF0ZWRJblZlciI6IjMyLjE1OC4wIn0=-->
🤖 I have created a release *beep* *boop* --- ## [2.5.5](https://github.com/googleapis/java-os-config/compare/v2.5.4...v2.5.5) (2022-10-03) ### Dependencies * Update dependency cachetools to v5 ([#548](https://github.com/googleapis/java-os-config/issues/548)) ([7732104](https://github.com/googleapis/java-os-config/commit/773210484285e1866623cee124081a660b3d9b46)) * Update dependency certifi to v2022.9.24 ([#528](https://github.com/googleapis/java-os-config/issues/528)) ([4f1f127](https://github.com/googleapis/java-os-config/commit/4f1f127775897fad569904445e70e575a2ae2bd8)) * Update dependency charset-normalizer to v2.1.1 ([#532](https://github.com/googleapis/java-os-config/issues/532)) ([61f841c](https://github.com/googleapis/java-os-config/commit/61f841cd29541b17b8074c153668bf15c8150cff)) * Update dependency click to v8.1.3 ([#533](https://github.com/googleapis/java-os-config/issues/533)) ([21192b2](https://github.com/googleapis/java-os-config/commit/21192b229b95304a1df3ca2916aa8bf8ea44ea42)) * Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.4 ([#552](https://github.com/googleapis/java-os-config/issues/552)) ([80f58b0](https://github.com/googleapis/java-os-config/commit/80f58b03bbffcf154fdab9825a8d45897eb35e42)) * Update dependency gcp-releasetool to v1.8.8 ([#529](https://github.com/googleapis/java-os-config/issues/529)) ([14b3317](https://github.com/googleapis/java-os-config/commit/14b33172bfa894ac3ffbe000e0e13ed288467dbc)) * Update dependency google-api-core to v2.10.1 ([#534](https://github.com/googleapis/java-os-config/issues/534)) ([c654bc1](https://github.com/googleapis/java-os-config/commit/c654bc19fc43d85f9d3eff1dd7ee22e9cdd563a7)) * Update dependency google-cloud-core to v2.3.2 ([#530](https://github.com/googleapis/java-os-config/issues/530)) ([cd403a7](https://github.com/googleapis/java-os-config/commit/cd403a7f04ba05f98b718895e6542b94e0e18395)) * Update dependency google-cloud-storage to v2.5.0 ([#536](https://github.com/googleapis/java-os-config/issues/536)) ([de2e7c5](https://github.com/googleapis/java-os-config/commit/de2e7c5d015ab0d58f50974cbe8d0f593337d683)) * Update dependency google-crc32c to v1.5.0 ([#537](https://github.com/googleapis/java-os-config/issues/537)) ([41bd424](https://github.com/googleapis/java-os-config/commit/41bd424e13b21abfc28075c3768a5a39fc02a50a)) * Update dependency googleapis-common-protos to v1.56.4 ([#531](https://github.com/googleapis/java-os-config/issues/531)) ([e489df9](https://github.com/googleapis/java-os-config/commit/e489df98196bd89959a4c8d5793e67c2dcd5be3b)) * Update dependency importlib-metadata to v4.12.0 ([#538](https://github.com/googleapis/java-os-config/issues/538)) ([bc4dd99](https://github.com/googleapis/java-os-config/commit/bc4dd993721044c1269825834b4337718a6f24cc)) * Update dependency jeepney to v0.8.0 ([#539](https://github.com/googleapis/java-os-config/issues/539)) ([78e9609](https://github.com/googleapis/java-os-config/commit/78e9609086f297282384892980a1ee16c200f389)) * Update dependency jinja2 to v3.1.2 ([#540](https://github.com/googleapis/java-os-config/issues/540)) ([fc0b932](https://github.com/googleapis/java-os-config/commit/fc0b932fac63a34b16dd4c283c66c3da29bb5ab8)) * Update dependency keyring to v23.9.3 ([#541](https://github.com/googleapis/java-os-config/issues/541)) ([c61e086](https://github.com/googleapis/java-os-config/commit/c61e08684a016231bc7279fde7b52530cae4c40e)) * Update dependency markupsafe to v2.1.1 ([#542](https://github.com/googleapis/java-os-config/issues/542)) ([d175c47](https://github.com/googleapis/java-os-config/commit/d175c479184daae2b10cc35d4b7d8103bd3ea2e5)) * Update dependency protobuf to v3.20.2 ([#543](https://github.com/googleapis/java-os-config/issues/543)) ([5d1183e](https://github.com/googleapis/java-os-config/commit/5d1183e95bc6c91903ec88252095135f5d0d23fe)) * Update dependency protobuf to v4 ([#549](https://github.com/googleapis/java-os-config/issues/549)) ([8c65a2d](https://github.com/googleapis/java-os-config/commit/8c65a2de5cce879b6edc2a4a492d38375954286a)) * Update dependency pyjwt to v2.5.0 ([#544](https://github.com/googleapis/java-os-config/issues/544)) ([0c65d1a](https://github.com/googleapis/java-os-config/commit/0c65d1ae23d2dbe1f3b5b3fed0ecfea1b79559b2)) * Update dependency requests to v2.28.1 ([#545](https://github.com/googleapis/java-os-config/issues/545)) ([0a603a2](https://github.com/googleapis/java-os-config/commit/0a603a226990a201a3fde2d039f254dc093bc44f)) * Update dependency typing-extensions to v4.3.0 ([#546](https://github.com/googleapis/java-os-config/issues/546)) ([18a8071](https://github.com/googleapis/java-os-config/commit/18a80710aad26e2899fb3b3d76ea7ee77098ecee)) * Update dependency zipp to v3.8.1 ([#547](https://github.com/googleapis/java-os-config/issues/547)) ([3b4d187](https://github.com/googleapis/java-os-config/commit/3b4d187cc3198fabdb20a2cea578788fb1b17fa2)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- ### Updating meta-information for bleeding-edge SNAPSHOT release. --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
This PR adds support to BigQuery for inserts that use resumable upload.
LoadConfiguration
class for data needed by load jobs and resumable uploadsLoadJobInfo
and related classes to useLoadConfiguration
insteadstatus
andwrite
methods toBigQueryRpc
to support resumable insertinsertAll(LoadConfiguration, byte[])
method toBigQuery
insertAll(LoadConfiguration. SeekableByteChannel)
method toBigQuery
Table.insert
methods that use resumable upload