开发者社区> 云hbase+spark> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

SparkStreming:使用Checkpoint创建StreamingContext修改executor-cores、executor-memory等资源信息不生效。

简介: 在使用SparkStreaming时,使用StreamingContext.getOrCreate(checkpointDirectory, functionToCreateContext _)创建StreamingContext。
+关注继续查看

在使用SparkStreaming时,使用StreamingContext.getOrCreate(checkpointDirectory, functionToCreateContext _)创建StreamingContext。代码示例如下:

// Function to create and setup a new StreamingContext
    def functionToCreateContext(): StreamingContext = {

      val conf = new SparkConf().setAppName("UserBrowse")
      val ssc = new StreamingContext(conf, batchInterval)

      //通过LogHubCursorPosition.BEGIN_CURSOR指定消费Cursor的模式。
      val loghubStream = LoghubUtils.createStream(...)

      loghubStream.checkpoint(batchInterval * 5).foreachRDD { rdd =>

      val spark = SparkSession.builder.config(rdd.sparkContext.getConf)
          .config("spark.serializer", "org.apache.spark.serializer.KryoSerializer")
          .getOrCreate()
      }

      ssc.checkpoint(checkpointDirectory) // set checkpoint directory
      ssc
    }
    // Get StreamingContext from checkpoint data or create a new one
    val context = StreamingContext.getOrCreate(checkpointDirectory, functionToCreateContext _)

此时通过控制台提交Spark任务命令如下:

--class com.test.StreamingText
--jars /spark-it/loghub-spark-0.6.13_2.4.3-1.0.4.jar,/spark-it/loghub-client-lib-0.6.13.jar
--driver-memory 1G 
--driver-cores 1
--executor-cores 3 
--executor-memory 3G
--num-executors 1
--name spark_on_loghub
/spark-it/sparkstreaming-0.0.1-SNAPSHOT.jar
/tmp/checkpoint_location_test 

其中/tmp/checkpoint_location_test 为StreamingContext的checkpoint路径。
运行一段时间后,用户期望修改executor-cores为4,executor-memory 为12G,num-executors为3。那如何修改呢?
由于SparkStreming的运行机制是长久运行,以及checkpoint的设置是为了任务异常能从checkpoint恢复数据。
首次提交任务后,StremingContext会把Spark的配置信息写入到Checkpoint中,包括:executor-cores、num-executors、executor-memory等配置信息。
当任务异常或者重启后,StremingContext会从Checkpoint中读取Spark的配置信息。所以这时如果在控制台修改executor-cores、executor-memory等配置信息,StremingContext不会读取的。
如果需要修改executor-cores、executor-memory等配置信息需要清除Checkpoint路径,或者重新指定一个新的Checkpoint路径。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【Spark Summit East 2017】从容器化Spark负载中获取的经验
本讲义出自Tom Phelan在Spark Summit East 2017上的演讲,Tom Phelan探讨了如何实现高可用性的分布式大数据应用和数据中心主机,并分享了学到的经验教训,并对于如何在一个可靠的、可伸缩的、高性能的环境将大数据应用程序容器化给出了一些提示。
1587 0
【Spark Summit East 2017】使用Spark MLlib和Apache Solr构建实时实体类型识别系统
本讲义出自Khalifeh Aljadda在Spark Summit East 2017上的演讲,由于实体查询系统中的查询一般比较短,所以由于缺少上下文信息,所以不适合使用传统的bag-of-words模型来确定实体类型,本讲义介绍了一个新颖的实体类型识别系统,该系统使用Spark MLlib和Apache Solr构建,能够结合不同来源的线索来分析出需要查询实体。
2145 0
【Spark Summit East 2017】可扩展性机器学习的特征哈希
本讲义出自Nick Pentreath在Spark Summit East 2017上的演讲,主要介绍了特征哈希是用于处理高维特性的一个功能强大的机器学习技术,特征哈希快速、简单、并且节约内存,而且适合在线学习场景,演讲中分享了特征哈希的基本功能,以及如何使用特征哈希在机器学习中的所有功能类型,并介绍了一个在Spark ML管道中使用的更加灵活和强大的转化器。
1994 0
【Spark Summit East 2017】构建于高维文档数据集上的基于时间戳的实时分析查询处理与预测模型
本讲义出自Debasish Das在Spark Summit East 2017上的演讲,主要介绍了对于LuceneDAO进行的扩展,允许其从文档术语的观点来使用时间戳进行搜索和时间过滤,演讲中展示了对于一整套查询生成的API,核心观点是通过理解如何使得 Lucene能够意识到在Spark中时间意识是非常重要的,进而构建交互式分析查询处理和时间序列预测算法。
1874 0
【Spark Summit East 2017】基于Spark构建的Netflix推荐ML Pipeline
本讲义出自Tsai在Spark Summit East 2017上的演讲,主要介绍了Netflix如何使用Apache Spark作为分布式计算框架以及机器学习技术来构建自己的算法来为8000万以上的用户进行个性化推荐,并介绍了在面对Netflix量级的用户带来的挑战中使用的技术和遇到的陷阱。
1548 0
【Spark Summit East 2017】大数据赋能机器学习
本讲义出自Jiao Wang与Yiheng Wang在Spark Summit East 2017上的演讲,在演讲中Jiao Wang与Yiheng Wang分享了Intel以及用户使用开源的Apache Spark分布式深度学习库BigDL构建的大数据机器学习应用。
1692 0
【Spark Summit East 2017】实时业务数据分析
本讲义出自Manish Gupta在Spark Summit East 2017上的演讲,当Redis作为分布式共享内存数据存储来进行类似时间序列数据范围查询分析的时候可以帮助Spark加速45倍。使用Redis的机器学习模型redis-ml将可以允许多应用程序同时使用相同的模型,并对于这些模型的分类和执行进行加速。
1478 0
【Spark Summit East 2017】现代化你的数据仓库的全新“Sparkitecture”
本讲义出自Myles Collins在Spark Summit East 2017上的演讲,主要介绍了面对数据管道增速,聚合和可视化成为一个简化的,自助的方式的挑战,很多组织开始越来越多地转向求助于Spark, Hadoop, Kafka的结合,并且证明了分析型数据库Vertica等关键实现技术是优化企业级数据仓库体系结构的关键。
1275 0
【Spark Summit East 2017】Cornami提升Spark性能与速度
本讲义出自Paul Master在Spark Summit East 2017上的演讲,主要介绍了CORNAMI公司的TruStream技术,一个以高密度处理器核心计算内存结构的新架构。演讲中介绍了如何将Spark集成到TruStream计算结构中来对于一般的Spark任务提供更高性能的计算处理能力,并介绍了目前在多服务器集群上构建的应用上如何使用TruStream与Spark提高算法速度,增加功能并且降低成本以及延迟。
1731 0
【Spark Summit East 2017】Spark中的容错:从生产实践中获取的经验
本讲义出自Jose Soltren在Spark Summit East 2017上的演讲,主要介绍了Spark容错中的螺母和螺栓,他首先简述了Spark中的各种容错机制,然后讨论了YARN上的Spark、调度与资源分配,在演讲中还对于一些用户案例进行了探讨研究并给出了一些需要的工具,最后分享了未来Spark中容错未来的发展方向比如调度器和检查点的变化。
1810 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
ALLUXIO (FORMERLY TACHYON): UNIFY DATA AT MEMORY SPEED - EFFECTIVE USING SPARK WITH ALLUXIO
立即下载
Monitoring the Dynamic Resource Usage of Scala and Python Spark Jobs in Yarn
立即下载
spark替代HIVE实现ETL作业
立即下载