Use BigQuery Read API for reading external BigLake tables#22974
Conversation
2ac0a6d to
b7c24e9
Compare
|
I will squash commits once when I'll make sure that all changes have been properly cherry-picked and rebase with master. |
99e1bce to
17b1787
Compare
b168391 to
b2e9393
Compare
|
@marcinsbd Can we update the PR description |
b1fec91 to
a6f3884
Compare
|
I think we should handle the following limitation: https://cloud.google.com/bigquery/docs/biglake-intro
|
|
@ebyhr But for Azure or AKS we could use BigLake Omni right or should we use a flag to control them ? |
|
@Praveen2112 I'm not sure how BigLake Omni works in this case. How about adding another condition to externalTableDefinition.getSourceUris().stream().allMatch(uri -> uri.startsWith("gs://") |
|
Hi @anoopj |
f3da1b5 to
e9abe1c
Compare
You can tell from the dataset region (preferred) or looking at the sourceUris as mentioned in the above comment. |
e9abe1c to
5cad7c1
Compare
|
Thanks @ebyhr, @Praveen2112, @anoopj, @krvikash, @pajaks for the review and your help. AC |
fd46be1 to
ebeb942
Compare
ebeb942 to
e62be36
Compare
|
Please let's do the another round of review @ebyhr, @Praveen2112, @krvikash. |
|
@marcinsbd Can we rebase the PR |
The storage APIs support reading BigLake external tables (ie external tables with a connection). But the current implementation uses views which can be expensive, because it requires a query. This PR adds support to read BigLake tables directly using the storage API. There are no behavior changes for external tables and BQ native tables - they use the view and storage APIs respectively. Added a new test for BigLake tables. Co-authored-by: Marcin Rusek <marcin.rusek@starburstdata.com>
e62be36 to
bcad172
Compare
Description
Continuation of the #21017
BigQuery storage APIs support reading BigLake external tables (ie external tables with a connection). But the current implementation uses views which can be expensive, because it requires Trino issuing a SQL query against BigQuery. This PR adds support to read BigLake tables directly using the storage API.
There are no behavior changes for external tables and BQ native tables - they use the view and storage APIs respectively. Added a new test for BigLake tables.
Additional context and related issues
Fixes #21016
https://cloud.google.com/bigquery/docs/biglake-intro
Release notes