我在 BigQuery 中的 Google Vision API 调用结果位于一个表中,其架构如下所示:
image STRING NULLABLE
...
labelAnnotations RECORD REPEATED
labelAnnotations.description STRING NULLABLE
...
Run Code Online (Sandbox Code Playgroud)
我能够通过如下查询获取具有一个或多个标签的所有图像:
SELECT image,
count(labelAnnotations.description) as n_labels
FROM datasetid.tableid,
UNNEST(labelAnnotations) as labelAnnotations
GROUP BY 1
Run Code Online (Sandbox Code Playgroud)
image当特定图像没有 labelAnnotations 记录时,如何获取该值?IE。API 返回空的 labelAnnotations 记录,或者根本没有记录。
我希望这是显而易见的,但尝试使用WHERE labelAnnotations IS NULL失败了。
当特定图像没有 labelAnnotations 记录时,如何获取图像值?
以下是 BigQuery 标准 SQL
#standardSQL
SELECT image
FROM `datasetit.tableid`
WHERE ARRAY_LENGTH(labelAnnotations) = 0
Run Code Online (Sandbox Code Playgroud)
您可以使用下面的虚拟数据来测试/玩上面的内容
#standardSQL
WITH `datasetit.tableid` AS (
SELECT 'image1' image, [STRUCT<description STRING>('label1'), STRUCT('label2')] labelAnnotations UNION ALL
SELECT 'image2', [] UNION ALL
SELECT 'image3', [STRUCT<description STRING>('label3')]
)
SELECT image
FROM `datasetit.tableid`
WHERE ARRAY_LENGTH(labelAnnotations) = 0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4064 次 |
| 最近记录: |