textmining sparklyr Функция spark_apply найти - PullRequest
0 голосов
/ 28 февраля 2019

Я использую Sparklyr, у меня есть вектор слов:

word_list <- c("toto", "tata")

, и я хотел бы знать, появляется ли хотя бы одно из них хотя бы раз в одной из трех моих текстовых переменных (text_1,text_2, text_3)

table_1 <-  data.table(id = 1:3, 
                        text_1= c("(table  012 APM325)", "(JUI524 toto KIO879)" , "(pink car in the field KJU547 MPO362/JHY879)"), 
                        text_2= c("(chips train)", "(toto)", "(coco loco)"),
                        text_3= c("(train)", "(125 LMP)", "(yid tata)"))

Пока я использую этот метод цикла:

sdf_table_1 <- copy_to(sc, table_1 , "table_1" , overwrite = TRUE)


sdf_table_2 <-  sdf_table_1 %>%
    mutate(found_word='0')%>%
    mutate(found_word=as.numeric(found_word))



for(k in word_list) {
   sdf_table_2 <- sdf_table_2 %>%
       mutate(found_word=ifelse(locate(k, text_1)>0 | 
                                  locate(k, text_2)>0 | 
                                  locate(k, text_3)>0, 1 , found_word))
   }




glimpse(sdf_table_2)


id         <int> 1, 2, 3
text_1     <chr> "(table  012 APM325)", "(JUI524 toto KIO879)", "(pink car in the field KJU547 MPO362/JHY879)"
text_2     <chr> "(chips train)", "(toto)", "(coco loco)"
text_3     <chr> "(train)", "(125 LMP)", "(yid tata)"
found_word <dbl> 0, 1, 1

Поскольку Spark не очень хорошо обрабатывает циклы, мне было интересно, смогу ли я сделатьТо же самое с другим методом, возможно, с использованием spark_apply?

спасибо за вашу помощь!

...