查询数据时标题丢失

时间:2013-07-10 15:07:39

标签: google-bigquery

使用BigQuery API时遇到了一个奇怪的问题。

我们使用Java API来选择特定表中的所有数据。我们使用以下代码执行此操作:

QueryRequest request = new QueryRequest();
request.setQuery(statement);
Query query = service.jobs().query(projectId, request);
QueryResponse queryResp = query.execute();


// Poll until job complete....

// Job completed
GetQueryResultsResponse queryResult = service.jobs().getQueryResults(
projectId, completedJobId).execute();
List<TableRow> rows = queryResult.getRows();

当我们在自己的表上运行时,第一行包含标题,例如:

{ “F”:[{ “V”: “姓名”},{ “V”: “性别”}]}

但是,当我们在具有不同表的其他帐户上运行此功能时,它不包含标头。第一行是数据的第一行。这导致我们的应用程序出现问题,因为我们期望第一行中的表头。任何人都可以帮忙解释为什么会这样吗?

感谢您的帮助!

克里斯

1 个答案:

答案 0 :(得分:2)

第一行查询结果不是标题 - 它是结果的第一行。

听起来就像导入数据时一样,您可能有一个导入为第一行数据的标题(您可以在加载中使用skipLeadingRows值来跳过标题行)。

如果您想从数据中获取架构,可以从queryResult.getSchema()函数获取它。