`
bit1129
  • 浏览: 1052993 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【Spark二十三】未分类

 
阅读更多

什么是DAG

DAG是有向无环图,它的功能是在Spark运行应用程序(Application)时,首先建立一个有向无环图(DAG),图上的每个节点是一个操作,而Spark的操作分为两类,一类是Transform,一类是Action。在应用程序执行过程中,只有遇到Action类的操作时,才会出发作业(Job)的提交。一个应用程序可以包含多个作业。在提交作业后,首先根据DAG计算这个作业包含哪些Stage,然后每个Stage分解成一些Task

 

SparkContext、SparkConf和SparkEnv

在实例化SparkContext的过程中,会实例化SparkEnv,为了实例化SparkEnv,Spark启动了多个环节,这从SparkEnv的构造函数中即可看到端倪

 

 

    new SparkEnv(
      executorId,
      actorSystem,
      serializer,
      closureSerializer,
      cacheManager,
      mapOutputTracker,
      shuffleManager,
      broadcastManager,
      blockTransferService,
      blockManager,
      securityManager,
      httpFileServer,
      sparkFilesDir,
      metricsSystem,
      shuffleMemoryManager,
      conf

 

 

上面的每个变量都对应着Spark的某个方面,每个变量所属的类型如下:

 

 

class SparkEnv (
    val executorId: String,
    val actorSystem: ActorSystem,
    val serializer: Serializer,
    val closureSerializer: Serializer,
    val cacheManager: CacheManager,
    val mapOutputTracker: MapOutputTracker,
    val shuffleManager: ShuffleManager,
    val broadcastManager: BroadcastManager,
    val blockTransferService: BlockTransferService,
    val blockManager: BlockManager,
    val securityManager: SecurityManager,
    val httpFileServer: HttpFileServer,
    val sparkFilesDir: String,
    val metricsSystem: MetricsSystem,
    val shuffleMemoryManager: ShuffleMemoryManager,
    val conf: SparkConf) extends Logging {
        ////方法体
    }


 
Spark对于SparkEnv的ScalaDoc说明是:
/**
 * :: DeveloperApi ::
 * Holds all the runtime environment objects for a running Spark instance (either master or worker),
 * including the serializer, Akka actor system, block manager, map output tracker, etc. Currently
 * Spark code finds the SparkEnv through a global variable, so all the threads can access the same
 * SparkEnv. It can be accessed by SparkEnv.get (e.g. after creating a SparkContext).
 *
 * NOTE: This is not intended for external use. This is exposed for Shark and may be made private
 *       in a future release.
 */
 
 3. 如果
val rdd = sc.textFile("file:///D:/words"),如果words是一个目录,而它底下有N个文本文件,那么最终的数据结果中有N个文件,分别是part-00000到part-0000X(X=N-1),这表示Spark对N个文件进行了分区,产生N个分区,每个分区对应一个Task?理论是这样,实际上,分区数还要看文件划分的block块个数
 
package spark.examples.rdd

import org.apache.spark.{SparkContext, SparkConf}

object SparkSaveMultiFiles {

  def main(args: Array[String]) {
    val conf = new SparkConf().setAppName("SparkRDDJoin").setMaster("local");
    val sc = new SparkContext(conf);
    val rdd = sc.textFile("file:///D:/wordcount")
    val result = rdd.filter(_.contains("WordCount"))
    result.foreach(println)
  }
}
 如上代码,d:/wordcount目录保存了多个文本文件
 
 
 
 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Spark中文分词+文本分类.rar

    Scala中文分词+SparkML逻辑回归 实现 中文文本分类

    Spark 垃圾邮件分类

    基于Spark mlib 的垃圾邮件分类 实现文档 使用Scala实现

    spark-mlib-master分类算法

    spark-mlib-master分类算法,简单案例实现

    spark商业实战三部曲

    2.2.1 第二代Tungsten引擎... 16 2.2.2 SparkSession. 16 2.2.3 累加器API 17 2.3 Spark 2.2 SQL. 19 2.3.1 Spark SQL. 20 2.3.2 DataFrame和DatasetAPI 20 2.3.3 Timed Window.. 21 2.4 Spark 2.2 Streaming...

    Spark相关电子书二

    5、Spark快速数据处理(前三章).pdf 6、Spark快速数据处理.pdf 7、Spark实战高手之路-第4章Spark内核揭秘.zip 8、Spark源码解读.pdf 9、第2期Spark纯实战公益大讲坛:通过案例实战掌握Spark编程模型内幕.pptx

    三种方式的spark on kubernetes对比

    三种方式的spark on kubernetes对比,第一种:spark原生支持Kubernetes资源调度;第二种:google集成的Kubernetes的spark插件sparkoperator;第三种:standalone方式运行spark集群

    大数据Spark二次开发.pdf

    大数据Spark二次开发.pdf

    Spark 入门实战系列

    Spark 入门实战系列,适合初学者,文档包括十部分内容,质量很好,为了感谢文档作者,也为了帮助更多的人入门,传播作者的心血,特此友情转贴: 1.Spark及其生态圈简介.pdf 2.Spark编译与部署(上)--基础环境搭建....

    Spark零基础思维导图(内含spark-core ,spark-streaming,spark-sql),总结的很全面.zip

    Spark零基础思维导图(内含spark-core ,spark-streaming,spark-sql),总结的很全面。 Spark零基础思维导图(内含spark-core ,spark-streaming,spark-sql)。 Spark零基础思维导图(内含spark-core ,spark-streaming,...

    基于 Spark 框架的文本主题特征提取与分类

    主题模型目前广泛应用于机器学习与自然语言分析等领域,该模型自动分析一系列未识别的文档,试图通过统计信息发现多个抽象主题。主题模型在新闻文本智能处理与推荐领域的应用前景十分广阔。本文首先从文档自动分类为...

    大数据Spark企业级实战

    《大数据Spark企业级实战》详细解析了企业级Spark开发所需的几乎所有技术内容,涵盖Spark的架构设计、Spark的集群搭建、Spark内核的解析、Spark SQL、MLLib、GraphX、Spark Streaming、Tachyon、SparkR、Spark多语言...

    Spark大数据处理

    第1章 Spark简介 1.1 Spark是什么 1.2 Spark生态系统BDAS 1.3 Spark架构 ...3.3 Spark算子分类及功能 33.3.1 Value型Transformation算子 3.3.2 Key-Value型Transformation算子 3.3.3 Actions算子 3.4 本章小结

    Spark和TiDB (Spark on TiDB)

    SparkTI (Spark on TiDB)是TiDB基于Apache Spark的独立于原生系统的计算引擎。它将Spark和TiDB深度集成,在原有MySQL Workload之外借助Spark支持了更多样的用户场景和API。这个项目在SparkSQL和Catalyst引擎之外实现...

    spark Linux 版本安装包

    spark Linux 版本安装包spark Linux 版本安装包spark Linux 版本安装包spark Linux 版本安装包spark Linux 版本安装包spark Linux 版本安装包spark Linux 版本安装包spark Linux 版本安装包spark Linux 版本安装包...

    Spark从入门到精通

    上百节课详细讲解,需要的小伙伴自行百度网盘下载,链接见附件,永久有效。 本课程主要讲解的内容包括:Scala...三、Spark核心编程 四、Spark内核源码深度剖析 五、Spark性能优化 六、Spark SQL 七、Spark Streaming

    基于spark的大数据论文资料

    本资料是集合20篇知网被引最高的基于spark的大数据论文,包括大数据Spark技术研究_刘峰波、大数据下基于Spark的电商实时推荐系统的设计与实现_岑凯伦、基于Spark的Apriori算法的改进_牛海玲、基于Spark的大数据混合...

    基于 Spark ML Lib 做的垃圾邮件的分类毕业设计完整源码

    基于 Spark ML Lib 做的垃圾邮件的分类毕业设计 自带数据集的【英文的垃圾邮件】 基于Java语言实现 演示视频是: https://www.bilibili.com/video/BV1jS4y1w7U8/

    spark笔记整理文档

    spark笔记整理文档spark笔记整理文档spark笔记整理文档

    Spark商业实战三部曲源码

    Spark商业实战三部曲源码,包含书中所用到的代码以及用到的数据集

    spark相关jar包

    spark相关jar包

Global site tag (gtag.js) - Google Analytics