Google api 如何将BigQuery查询结果保存到另一个表?

Google api 如何将BigQuery查询结果保存到另一个表?,google-api,google-bigquery,Google Api,Google Bigquery,我想将查询结果保存到新表中。 有了像我这样的BigQuery在线编辑器,我可以很容易地从Felipe Hoffa那里得到它。 在几秒钟内插入约150.000.000行的结果 但是如何通过BigQueryAPI运行带有“目标表”参数的查询呢 例如,在Java中: [...] TableReference tableRef = new TableReference(); tableRef.setProjectId("<project>"); tableRef.setDatasetId("

我想将查询结果保存到新表中。 有了像我这样的BigQuery在线编辑器,我可以很容易地从Felipe Hoffa那里得到它。 在几秒钟内插入约150.000.000行的结果

但是如何通过BigQueryAPI运行带有“目标表”参数的查询呢

例如,在Java中:

[...]
TableReference tableRef = new TableReference();
tableRef.setProjectId("<project>");
tableRef.setDatasetId("<dataset>");
tableRef.setTableId("<name>");

JobConfigurationQuery queryConfig = new JobConfigurationQuery();
queryConfig.setDestinationTable(tableRef);
queryConfig.setAllowLargeResults(true);
queryConfig.setQuery("some sql");
queryConfig.setCreateDisposition(CREATE_IF_NEEDED);
queryConfig.setWriteDisposition(WRITE_APPEND);

JobConfiguration config = new JobConfiguration().setQuery(queryConfig);
Job job = new Job();
job.setConfiguration(config);

Bigquery.Jobs.Insert insert = bigquery.jobs().insert("<projectid>", job);
JobReference jobId = insert.execute().getJobReference();
[...]
[…]
TableReference tableRef=新的TableReference();
tableRef.setProjectId(“”);
tableRef.setDatasetId(“”);
tableRef.setTableId(“”);
JobConfigurationQuery queryConfig=新建JobConfigurationQuery();
queryConfig.setDestinationTable(tableRef);
queryConfig.setAllowLargeResults(true);
setQuery(“一些sql”);
queryConfig.setCreateDisposition(如果需要,则创建);
queryConfig.setWriteDisposition(WRITE\u APPEND);
JobConfiguration=newjobconfiguration().setQuery(queryConfig);
作业=新作业();
setConfiguration(配置);
Bigquery.Jobs.Insert=Bigquery.Jobs().Insert(“,job”);
JobReference jobId=insert.execute().getJobReference();
[...]
使用API调用

例如,在Java中:

[...]
TableReference tableRef = new TableReference();
tableRef.setProjectId("<project>");
tableRef.setDatasetId("<dataset>");
tableRef.setTableId("<name>");

JobConfigurationQuery queryConfig = new JobConfigurationQuery();
queryConfig.setDestinationTable(tableRef);
queryConfig.setAllowLargeResults(true);
queryConfig.setQuery("some sql");
queryConfig.setCreateDisposition(CREATE_IF_NEEDED);
queryConfig.setWriteDisposition(WRITE_APPEND);

JobConfiguration config = new JobConfiguration().setQuery(queryConfig);
Job job = new Job();
job.setConfiguration(config);

Bigquery.Jobs.Insert insert = bigquery.jobs().insert("<projectid>", job);
JobReference jobId = insert.execute().getJobReference();
[...]
[…]
TableReference tableRef=新的TableReference();
tableRef.setProjectId(“”);
tableRef.setDatasetId(“”);
tableRef.setTableId(“”);
JobConfigurationQuery queryConfig=新建JobConfigurationQuery();
queryConfig.setDestinationTable(tableRef);
queryConfig.setAllowTargetResults(true);
setQuery(“一些sql”);
queryConfig.setCreateDisposition(如果需要,则创建);
queryConfig.setWriteDisposition(WRITE\u APPEND);
JobConfiguration=newjobconfiguration().setQuery(queryConfig);
作业=新作业();
setConfiguration(配置);
Bigquery.Jobs.Insert=Bigquery.Jobs().Insert(“,job”);
JobReference jobId=insert.execute().getJobReference();
[...]

设置作业配置中的configuration.query.destinationTable.*字段,然后调用jobs.insert?有详细信息。请在作业配置中设置configuration.query.destinationTable.*字段,然后调用jobs.insert?有更多的信息。