R 下的值匹配

R 下的值匹配,r,apache-spark,dplyr,matching,sparklyr,R,Apache Spark,Dplyr,Matching,Sparklyr,我尝试在SparkyR下使用以下方法进行值匹配: spark_parquet %>% filter(customer_id %in% spark_unique_customer_ids) 但是,我收到了以下错误: UseMethod(“escape”)中的错误:没有适用于“escape”的方法应用于类“c”的对象(“tbl_spark”、“tbl_sql”、“tbl_lazy”、“tbl”) 有什么建议可以解决这个问题吗?最好使用semi\u-join: spark_parquet &

我尝试在SparkyR下使用以下方法进行值匹配:

spark_parquet %>% filter(customer_id %in% spark_unique_customer_ids)
但是,我收到了以下错误:

UseMethod(“escape”)中的错误:没有适用于“escape”的方法应用于类“c”的对象(“tbl_spark”、“tbl_sql”、“tbl_lazy”、“tbl”)
有什么建议可以解决这个问题吗?

最好使用
semi\u-join

spark_parquet <- copy_to(
  sc, 
  tibble(customer_id = c(1, 2, 3), value = c(-1, 0, 1))
)
spark_unique_customer_ids <- copy_to(sc, tibble(customer_id = c(1, 3)))

spark_parquet %>% semi_join(spark_unique_customer_ids, by = "customer_id")
#来源:spark[??x 2]
客户id值
*        
1           1    -1
2           3     1
spark_parquet %>%  sdf_register("spark_parquet")
spark_unique_customer_ids %>% sdf_register("spark_unique_customer_ids")

sc %>% spark_session() %>% 
  invoke(
    "sql", 
    "SELECT * FROM spark_parquet 
     WHERE customer_id IN (
       SELECT customer_id FROM spark_unique_customer_ids)") %>% 
   sdf_register()