[英]Scala/Spark array of dataframes
[我们正在测试一种在优化后可能提供出色并行性的驱动程序。 技巧是,它不会在Spark分区内并行化(访问DB2时),因此要求是告诉我们我们要多少个并行线程,并针对每个线程进行查询。 虽然我曾希望通过一个DataFrame对象数组来循环执行此操作,但我仍无法弄清楚如何使用DataFrame对象数组来编写Scala。 对于蛮力测试,我做了:
val DF1 = sqlContext.read.format("jdbc"). ...yada yada
val DF2 = sqlContext.read.format("jdbc"). ...yada yada
val DF3 = sqlContext.read.format("jdbc"). ...yada yada
val DF4 = sqlContext.read.format("jdbc"). ...yada yada
val unionDF=(((DF1.unionAll(DF2)).unionAll(DF3)).unionAll(DF4))
这对于并行化为4个分区非常有用。 我宁愿循环执行此操作,但看来我需要类似以下内容:
var myDF = new Array [DataFrame](parallelBreakdown)...并且DataFrame不是类型。 有没有使用蛮力方法的想法? 谢谢,
DataFrame确实是一种类型
import org.apache.spark.sql.DataFrame
我能够定义一个功能
def querier(dim_vals: Array[String]): = {
dim_vals.flatMap( dim_val =>
sql(MY_QUERY))
}
它返回Array[DataFrame]
,我能够使用Robert Congiu的答案来创建单个数据.show()
,并在其上调用.show()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.