在Spark 2.0中是否已解除了单个SparkContext的限制?

斯蒂芬·博斯(StephenBoesch)

关于Spark 2.0支持多个SparkContexts的讨论很多。支持它的配置变量已经存在了很长时间,但实际上并不有效。

$SPARK_HOME/conf/spark-defaults.conf

spark.driver.allowMultipleContexts true

让我们验证属性是否被识别:

scala>     println(s"allowMultiCtx = ${sc.getConf.get("spark.driver.allowMultipleContexts")}")
allowMultiCtx = true

这是一个小的poc程序:

import org.apache.spark._
import org.apache.spark.streaming._
println(s"allowMultiCtx = ${sc.getConf.get("spark.driver.allowMultipleContexts")}")
def createAndStartFileStream(dir: String) = {
  val sc = new SparkContext("local[1]",s"Spark-$dir" /*,conf*/)
  val ssc = new StreamingContext(sc, Seconds(4))
  val dstream = ssc.textFileStream(dir)
  val valuesCounts = dstream.countByValue()
  ssc.start
  ssc.awaitTermination
}
val dirs = Seq("data10m", "data50m", "dataSmall").map { d =>
  s"/shared/demo/data/$d"
}
dirs.foreach{ d =>
  createAndStartFileStream(d)
}

但是,当该功能不成功时尝试使用的方法:

16/08/14 11:38:55 WARN SparkContext: Multiple running SparkContexts detected 
in the same JVM!
org.apache.spark.SparkException: Only one SparkContext may be running in
this JVM (see SPARK-2243). To ignore this error, 
set spark.driver.allowMultipleContexts = true. 
The currently running SparkContext was created at:
org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:814)
org.apache.spark.repl.Main$.createSparkSession(Main.scala:95)

任何人都对如何使用多个上下文有任何见解?

斯蒂芬·博斯(StephenBoesch)

对于@LostInOverflow,此功能将无法修复。这是那个吉拉的信息

SPARK-2243在同一JVM中支持多个SparkContext

https://issues.apache.org/jira/browse/SPARK-2243

肖恩·欧文(Sean Owen)添加了评论-16 / Jan / 16 17:35您说您担心过度使用集群来执行不需要太多资源的步骤。这就是动态分配的目的:执行程序的数量随负载而增加和减少。如果一个上下文已经在使用所有群集资源,是的,则不会执行任何操作。但是,第二种情况也没有。该群集已被完全使用。我不知道您指的是什么开销,但是可以肯定一个运行N个作业的上下文比运行N个作业的N个上下文更忙。它的开销较高,但总开销较低。这不仅仅是导致您选择一种架构而不是另一种架构的原因。通常,Spark始终为每个JVM假定一个上下文,并且我看不到这一变化,这就是为什么我最终关闭了它。我不

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Spark 2.0中是否已解除了单个SparkContext的限制?

来自分类Dev

Spark 版本 2 中的 HiveContext

来自分类Dev

如何在 Spark 2 中搜索结构?

来自分类Dev

Spark 2 到 Spark 1.6

来自分类Dev

如何在Spark2.4的spark2-shell中读取Avro文件?

来自分类Dev

在 Spark 2.x 中的 JDBC 中设置 fetchSize?

来自分类Dev

在Python中从MongoDB GridFS加载Spark 2.x DataFrame

来自分类Dev

Spark 2 中窗口函数的并行性

来自分类Dev

如何在 spark 2(java) 中创建广播变量?

来自分类Dev

Scala 比较 2 个 Spark 数据帧中的值

来自分类Dev

基于 Spark 中 2 列组合的新列

来自分类Dev

Spark流丢失SparkContext

来自分类Dev

计数2个元素Spark

来自分类Dev

从EC2实例中调用spark-ec2:与主机的SSH连接被拒绝

来自分类Dev

使用 spark 版本 2 在 HIVE 中哪个更有效,最大或按 desc 限制 1 排序

来自分类Dev

为什么Spark RDD分区的HDFS限制为2GB?

来自分类Dev

spark2-submit 与 spark-submit 不同

来自分类Dev

spark2.xx是否支持三角洲湖泊

来自分类Dev

Spark PairRDD和DataFrame是否已索引?

来自分类Dev

Spark SQL失败,因为“常量池已超过JVM限制0xFFFF”

来自分类Dev

在Spark mllib中,如何在LogisticRegressionWithLBFGS中设置L2正则参数

来自分类Dev

我可以从Apache Spark UDF中返回Tuple2吗(在Java中)?

来自分类Dev

Spark RDD中的存储级别MEMORY_AND_DISK_2()引发异常

来自分类Dev

SPARK-在数组中的值上连接2个数据框

来自分类Dev

将JavaRDD <Tuple2 <Object,long [] >>转换为Java中的Spark数据集<Row>

来自分类Dev

Spark Java - 为什么 Tuple2 不能作为 map 中的函数参数?

来自分类Dev

比较 2 个 Spark 数据帧中的字符串值

来自分类Dev

Spark + Java 中从 String 到 Tuple2<String, Long> 的映射

来自分类Dev

使用优化的 DSL 为 spark 中的每一行生成 2 行

Related 相关文章

  1. 1

    在Spark 2.0中是否已解除了单个SparkContext的限制?

  2. 2

    Spark 版本 2 中的 HiveContext

  3. 3

    如何在 Spark 2 中搜索结构?

  4. 4

    Spark 2 到 Spark 1.6

  5. 5

    如何在Spark2.4的spark2-shell中读取Avro文件?

  6. 6

    在 Spark 2.x 中的 JDBC 中设置 fetchSize?

  7. 7

    在Python中从MongoDB GridFS加载Spark 2.x DataFrame

  8. 8

    Spark 2 中窗口函数的并行性

  9. 9

    如何在 spark 2(java) 中创建广播变量?

  10. 10

    Scala 比较 2 个 Spark 数据帧中的值

  11. 11

    基于 Spark 中 2 列组合的新列

  12. 12

    Spark流丢失SparkContext

  13. 13

    计数2个元素Spark

  14. 14

    从EC2实例中调用spark-ec2:与主机的SSH连接被拒绝

  15. 15

    使用 spark 版本 2 在 HIVE 中哪个更有效,最大或按 desc 限制 1 排序

  16. 16

    为什么Spark RDD分区的HDFS限制为2GB?

  17. 17

    spark2-submit 与 spark-submit 不同

  18. 18

    spark2.xx是否支持三角洲湖泊

  19. 19

    Spark PairRDD和DataFrame是否已索引?

  20. 20

    Spark SQL失败,因为“常量池已超过JVM限制0xFFFF”

  21. 21

    在Spark mllib中,如何在LogisticRegressionWithLBFGS中设置L2正则参数

  22. 22

    我可以从Apache Spark UDF中返回Tuple2吗(在Java中)?

  23. 23

    Spark RDD中的存储级别MEMORY_AND_DISK_2()引发异常

  24. 24

    SPARK-在数组中的值上连接2个数据框

  25. 25

    将JavaRDD <Tuple2 <Object,long [] >>转换为Java中的Spark数据集<Row>

  26. 26

    Spark Java - 为什么 Tuple2 不能作为 map 中的函数参数?

  27. 27

    比较 2 个 Spark 数据帧中的字符串值

  28. 28

    Spark + Java 中从 String 到 Tuple2<String, Long> 的映射

  29. 29

    使用优化的 DSL 为 spark 中的每一行生成 2 行

热门标签

归档