如何为Google BigQuery JDBC驱动程序指定区域位置?
我试图在如何为Google BigQuery JDBC驱动程序指定区域位置?,jdbc,google-bigquery,Jdbc,Google Bigquery,我试图在亚洲东北1(日本)位置指定一个位置,以便在该位置查询数据集时使用。对于区域位置,查询时必须指定位置: 如果数据位于美国或欧盟多地区以外的位置,则在执行加载数据、查询数据和导出数据等操作时,必须指定位置 我已尝试将查询字符串子名称设置为: //https://www.googleapis.com/bigquery/v2;ProjectId=mybqproject;OAuthType=3;Location=asia-northeast1 它在Clojure中,所以这里的全部内容都是针对上下
亚洲东北1
(日本)位置指定一个位置,以便在该位置查询数据集时使用。对于区域位置,查询时必须指定位置:
如果数据位于美国或欧盟多地区以外的位置,则在执行加载数据、查询数据和导出数据等操作时,必须指定位置
我已尝试将查询字符串子名称设置为:
//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"
},
当我没有显式设置日本位置时,我在BigQuerySQL控制台中也会遇到这个错误。这表示没有为此表搜索日本位置
使用Google BigQuery SIMBA JDBC驱动程序时,如何选择日语位置?很遗憾,SIMBA JDBC驱动程序还不支持此功能,因此您将无法以这种方式使用它 (未列出处理位置) 如果可能,您可以切换到使用BigQuery API并设置字段
jobReference.location
。使用查询作业配置将其设置为所需的处理位置注意:这被标记为实验性
,因此要小心
谢谢,我认为在JDBC驱动程序中设置该属性不起作用(还没有?)。是的,我认为Simba驱动程序还不支持它。我会更新我的答案。