在我的猪代码中,我这样做:
all_combined = Union relation1, relation2,
relation3, relation4, relation5, relation 6.
Run Code Online (Sandbox Code Playgroud)
我想用火花做同样的事情.然而,不幸的是,我发现我必须继续这样做:
first = rdd1.union(rdd2)
second = first.union(rdd3)
third = second.union(rdd4)
# .... and so on
Run Code Online (Sandbox Code Playgroud)
是否有一个联合运算符可以让我一次操作多个rdds:
例如 union(rdd1, rdd2,rdd3, rdd4, rdd5, rdd6)
这是一个方便的问题.
对于一组数据帧
val df1 = sc.parallelize(1 to 4).map(i => (i,i*10)).toDF("id","x")
val df2 = sc.parallelize(1 to 4).map(i => (i,i*100)).toDF("id","y")
val df3 = sc.parallelize(1 to 4).map(i => (i,i*1000)).toDF("id","z")
Run Code Online (Sandbox Code Playgroud)
把他们所有人联合起来
df1.unionAll(df2).unionAll(df3)
Run Code Online (Sandbox Code Playgroud)
是否有更优雅和可扩展的方式为任意数量的数据帧执行此操作,例如
Seq(df1, df2, df3)
Run Code Online (Sandbox Code Playgroud)