运维系列:08、Spark Shell

./bin/spark-shell --master spark://MASTER:PORT

启动

集群模式:

MASTER=spark://`hostname`:7077 bin/spark-shell

bin/spark-shell --master spark://es122:7077

单机模式:

bin/spark-shell local[4]

加载一个text文件

Spark context available as sc.

连接到Spark的master之后,若集群中没有分布式文件系统,Spark会在集群中每一台机器上加载数据,所以要确保集群中的每个节点上都有完整数据。

wget http://www-stat.stanford.edu/~tibs/ElemStatLearn/datasets/spam.data

单机时:

var inFile = sc.textFile("./spam.data")

集群时:

import org.apache.spark.SparkFiles;

var file = sc.addFile("spam.data")

var inFile = sc.textFile(SparkFiles.get("spam.data"))

处理

文件的一行,按空格拆分,然后转成double。

var nums = inFile.map(x => x.split(" ").map(_.toDouble))

注:x => x.toDouble 等价于_.toDouble

查看:

inFile.first()

nums.first()

逻辑回归:

import org.apache.spark.util.Vector

case class DataPoint(x: Vector, y: Double)

def parsePoint(x: Array[Double]): DataPoint = {

DataPoint(new Vector(x.slice(0, x.size-2 )), x(x.size -1 ))

}

时间: 2024-11-03 15:03:55

运维系列:08、Spark Shell的相关文章

自动化运维系列之Ansible命令应用基础(模块的应用)【持续更新中···】

自动化运维系列之Ansible命令应用基础(模块的应用) 模块简介 Ansible可以使用命令行方式进行自动化管理,基本语法如下: ansible <host-pattern> [-m module_name] [-a args] <host-pattern> 对哪些主机生效 [-m module_name] 需要使用的模块 [-a args] 模块特有的参数,这里在使用时需加单引号哦! Ansible的命令行管理工具都是由一系列模块.参数所支持的,可以在命令行后加上-h或--he

自动化运维系列之Ansible的YAML、基础元素介绍

自动化运维系列之Ansible的YAML.基础元素介绍 YAML简介 YAML是一种用来表达资料序列的格式.YAML是YAML Ain't Markup Lanaguage的缩写,即YAML不是XML. 特点 1.具有很好的可读性,易于实现: 2.表达能力强,扩展性好: 3.和脚本语言的交互性好: 4.有一个一致的信息模型: 5.可以基于流来处理. YAML语法 YAML的语法和其他语言类似,也可以表达散列表.标量等数据结构. YAML结构通过空格来展示:序列里的项用"-"来代表:Ma

运维人员如何学好shell脚本编程

核心:练-->想-->再练-->再想! 运维人员如何学好shell脚本编程老男孩linux早期毕业的学生谈如何学好shell编程技巧该生毕业后一年任职一家近千人公司的运维经理.目前就职小米科技1.基本语法,敲n+1遍.为什么不是n遍那,因为n遍是你刚开始为了编程而努力的几天,  1是说你以后要每天都要写写想想,至少是要看看.2.各种基本语法,if多种判断都要会,这样做不是为了什么都要学而是为了看懂别人的  代码. 这个要写一段时间,各种都用.3.解决上边说的问题,各种语法都要学的问题,现

自动化运维系列之Ansible的简介与安装【持续更新···】

自动化运维系列之Ansible的简介与安装 自动化运维工具简介 由于互联网的快速发展导致产品更新换代的速度逐渐加快,这就导致运维人员的日常工作会大大增加,如果还是按照传统方式进行维护工作会使工作效率低下.此时,就需要部署自动化运维了,自动化运维会尽可能安全.高效的完成运维人员的日常工作. 自动化运维工具划分为两类:一类是需要使用代理工具的,也就是基于专用的Agent程序来完成管理功能,如:Puppet.Func.Zabbix等:另一类是不需要配置代理工具的,可以直接基于SSH服务来完成管理功能,

自动化运维系列之SaltStack批量部署Apache服务

自动化运维系列之SaltStack批量部署Apache服务 saltstack原理 SalStack由master和minion构成,master是服务端,表示一台服务器:minion是客户端,表示多台服务器.在Master上发送命令给符合条件的minion,Minion就会执行相应的命令.Master和Minion之间是通过ZeroMQ(消息队列)进行通信的. SaltStack的Master端的监听端口是4505和4506,4505端口是Master和Minion认证通信端口:4506端口是

Azure运维系列 3:善用Azure捕获功能事半功倍

在使用虚拟机的过程中,肯定会使用到虚拟机模板,从而简化我们的日常操作.如果没有虚拟机模板可能需要花费很多的时间来创建多个相同环境的虚拟机,所以在使用Azure的时候我们会发现Azure本身已经有不少的虚拟机操作系统版本和日期进行选择,但这最多也只是简单的包含操作系统和补丁更新,并没有包含我们需要的应用环境. 那么既然Azure并没有我们需要的应用环境,那我们可以通过捕获自定义映像的方式,来创建我们自己适用的虚拟机模板映像.首先,我们需要在虚拟机在搭建好我们需要的环境,然后通过运行sysprep来

Python自动化运维系列之Django Form表单验证

Form表单验证 Django核心功能组件之一,虽然也可以在前端使用JS对表单验证, 但是Django中已经为我们准备好的Form功能还算是很强大的,有时候比较适合运维,为我们简化了很多前端开发工作. Django最主要的几个功能有4个     ·  生成HTML标签     ·  验证数据(表单错误信息提示)     ·  HTML 表单保留上次提交数据     ·  初始化页面表单内容 Django的Form内容还是挺多的,我们可以从一个简单的登陆验证例子来看看Form的基本功能使用 1)新

运维系列:01、Spark编译与打包

1.SBT编译 vi project/SparkBuild.scala 修改仓库: "Maven Repository"     at "http://172.16.219.120:8080/nexus/content/groups/public/" SPARK_HADOOP_VERSION=2.4.0.2.1.2.0-402 SPARK_YARN=true sbt/sbt clean assembly 2.MAVEN编译 export MAVEN_OPTS=&qu

运维系列:06、Spark调优

1.垃圾回收 在conf/spark-env.sh中添加 SPARK_JAVA_OPTS=-verberos:gc -XX;+PrintGCDetails -XX:+PrintGCTimeStamps 如果发现集群耗费过多时间在垃圾回收上,可以通过spark.storage.memoryFaction调低RDD缓存的使用,这个值的默认值是0.66. 如果要运行的是耗时很久的Spark作业,可以通过设定spark.cleaner.ttl为一个非零值n,表示每隔n秒清理一次元数据.默认Spark不会