我怎样才能在java中获得一个bigquery表模式

时间:2016-12-21 11:34:50

标签: java google-bigquery

假设我在BQ中有这个myTable表:

[
  {"name": "executionId", "type": "STRING"},
  {"name":"metadata", "type":"record","fields":[
    {"name":"fileName", "type":"STRING"},
    {"name":"fileType", "type":"STRING"},
    {"name":"errors", "type":"STRING"}
  ]}
]

现在我正在尝试在我的代码中获取表模式。 这是我尝试使用此example

import com.google.cloud.examples.bigquery.snippets.*;

public class MyClass {
    public static void main(String[] args) throws Exception {
        BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();
        BigQuerySnippets bigQuerySnippets = new BigQuerySnippets(bigquery);
        Table table = bigQuerySnippets.getTable("MY_DATASET", "myTable");

现在我该如何继续? table有一个方法吗?

1 个答案:

答案 0 :(得分:2)

Table扩展了TableInfo,因此您可以从TableInfo获取TableDefinition,从TableDefinition获取Schema

Schema schema = table.getDefinition().getSchema();