在SparkyR中,R的list()函数的等价物是什么?

在SparkyR中,R的list()函数的等价物是什么?,r,apache-spark,sparklyr,R,Apache Spark,Sparklyr,下面是一个示例R代码。我想在你的生活中也这样做 custTrans1 <- Pdt_table %>% group_by(Main_CustomerID) %>% summarise(Invoice = as.vector(list(Invoice_ID)),Industry = as.vector(list(Industry))) 其中Pdt_表是spark数据框,主客户ID、发票ID和行业是变量 我想创建上述变量的列表,并将其转换为向量。如何在Sparkyr中

下面是一个示例R代码。我想在你的生活中也这样做

custTrans1 <- Pdt_table %>% 
  group_by(Main_CustomerID) %>% 
  summarise(Invoice = as.vector(list(Invoice_ID)),Industry = as.vector(list(Industry)))
其中Pdt_表是spark数据框,主客户ID、发票ID和行业是变量

我想创建上述变量的列表,并将其转换为向量。如何在Sparkyr中执行此操作?

您可以使用或:

选择“组”,将“值”列为“值”` 从`df` 分组` 与相应的:

org.apache.spark.sql.catalyst.plans.logical.Aggregate 聚合[group259],[group259,collect_listvalue260,0,0作为值345] +-在MemoryRelation[group259,value260],true,10000,StorageLeveldisk,memory,反序列化,1个副本,`df` +-扫描现有RDD[组259,值260] 和具有数组列的架构:

根 |-组:字符串nullable=true |-值:数组nullable=true ||-元素:双容器ll=true 请记住:

像这样的操作在分布式系统中非常昂贵。 取决于数据分布可能不可行。 一般来说,复杂类型在Spark中有点难以处理,而SparkyR以整洁的数据为中心,并不能让事情变得更简单。为了有效地处理结果,您可能需要Scala扩展。
set.seed(1)
df <- copy_to(
  sc, tibble(group = rep(c("a", "b"), 3), value = runif(6)),
  name = "df"
)

result <- df %>% group_by(group) %>% summarise(values = collect_list(value))
result
result %>% show_query()
result %>% optimizedPlan()