繁体   English   中英

Scala / Spark数据帧数组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM