【发布时间】:2017-08-05 20:14:52
【问题描述】:
是否可以使用 Java 中的 API 在 BigQuery 的数据集中创建表?我知道这是可能的
bq mk --schema <fileName> -t <project>:<dataset>.<table>
但我找不到以编程方式执行此操作的方法。
【问题讨论】:
标签: java api google-bigquery
是否可以使用 Java 中的 API 在 BigQuery 的数据集中创建表?我知道这是可能的
bq mk --schema <fileName> -t <project>:<dataset>.<table>
但我找不到以编程方式执行此操作的方法。
【问题讨论】:
标签: java api google-bigquery
我没有亲自使用过 Java BigQuery 库1,但看起来您应该调用 BigQuery.create(TableInfo, TableOptions[]。该文档有这个示例代码 - 当然假设您已经有一个 BigQuery 接口实现的实例:
String datasetName = "my_dataset_name";
String tableName = "my_table_name";
String fieldName = "string_field";
TableId tableId = TableId.of(datasetName, tableName);
// Table field definition
Field field = Field.of(fieldName, Field.Type.string());
// Table schema definition
Schema schema = Schema.of(field);
TableDefinition tableDefinition = StandardTableDefinition.of(schema);
TableInfo tableInfo = TableInfo.newBuilder(tableId, tableDefinition).build();
Table table = bigquery.create(tableInfo);
显然,对于 real 表,您的架构构造可能会涉及更多,但这应该可以帮助您入门。我看不到从文件中加载模式的任何方式,但是如果您的模式文件以简单的方式(例如 JSON)是机器可读的,那么您可能很容易编写自己的解析器。 (如果您愿意,也可以将其贡献给项目......)
1我是 C# BigQuery 库的主要作者,所以我知道要寻找什么。
【讨论】: