Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 多方法上的单数据帧并行执行_Apache Spark - Fatal编程技术网

Apache spark 多方法上的单数据帧并行执行

Apache spark 多方法上的单数据帧并行执行,apache-spark,Apache Spark,我有一个SparkSQL数据框架,其中包含员工记录的集合 i、 e id、姓名、薪资、部门。我需要执行多个操作并行操作 在同一数据帧上 我使用Scala特性实现了这一点,但我不知道这段代码是否能在集群中正常工作 代码: val pool = Executors.newFixedThreadPool(2) implicit val xc=ExecutionContext.fromExecutorService(pool) val taskC = findEmpRank(df) val t

我有一个SparkSQL数据框架,其中包含员工记录的集合 i、 e id、姓名、薪资、部门。我需要执行多个操作并行操作 在同一数据帧上

我使用Scala特性实现了这一点,但我不知道这段代码是否能在集群中正常工作

代码:

val pool = Executors.newFixedThreadPool(2)
implicit val xc=ExecutionContext.fromExecutorService(pool)

val taskC = findEmpRank(df)
    val taskA = doEmpDistinct(df)
    val taskB = doEmpSum(df)
    Await.result(Future.sequence(Seq(taskC, taskA, taskB)), Duration.Inf)
    }

def doEmpDistinct(df: DataFrame)(implicit xc: ExecutionContext) = Future {
    println("get distinct empno list")
    df.distinct.select("empno").show
}

def doEmpSum(df: DataFrame)(implicit xc: ExecutionContext) = Future {
    println("get AGGREGATE empno list")
    df.agg(sum("sal")).show()
}

def findEmpRank(df: DataFrame)(implicit xc: ExecutionContext) = Future {
    println("get EMP RANK")
    val partitionWindow =  
       Window.partitionBy(col("deptno")).orderBy(col("sal").desc) 
    val rankTest = rank().over(partitionWindow)
    df.select(col("*"), rankTest as "rank").show                       
}

在没有Scala API的情况下,是否仍然可以使用spark并行执行此任务。

是的,我们可以使用Fair Scheduler,但我的问题是,它能否保证将等待所有函数完成,就像等待一样。结果是Scala

是的,我们可以使用Fair Scheduler,但我的问题是它能保证所有功能都会像await.result一样在scala中完成吗

这并不能回答这个问题。您可以搜索类似的问题,或参考页面右侧的相关和链接问题以查找答案。如果您有一个相关但不同的问题,请提出一个新问题,并包括一个指向此问题的链接,以帮助提供上下文。请参阅:提问,获得答案,不要分心这并不能提供问题的答案。您可以搜索类似的问题,或参考页面右侧的相关和链接问题以查找答案。如果您有一个相关但不同的问题,请提出一个新问题,并包括一个指向此问题的链接,以帮助提供上下文。看:问问题,得到答案,不要分心