Skip to content

feat(bigquery): add bigquery_query_external_bigtable sample to query … - #14750

Open
iennae wants to merge 1 commit into
mainfrom
feat/bq-query-external-bigtable
Open

iennae wants to merge 1 commit into
mainfrom
feat/bq-query-external-bigtable

Conversation

@iennae

@iennae iennae commented Nov 2, 2026

Copy link
Copy Markdown
Contributor

…Cloud Bigtable data as an external table

Problem:
The BigQuery documentation (https://cloud.google.com/bigquery/docs/external-data-bigtable) needs a standalone, tested Python code sample demonstrating how to query Cloud Bigtable data as an external table (region tag bigquery_query_external_bigtable).

Solution:

  • Add query_external_bigtable(project_id: str, bigtable_instance_id: str, bigtable_table_id: str) -> None in bigquery/biglake/bigquery_query_external_bigtable.py (Configure a temporary Cloud Bigtable external table mapping column families and qualifiers and query it from BigQuery.)
  • Add unit tests (bigquery/biglake/bigquery_query_external_bigtable_test.py) covering both the success path and API error handling (GoogleAPICallError)

Description

Fixes #

Checklist

Testing

  • I have tested this change on a live environment and verified it works as intended.

Compliance & Style


Post-Approval Actions

  • Please merge this PR for me once it is approved

@iennae
iennae requested review from a team and chalmerlowe as code owners November 2, 2026 23:29
@product-auto-label product-auto-label Bot added the api: bigquery Issues related to the BigQuery API. label Nov 2, 2026
@snippet-bot

snippet-bot Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

Here is the summary of changes.

You are about to add 1 region tag.

This comment is generated by snippet-bot.
If you find problems with this result, please file an issue at:
https://github.com/googleapis/repo-automation-bots/issues.
To update this comment, add snippet-bot:force-run label or use the checkbox below:

  • Refresh this comment

@product-auto-label product-auto-label Bot added the samples Issues that are directly related to samples. label Nov 2, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a new Python sample and corresponding unit tests for configuring and querying a temporary BigQuery external table backed by Cloud Bigtable. Feedback on the changes suggests updating the noxfile_config.py to remove Python 3.10 from the ignored_versions list, ensuring that the oldest supported Python version is properly tested in accordance with repository guidelines.


TEST_CONFIG_OVERRIDE = {
# You can opt out from the test for specific Python versions.
"ignored_versions": ["2.7", "3.7", "3.8", "3.9", "3.10", "3.11"],

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

According to the repository's general rules, we should only test the oldest and newest supported Python releases in test configurations (such as noxfile_config.py), ignoring intermediate versions. Since requirements-test.txt specifies python_version >= "3.10", Python 3.10 is the oldest supported version and should be tested. Therefore, "3.10" should be removed from ignored_versions so that it is included in the test runs, while intermediate versions like "3.11" remain ignored.

Suggested change
"ignored_versions": ["2.7", "3.7", "3.8", "3.9", "3.10", "3.11"],
"ignored_versions": ["2.7", "3.7", "3.8", "3.9", "3.11"],
References
  1. Only test the oldest and newest supported Python releases in test configurations (such as noxfile_config.py), ignoring intermediate versions.

@iennae
iennae force-pushed the feat/bq-query-external-bigtable branch 2 times, most recently from ffd0e91 to b348934 Compare November 3, 2026 02:44
…Cloud Bigtable data as an external table

Problem:
The BigQuery documentation (https://cloud.google.com/bigquery/docs/external-data-bigtable)
needs a standalone, tested Python code sample demonstrating how to
query Cloud Bigtable data as an external table (region tag `bigquery_query_external_bigtable`).

Solution:
- Add `query_external_bigtable(project_id: str, bigtable_instance_id: str, bigtable_table_id: str) -> None` in `bigquery/biglake/bigquery_query_external_bigtable.py`
  (Configure a temporary Cloud Bigtable external table mapping column families and qualifiers and query it from BigQuery.)
- Add unit tests (`bigquery/biglake/bigquery_query_external_bigtable_test.py`) covering both the success
  path and API error handling (`GoogleAPICallError`)
@iennae
iennae force-pushed the feat/bq-query-external-bigtable branch from b348934 to 27459f3 Compare November 3, 2026 23:32

@amcolin amcolin left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api: bigquery Issues related to the BigQuery API. samples Issues that are directly related to samples.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants