在BigQuery中嵌套查询文本匹配

时间:2013-03-14 14:14:00

标签: google-bigquery

我想知道是否有办法为文本匹配运行嵌套查询我试图在我的推文数据集上运行。我在BigQuery中有一个表,我收集了一些讨论各种股票的推文,我想根据每条推文的文字中的单词对该表进行细分。

我有一个情感词典(实际上它是一组表,其中每个表都列出了与感觉相关的单词。有一个表用于表示积极情绪的单词,一个表示负面,不确定等),所以我想要的做的事情如下:

SELECT text AS bullish_tweets
FROM bigtweettable
WHERE text CONTAINS (SELECT words FROM table_x);

我只是不确定BigQuery是否允许这种查询,或者是否有某些功能可以。因为我在我的情感词典中使用的这些表每个都有几百到几千行,所以很高兴知道这一点。

非常感谢。

1 个答案:

答案 0 :(得分:1)

除非你的推文已经被单词分开,否则我无法想到要做你所要求的事情。如果您预先处理推文以分割输入中的单词,则可以创建表示单词的重复字段。然后,您可以执行查询:

SELECT text as bullish_tweets 
FROM bigtweettable
WHERE tweet_word IN (SELECT words from table_x)

bigtweettable的架构会是这样的     字段:类型:模式     text:string:nullable     tweet_word:string:重复

如果重复了tweet_word,则需要将导入作为JSON进行,因为CSV不支持重复值。或者,您可以预先展平并重复推文中每个单词的文本。