在SparkyR中,R的list()函数的等价物是什么?
下面是一个示例R代码。我想在你的生活中也这样做在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中
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()