我想基于BigTable中的数据生成一些报告。为此,我想创建一个查询,该查询将从BigTable获取最新数据,并将其传递到Data Studio报告中。现在的问题是,当我在BigQuery中创建BigTable连接时,即使在空表上也无法执行任何查询。我通过以下方式为BigQuery创建类型:
bq mk \
--external_table_definition=gs://somebucket/big-table-definition.json \
datareportingdataset.datareportingtable
并且命令成功执行。我的big-table-definition.json
样子如下:
{
"sourceFormat": "BIGTABLE",
"sourceUris": [
"https://googleapis.com/bigtable/projects/playground-2/instances/data-reporting/tables/data-reporting-table"
],
"bigtableOptions": {
"readRowkeyAsString": "true",
"columnFamilies" : [
{
"familyId": "cf1",
"onlyReadLatest": "true",
"columns": [
{
"qualifierString": "temp",
"type": "STRING"
},
{
//the rest of the columns
]
}
]
}
}
执行简单select *
查询时的错误如下所示:
Error while reading table: datareportingdataset.datareportingtable, error message: Error detected while parsing row starting at position: 2. Error: Data between close double quote (") and field separator.
首先,我怀疑BigTable中有一些数据,但是当我从那里删除所有内容时,仍然会发生错误。我发现它必须与json文件本身有关,因为当我将“ sourceFormats”向下移动几行时,报告的错误更改位置。我在这里做错了什么?