有没有更快的方法来初始化 BigQuery 客户端?
Is there a quicker way to initialise a BigQuery client?
使用 Quickstart: Using Client Libraries google 文档中推荐的方法初始化 BigQuery 客户端需要 15 秒才能完成。这看起来很慢 - 有没有更快的方法?
import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.BigQueryOptions;
public class Test {
public static void main(String... args) throws Exception {
long nanotime = System.nanoTime();
BigQueryOptions x = BigQueryOptions.getDefaultInstance();
System.out.println("getDefaultInstance " +
(System.nanoTime()-nanotime));
nanotime = System.nanoTime();
BigQuery bigquery = x.getService();
System.out.println("getService " + (System.nanoTime()-nanotime));
}
}
输出:
getDefaultInstance 15453574055
getService 34049521
------------------------------------------------------------------------
BUILD SUCCESS
------------------------------------------------------------------------
Total time: 16.021s
Finished at: Tue Mar 19 14:23:54 GMT 2019
Final Memory: 7M/178M
------------------------------------------------------------------------
这很奇怪。我可以 运行 在我这边使用相同的代码,而且初始化花费的时间不到 200ms
。我 运行 在 n1-standard-4
VM 中使用代码并为 java 使用以下版本:
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-2~deb9u1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
BigQuery 客户端的 和 1.62
版本:
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-bigquery</artifactId>
<version>1.62.0</version>
</dependency>
这个问题在某种程度上与虚拟机上的网络配置有关。将网络设置从 "Share with my Mac" 更改为 "Bridged Networking" 解决了这个问题(见下图)。现在需要 0.6 秒来初始化。
使用 Quickstart: Using Client Libraries google 文档中推荐的方法初始化 BigQuery 客户端需要 15 秒才能完成。这看起来很慢 - 有没有更快的方法?
import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.BigQueryOptions;
public class Test {
public static void main(String... args) throws Exception {
long nanotime = System.nanoTime();
BigQueryOptions x = BigQueryOptions.getDefaultInstance();
System.out.println("getDefaultInstance " +
(System.nanoTime()-nanotime));
nanotime = System.nanoTime();
BigQuery bigquery = x.getService();
System.out.println("getService " + (System.nanoTime()-nanotime));
}
}
输出:
getDefaultInstance 15453574055
getService 34049521
------------------------------------------------------------------------
BUILD SUCCESS
------------------------------------------------------------------------
Total time: 16.021s
Finished at: Tue Mar 19 14:23:54 GMT 2019
Final Memory: 7M/178M
------------------------------------------------------------------------
这很奇怪。我可以 运行 在我这边使用相同的代码,而且初始化花费的时间不到 200ms
。我 运行 在 n1-standard-4
VM 中使用代码并为 java 使用以下版本:
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-2~deb9u1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
BigQuery 客户端的 和 1.62
版本:
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-bigquery</artifactId>
<version>1.62.0</version>
</dependency>
这个问题在某种程度上与虚拟机上的网络配置有关。将网络设置从 "Share with my Mac" 更改为 "Bridged Networking" 解决了这个问题(见下图)。现在需要 0.6 秒来初始化。