Используя sparklyr, я пытаюсь найти способ фильтрации данных в Spark, объединяющих функциональность rlike
и %in%
.Вот минимальный рабочий пример:
# start a Spark session in R and have dplyr loaded
# create a spark dataframe
df <- data.frame(names = c("Brandon", "Chee", "Brandi", "Firouz", "Eric", "Erin"),
place = c("Pasadena", "South Bay", "West Hollywood", "SF Valley", "South Bay", "South Bay"))
sc_df <- sdf_copy_to(sc, df, overwrite = TRUE)
# set wildcard filter paramaters
f_params <- c("Brand", "Er")
# return all rows of sc_df where the 'names' value contains either 'f_params' values.
df_filtered <- sc_df %>%
filter(rlike(names, f_params)) %>%
collect()
df_filtered
в приведенном выше коде явно не работает.В идеале таблица df_filtered
должна выглядеть следующим образом:
print(df_filtered)
# names place
# Brandon Pasadena
# Brandi West Hollywood
# Eric South Bay
# Erin South Bay
Дополнительное правило : поскольку реальный пример содержит около 200 значений в f_params
, я не могу использовать следующее решение:
df_filtered <- sc_df %>%
filter(rlike(names, "Brand") | rlike(names, "Er")) %>%
collect()
Заранее спасибо.