Я пытаюсь указать местоположение asia-northeast1
(Япония) для драйвера SIMBA BigQuery JDBC , которое будет использоваться при запросе набора данных в этом месте. Для региональных местоположений вы должны указать свое местоположение при запросе:
Если ваши данные находятся не в мультирегионе США или ЕС, вы должны указать их при выполнении таких действий, как загрузка данных, запрос данных и экспорт данных. Указание вашего местоположения
Я попытался установить для моего имени строки запроса:
//https://www.googleapis.com/bigquery/v2;ProjectId=mybqproject;OAuthType=3;Location=asia-northeast1
Это в Clojure, так что все дело здесь в контексте, но те же принципы должны применяться для любого соединения JDBC.
(clojure.java.jdbc/get-connection
{:classname "com.simba.googlebigquery.jdbc42.Driver"
:subprotocol "bigquery"
;; OAuthType=3 means use Application Default Credentials
:subname "//https://www.googleapis.com/bigquery/v2;ProjectId=mybqproject;OAuthType=3"})
Не похоже, что выбрано свойство Location (я только что догадался об использовании Location
, я ничего не видел в документах). Я могу успешно подключаться и запрашивать наборы данных в мультирегионе США, поэтому свойства конфигурации правильные, но не японские. Когда я пытаюсь запросить набор данных в Японии, я получаю эту ошибку:
CompilerException java.sql.SQLException: [Simba][BigQueryJDBCDriver](100032) Error executing query job. Message: 404 Not Found
{
"code" : 404,
"errors" : [ {
"domain" : "global",
"message" : "Not found: Dataset mybqproject:mybqtable",
"reason" : "notFound"
} ],
"message" : "Not found: Dataset mybqproject:mybqtable"
},
Я получаю эту ошибку в SQL-консоли BigQuery, даже когда я явно не задаю местоположение Японии. Это указывает на то, что японское местоположение не ищется для этой таблицы.
Как выбрать японское местоположение при использовании драйвера Google BigQuery SIMBA JDBC?