为 stackoverflow 使用 BigQuery public 数据集分隔标签
Separating tags with BigQuery public dataset for stackoverflow
Google 为 Whosebug 的内容提供了一个 public 数据集。我们可以读到这个 here。当我登录 GCP Cloud Console 并访问 BigQuery 页面并提交以下查询时:
select id, tags from `bigquery-public-data.Whosebug.posts_questions` limit 10
向我显示的结果 table 将标签字段显示为串联项。
如果我查看 JSON,我似乎看到了相同的内容:
我的假设是标签将由“|”分隔性格,但数据似乎并非如此。我希望能更好地理解这一点。我的最终目标是执行查询以查找包含给定标签的所有问题。
要查找包含给定标签名称的所有 Whosebug 问题,您可以使用 SQL 运算符 LIKE
。在数据库字段中查找特定模式时,此运算符非常有用。它在 WHERE
语句之后指定,语法如下:
SELECT field1, field2, ...
FROM table
WHERE fieldN LIKE pattern;
模式通常使用以下通配符编写,可以生成类似正则的表达式:
百分号 "%"
查找任何包含零个或多个字符的字符串。
示例:SELECT * WHERE fieldN LIKE "%foo%"
将 return 字段 N 列中包含字符串 "foo" 的所有条目。
下划线符号 "_"
查找任何单个字符。
示例:SELECT * WHERE fieldN LIKE "A_"
将 return 所有以字符 "A".
[=41 开头的条目=]
为了找到所有包含给定标签 TAGNAME
的 Whosebug 问题,您可以使用模式 "%TAGNAME%"
。
在此示例中,查询将 return 标签字段包含单词 "javascript":
的所有条目
SELECT
*
FROM
`bigquery-public-data.Whosebug.posts_questions`
WHERE
tags LIKE "%javascript%"
我们发现将 Whosebugs 中的源数据转换为 BigQuery 表的方式存在错误。 Google 创建了一个要解决的问题,并最终发布了该问题已修复的消息。因此,这个 story/posting 是 短暂的 并且将来可能无法复制也没有价值。
Google 为 Whosebug 的内容提供了一个 public 数据集。我们可以读到这个 here。当我登录 GCP Cloud Console 并访问 BigQuery 页面并提交以下查询时:
select id, tags from `bigquery-public-data.Whosebug.posts_questions` limit 10
向我显示的结果 table 将标签字段显示为串联项。
如果我查看 JSON,我似乎看到了相同的内容:
我的假设是标签将由“|”分隔性格,但数据似乎并非如此。我希望能更好地理解这一点。我的最终目标是执行查询以查找包含给定标签的所有问题。
要查找包含给定标签名称的所有 Whosebug 问题,您可以使用 SQL 运算符 LIKE
。在数据库字段中查找特定模式时,此运算符非常有用。它在 WHERE
语句之后指定,语法如下:
SELECT field1, field2, ...
FROM table
WHERE fieldN LIKE pattern;
模式通常使用以下通配符编写,可以生成类似正则的表达式:
百分号
"%"
查找任何包含零个或多个字符的字符串。示例:
SELECT * WHERE fieldN LIKE "%foo%"
将 return 字段 N 列中包含字符串 "foo" 的所有条目。下划线符号
"_"
查找任何单个字符。示例:
[=41 开头的条目=]SELECT * WHERE fieldN LIKE "A_"
将 return 所有以字符 "A".
为了找到所有包含给定标签 TAGNAME
的 Whosebug 问题,您可以使用模式 "%TAGNAME%"
。
在此示例中,查询将 return 标签字段包含单词 "javascript":
SELECT
*
FROM
`bigquery-public-data.Whosebug.posts_questions`
WHERE
tags LIKE "%javascript%"
我们发现将 Whosebugs 中的源数据转换为 BigQuery 表的方式存在错误。 Google 创建了一个要解决的问题,并最终发布了该问题已修复的消息。因此,这个 story/posting 是 短暂的 并且将来可能无法复制也没有价值。