Bigquery和Pushshift:分区表不支持时间范围修饰符

时间:2018-08-29 01:05:19

标签: sql google-bigquery

我正在关注https://pushshift.io/using-bigquery-with-reddit-data上的帖子,其中提供了一个示例SQL查询:

SELECT * FROM [pushshift:rt_reddit.comments@-60000-] LIMIT 1;

与此相关的是以下错误:

  

分区表不支持时间范围修饰符

对我来说,该页面上的其他查询也会失败。自编写以来,有什么变化吗?

1 个答案:

答案 0 :(得分:1)

自从该帖子创建以来,作者似乎已将表格转换为使用基于时间的分区。您可以在created_utc列上使用过滤器来限制读取多少数据,例如:

SELECT * FROM pushshift.rt_reddit.comments WHERE DATE(created_utc) = '2018-06-26';

如果您在BigQuery UI中单击查询编辑器右侧和下方的绿色对勾,则应该看到类似Processing up to 676.57 MB.的字样,它远远小于整个表的大小。再举一个例子,如果您想在注释中搜索特定的单词(如该页面上的某些查询所示),则可以编写一个查询,例如:

SELECT COUNT(*), subreddit
FROM pushshift.rt_reddit.comments
WHERE created_utc BETWEEN '2018-05-01' AND '2018-05-31' AND
  LOWER(body) LIKE '%google%'
GROUP BY subreddit
ORDER BY 1 DESC;