spark program guide 官网翻译

概述

Spark 应用由driver program 组成,driver program运行用户的主函数,在集群内并行执行各种操作

主要抽象RDD: 

  spark提供RDD,是贯穿整个集群中所有节点的分区元素的集合,能够被并行操作。

RDDS来源:

  1.Hadoop文件系统或支持Hadoop的文件系统中操作一个文件

  2.driver program中已存在的scala集合

3.从另一个RDD转换得到

主要抽象shared variables共享变量:

  共享变量也可以被并行操作

  默认的,当spark将一个运行的函数作为在不同的节点上的一系列的tasks集合时,共享变量传输函数用到的所有变量。

  变量分享的范围:tasks内/tasks之间和整个driver program

  spark支持两种类型的共享变量:

     broadcast变量:被用来在所有节点的内存缓存值

     accumulators(蓄能器):which are variables that are only “added” to, such as     

                counters and sums.

初始化spark

spark程序做的第一件事情就是:创建一个SparkContext对象(告诉spark怎么连接到集群)

为了创建SparkContext,需要先build一个SparkConf对象(包含应用相关的信息)

注意:一个JVM中只能有一个SparkContext处于aitve,想创建新的必须先停止旧的

   

       val conf =newSparkConf().setAppName(appName).setMaster(master)

       newSparkContext(conf)

appName用来指定你的应用的名字,展示在集群UI中

master是Spark,Mesos,YARN cluster URL 或 一个指定的”local”字符串以本地模式运行

实际在集群中运行时,不需要在程序中指定这些,而是用spark-submit。

当然,对于本地测试和单元测试,能在spark运行中通过程序设置”local”

并行化集合

在driver program中,存在sc后,可利用SparkContext的paralleliz方法创建Parallelized集合,集合内的元素被复制去形成一个分布式的数据集(能被并行操作的)。如下创建并行化的集合(包括1-5)

             val
data =Array(1,2,3,4,5)
             val
distData =
sc.parallelize(data)

并行化集合的一个重要的参数是:将数据集切分成分区的个数。spark将为集群中每一个分区运行一个task。通常,集群中每一个CPU会有2-4个分区。正常情况下,分区数是由spark根据集群情况自动设置的。当然也可以重载parallelize()手动设置。如:sc.parallelize(data, 10)

外部数据集

text files, SequenceFiles, and any other Hadoop InputFormat.

时间: 2024-10-06 12:21:05

spark program guide 官网翻译的相关文章

卸载 Cloudera Manager 5.1.x.和 相关软件【官网翻译】

问题导读: 1.不同的安装方式,卸载方法存在什么区别?2.不同的操作系统,卸载 Cloudera Manager Server and 数据库有什么区别? 重新安装不完整如果你来到这里,因为你的安装没有完成(例如,如果它是由一个虚拟机超时中断),和你想继续安装,然后重新安装,做到以下几点:删除文件和目录: 个人建议:这一步虽然是官网这么做,但是下面命令还是不要执行,因为我们后面还会用到下面命令 /usr/share/cmf/uninstall-cloudera-manager.sh 复制代码 当

android測试工具MonkeyRunner--google官网翻译

近期在复习之前的笔记,在回想MonkeyRunner时看了看google官网的内容,写得不错.就翻译出来分享下.事实上google官网真是一个学习的好地方. 基础知识 MonkeyRunner工具提供了一个API用于在Android代码之外控制Android设备和模拟器.通过MonkeyRunner.您能够写出一个Python程序去安装一个Android应用程序或測试包.执行它,向它发送模拟击键.截取它的用户界面图片.并将截图存储于工作站上.monkeyrunner工具的主要设计目的是用于測试功

android测试工具MonkeyRunner--google官网翻译

最近在复习之前的笔记,在回顾MonkeyRunner时看了看google官网的内容,写得不错,就翻译出来分享下.其实google官网真是一个学习的好地方. 基础知识 MonkeyRunner工具提供了一个API用于在Android代码之外控制Android设备和模拟器.通过MonkeyRunner,您可以写出一个Python程序去安装一个Android应用程序或测试包,运行它,向它发送模拟击键,截取它的用户界面图片,并将截图存储于工作站上.monkeyrunner工具的主要设计目的是用于测试功能

【工利其器】工具使用之(四)Android System Trace篇(1)官网翻译

前言 Android 开发者官网中对该工具有专门的介绍,本篇文章作为System Trace系列的开头,笔者先不做任何介绍,仅仅翻译一下官网的介绍.在后续的文章中再整理一份学习教程,以及笔者的实践经历.官网中对System Trace的介绍文档路径为[https://developer.android.google.cn/studio/command-line/systrace?hl=en#java].或者在进入到官网的首页后,按照Android Studio > USER GUIDE > C

Openstack安装部署指南翻译系列 之 说明(Pike版本官网翻译)

从部署实践来看,部署工作有两大困难,一个是架构设计,一个是排查错误.其中,当部署过程中出现错误,需要排查的时候,如果不了解基础的系统结构原理和基础的安装步骤,是很难定位和解决问题的. 现在Openstack的部署有很多可选项,主要有: 1)根据社区官网最基础的安装文档根据设计对每一个service组件进行安装,这种安装方式最基础,全手工: 2)使用Mirantis公司的Fuel工具进行部署.这种部署方式非常高效,界面友好,Fuel工具真正实现了一键部署,只要设计好网络和功能节点分布,一键部署完成

Spark SQL的官网解释

一.官网位置 1.位置 2.解释 官网位置 DataSet1.6出现的 SchemaRDD < 1.3 1.3版本前叫 SchemaRDD 1.3以后 叫DataFrame DataSet支持 Scala , JAVA 不支持python DataFrame 支持四种 JAVA,Scala.Python,R DataFrame:并不是spark sql独创的,原来就有的,从其他框架借鉴过来的 二.DataFrame 注意事项 1.注意 分布式的数据集 按列进行组织的 就是等于关系型数据库总的一张

uiautomator android 官网翻译

http://www.jianshu.com/p/7718860ec657 2016.07.25 20:59 字数 3675 Android UIAutomator浅谈 -------------------------------------------------------------------------------- 简介 Uiautomator是谷歌推出的,用于UI自动化测试的工具,也就是普通的手工测试,点击每个控件元素看看输出的结果是否符合预期.比如登陆界面分别输入正确和错误的用

Knockoutjs官网翻译系列(三) 使用Computed Observables

书接上回,前面谈到了在视图模型中可以定义普通的observable属性以及observableArray属性实现与UI元素的双向绑定,这一节我们继续探讨第三种可实现绑定的属性类型:computed observables,我称它为计算observable(说实话关于observable怎么翻译我还真拿不准). 要是你在视图对象中已经定义了一个叫firstName的observable属性和一个叫lastName的observable属性,而你想显示这个人的全名那要如何处理呢?这种情况下就到了co

kafka-0.10.0官网翻译(一)入门指南 Getting Started

1.1 IntroductionKafka is a distributed streaming platform. What exactly does that mean?kafka是一个分布式的流式平台,它到底是什么意思? We think of a streaming platform as having three key capabilities:我们认为流式平台有以下三个主要的功能: It let's you publish and subscribe to streams of r