У меня есть большой набор твитов на bigquery, и теперь я хочу отфильтровать те, которые содержат хотя бы один из списка хэштегов. Хэштеги сохраняются в столбце массива (загружаются из столбца списка в R). Как я могу выбрать строки, содержащие одно из нескольких значений в любом месте этого массива?
Ниже код, который я бы использовал для анализа в R. Неудивительно, что dbplyr
не может перевести часть purrr
, и я рад научиться создавать SQL самостоятельно, но пока не нашел хорошей отправной точки. Спасибо за любые указатели.
PS: я еще не загрузил твиты в bigquery, в настоящее время они живут в 80 ГБ файла RDS. Если бы какое-либо простое преобразование данных облегчило бы эту задачу, я бы все равно мог включить это при загрузке.
tweets_sample <- tibble::tribble(
~text, ~hashtags,
"Hello", list("World", "You"),
"Goodbye", list("Friend", "You"),
"Not", list("interested")
)
hashtag_list <- c("World", "interested")
tweets_sample %>% filter(purrr::map_lgl(hashtags, ~ .x %in% hashtag_list %>%
any()))