当前位置: 首页 > news >正文

做设计都有什么网站/青海seo技术培训

做设计都有什么网站,青海seo技术培训,网站建设公司上海做网站公司,在家创业网站建设Spark Application能够在集群中并行执行,其关键是抽象出RDD的概念(详见RDD 细解),也使得Spark Application的开发变得简单明了。下图浓缩了Spark的编程模型。 1:Spark应用程序的结构Spark应用程序可分两部分&#xff1…
      Spark Application能够在集群中并行执行,其关键是抽象出RDD的概念(详见RDD 细解),也使得Spark Application的开发变得简单明了。下图浓缩了Spark的编程模型。

 
   
1:Spark应用程序的结构
Spark应用程序可分两部分:driver部分和executor部分初始化SparkContext和主体程序
A:driver部分
driver部分主要是对SparkContext进行配置、初始化以及关闭。初始化SparkContext是为了构建Spark应用程序的执行环境,在初始化SparkContext,要先导入一些Spark的类和隐式转换;在executor部分执行完成后,须要将SparkContext关闭。driver部分的基本代码框架例如以下:
package week2import org.apache.spark.{SparkContext, SparkConf}
import org.apache.spark.SparkContext._object WordCount1 {def main(args: Array[String]) {if (args.length == 0) {System.err.println("Usage: bin/spark-submit [options] --class week2.WordCount1 WordCount.jar <file1> ")System.exit(1)}val conf = new SparkConf().setAppName("WordCount1")val sc = new SparkContext(conf)。。。

//executor部分 sc.stop() } }

      要注意的是,Spark1.0.0因为採用了spark-submit统一的应用程序提交工具,代码上有所改变:
  • 不须要在代码里将应用程序本身通过addJars上传给资源管理器
  • 添加了history server,须要在代码末尾关闭SparkContext,才干将完整的执行信息公布到history server。

B:executor部分
Spark应用程序的executor部分是对数据的处理,数据分三种:
  • 原生数据,包括输入的数据和输出的数据
    • 对于输入原生数据,Spark眼下提供了两种:
      • scala集合数据集,如Array(1,2,3,4,5),Spark使用parallelize方法转换成RDD。

      • hadoop数据集,Spark支持存储在hadoop上的文件和hadoop支持的其它文件系统,如本地文件、HBase、SequenceFile和Hadoop的输入格式。比如Spark使用txtFile方法能够将本地文件或HDFS文件转换成RDD。

    • 对于输出数据,Spark除了支持以上两种数据。还支持scala标量
      • 生成Scala标量数据,如count(返回RDD中元素的个数)、reduce、fold/aggregate;返回几个标量,如take(返回前几个元素)。
      • 生成Scala集合数据集,如collect(把RDD中的全部元素倒入 Scala集合类型)、lookup(查找相应key的全部值)。

      • 生成hadoop数据集,如saveAsTextFile、saveAsSequenceFile
  • RDD。Spark进行并行运算的基本单位。其细节參见RDD 细解。

    RDD提供了四种算子:

    • 输入算子。将原生数据转换成RDD,如parallelize、txtFile等
    • 转换算子,最基本的算子,是Spark生成DAG图的对象。转换算子并不马上运行,在触发行动算子后再提交给driver处理。生成DAG图 -->  Stage --> Task  --> Worker运行。按转化算子在DAG图中作用。能够分成两种:
      • 窄依赖算子
        • 输入输出一对一的算子,且结果RDD的分区结构不变。主要是map、flatMap。
        • 输入输出一对一,但结果RDD的分区结构发生了变化。如union、coalesce;
        • 从输入中选择部分元素的算子,如filter、distinct、subtract、sample。
      • 宽依赖算子,宽依赖会涉及shuffle类,在DAG图解析时以此为边界产生Stage。如图所看到的。
        • 对单个RDD基于key进行重组和reduce,如groupByKey、reduceByKey。
        • 对两个RDD基于key进行join和重组。如join、cogroup。

    • 缓存算子。对于要多次使用的RDD,能够缓冲加快执行速度,对关键数据能够採用多备份缓存。
    • 行动算子,将运算结果RDD转换成原生数据,如count、reduce、collect、saveAsTextFile等。

  • 共享变量。在Spark执行时,一个函数传递给RDD内的patition操作时。该函数所用到的变量在每一个运算节点上都复制并维护了一份,而且各个节点之间不会相互影响。

    可是在Spark Application中。可能须要共享一些变量,提供Task或驱动程序使用。Spark提供了两种共享变量:

    • 广播变量,能够缓存到各个节点的共享变量,通常为仅仅读,用法:
scala> val broadcastVar = sc.broadcast(Array(1, 2, 3))
scala> broadcastVar.value
  • 累计器。仅仅支持加法操作的变量,能够实现计数器和变量求和。用户能够调用SparkContext.accumulator(v)创建一个初始值为v的累加器。而执行在集群上的Task能够使用“+=”操作。但这些任务却不能读取;仅仅有驱动程序才干获取累加器的值。

    用法:

cala> val accum = sc.accumulator(0)
scala> sc.parallelize(Array(1, 2, 3, 4)).foreach(x => accum += x)

2:例程示范
以下拿一个简单的样例WorCount来演示样例:

  
3:Spark应用程序的多语言编程
Spark提供了Scala、Python、Java开发API。

用户能够依据自己的喜好选择对应的编程语言和工具。

建议使用Scala和IntelliJ IDEA开发。

关于多语言开发能够參考:Spark1.0.0 多语言编程
关于Spark应用程序的部署能够參考:Spark1.0.0 应用程序部署工具spark-submit
关于Spark应用程序的执行架构能够參考:Spark1.0.0 执行架构基本概念

http://www.lbrq.cn/news/1238707.html

相关文章:

  • 招聘网站如何做SEO/营销排名seo
  • 沧州河间疫情最新消息今天/站长工具seo优化建议
  • 简单的网站怎么做/注册城乡规划师报考条件
  • 什么网站上可以做国际贸易/西安seo优化工作室
  • 番禺做网站服务/百度引流推广哪家好
  • 网站开发用什么软件/小程序定制
  • 新闻网站域名/百度网盘会员
  • 利用vs做网站/seo课
  • 网站模板和定制的区别/seo 公司
  • 上海弄网站的/网络营销的整体概念
  • 阜阳做网站的公司/泰州seo排名扣费
  • 日常网站维护/推广关键词怎么设置
  • 建和做网站/杭州seo公司服务
  • 欧美浅蓝色新闻网站css模板/推广论坛有哪些
  • 南京网站建设王道下拉??/外贸网站推广怎么做
  • 徐州市中宇建设工程有限公司网站/万能优化大师下载
  • 建行网站/网页搜索优化
  • 北京网站制作公司招聘信息/全球搜官网
  • 如何用css做网站/工厂管理培训课程
  • wordpress 蓝色主题/百度seo发帖推广
  • 奉化建设网站/推广普通话演讲稿
  • 深圳建设网站上市/营销推广工作内容
  • 网站建设与管理的现状/百度首页排名优化平台
  • 网站开发参考文献期刊/google广告投放
  • wordpress add_action/武汉排名seo公司
  • 大型集团网站建设/企业网站设计规范
  • 许昌做网站公司报价/域名ip查询入口
  • 青岛做网站建网站/站长统计幸福宝2022年排行榜
  • 网站建设及维护业务服务合同/搜索词分析
  • 安宁网站建设 熊掌/怎么理解搜索引擎优化
  • 《汇编语言:基于X86处理器》第11章 MS-Windows编程(3)
  • uniapp 数组的用法
  • Removing Digits(Dynamic Programming)
  • 关于echarts的性能优化考虑
  • 探索延迟生效变量类:一种灵活的状态管理机制
  • Oracle 11gR2 Clusterware应知应会