Как указать региональное расположение для драйвера JDBC Google BigQuery? - PullRequest
0 голосов
/ 03 июля 2018

Я пытаюсь указать местоположение 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?

1 Ответ

0 голосов
/ 03 июля 2018

К сожалению, драйвер Simba JDBC пока не поддерживает эту функцию, поэтому вы не сможете использовать его таким образом.

https://www.simba.com/products/BigQuery/doc/JDBC_InstallGuide/content/jdbc/bq/options/intro-general.htm (место обработки не указано)

Если возможно, вы можете переключиться на использование API BigQuery и установить поле jobReference.location. Установите его в нужное место обработки, используя конфигурацию задания запроса. Примечание : помечено как Experimental, поэтому будьте осторожны.

https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs#configuration.query

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...