如何在Java中创建分区的BigQuery表
https://cloud.google.com/bigquery/docs/creating-partitioned-tables 显示了如何在Python中创建分区表.我去过那里,我已经做到了.
https://cloud.google.com/bigquery/docs/creating-partitioned-tables shows how to create partitioned table in Python. I've been there, I've done that.
现在的问题是,如何使用Java API做同样的事情?与下面的Python代码做同样的事情的相应Java代码是什么:
Now the question is, how to do the same thing with Java API? What is the corresponding Java code doing the same thing as the Python one below:
{
"tableReference": {
"projectId": "myProject",
"tableId": "table1",
"datasetId": "mydataset"
},
"timePartitioning": {
"type": "DAY"
}
}
缺少分区的Java:
Job createTableJob = new Job();
JobConfiguration jobConfiguration = new JobConfiguration();
JobConfigurationLoad loadConfiguration = new JobConfigurationLoad();
createTableJob.setConfiguration(jobConfiguration);
jobConfiguration.setLoad(loadConfiguration);
TableReference tableReference = new TableReference()
.setProjectId("myProject")
.setDatasetId("mydataset")
.setTableId("table1");
loadConfiguration.setDestinationTable(tableReference);
// what should be place here to set DAY timePartitioning?
我正在使用Maven中央存储库中的最新api版本: com.google.apis:google-api-services-bigquery:v2-rev326-1.22.0
.
I'm using the newest api version from Maven Central Repository: com.google.apis:google-api-services-bigquery:v2-rev326-1.22.0
.
https://cloud.google.com/bigquery/docs/reference/v2/tables/insert https://cloud.google.com/bigquery/docs/reference/v2/tables#resource
示例Java代码:
String projectId = "";
String datasetId = "";
Table content = new Table();
TimePartitioning timePartitioning = new TimePartitioning();
timePartitioning.setType("DAY");
timePartitioning.setExpirationMs(1L);
content.setTimePartitioning(timePartitioning);
Bigquery.Tables.Insert request = bigquery.tables().insert(projectId, datasetId, content);
Table response = request.execute();