我正在使用Spark Dataframes并且数据框import os, sys, time, shutil, threading
...
self.threadA = threading.Thread( target=self.PLAY, args=() )
self.threadB = threading.Thread(target=self.DOWNLOAD, args=() )
self.threadA.start()
self.threadB.start()
while True:
## UI
command = raw_input("Enter a command > ")
与此类似:
df
我想一次性聚合我的数据帧并获得此输出:
id: String | amount: Double | donor: String
--------------------------------------------
1 | 50 | Mary
2 |100 | Michael
1 | 60 | Minnie
1 | 20 | Mark
2 | 55 | Mony
所以我想做点什么:
id: String | amount: Double | donor: Seq[String]
--------------------------------------------
1 |130 | {Mary,Minnie,Mark}
2 |155 | {Michael, Mony}
汇总数字的总和很简单,但我找不到将文本内容聚合为序列或数组(或任何类似的Iterable类型)的方法。我怎样才能在scala / spark中做到这一点?
编辑:
我正在寻找一些基于Dataframe或RDD的函数来进行字符串的收集。作为下面提到的df.groupyBy("id").agg(sum("amount"),_?Seq?_("donor"))
的函数是基于Hive的,我需要特定的依赖关系。但我在项目中根本没有使用Hive。
答案 0 :(得分:2)
尝试:
Redis
或
df.groupyBy("id").agg(sum("amount"), collect_list("donor"))