文档章节

Spark本地模式运行

ksfzhaohui
 ksfzhaohui
发布于 2015/12/19 12:23
字数 676
阅读 1697
收藏 7

1.Spark介绍
Spark是基于map reduce算法实现的分布式计算,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的map reduce的算法。

2.运行模式
本地模式
Standalone模式
Mesoes模式
yarn模式

下面测试一下“本地模式”的运行情况,本次测试在windows7下

1.环境准备

jdk 1.6
Spark 1.2.0   
官网:http://spark.apache.org/downloads.html
或者:http://archive.apache.org/dist/spark/
我们可以下载源码【spark-1.2.0.tgz】自己编译,或者直接下载【spark-1.2.0-bin-hadoop2.4.tgz】
注:本地jdk安装的是1.6,spark1.5+只能在jdk7,8上运行;
Scala  2.11.7  http://www.scala-lang.org/download/
Python 2.7.7  https://www.python.org/downloads/windows/

2.目录

将下载的【spark-1.2.0-bin-hadoop2.4.tgz】解压

bin:方便我们本地模式下的测试的命令
conf:是一些配置模板,我么可以将xxxx.template去掉template,重新配置

默认是直接支持scala和Python运行的,分别执行:spark-shell.cmd和pyspark.cmd

运行spark-shell.cmd:

运行pyspark.cmd:

1.当然spark本身也支持java语言,我们可以通过spark-submit.cmd执行java程序

创建一个maven项目用于测试:

<dependency>
        <groupId>org.apache.spark</groupId>
	<artifactId>spark-core_2.10</artifactId>
	<version>1.2.0</version>
</dependency>

自动会将依赖的jar包都下载下来,jar包比较多,要稍微等一下

package com.spark;

import java.util.Arrays;
import java.util.regex.Pattern;
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.function.FlatMapFunction;

public class WordCount {

	private static final Pattern SPACE = Pattern.compile(" ");

	public static void main(String[] args) {
		SparkConf conf = new SparkConf().setAppName("JavaWordCount");
		JavaSparkContext ctx = new JavaSparkContext(conf);

		String filePath = "D:/systemInfo.log";
		JavaRDD<String> lines = ctx.textFile(filePath, 1);
		JavaRDD<String> words = lines
				.flatMap(new FlatMapFunction<String, String>() {
					@Override
					public Iterable<String> call(String s) {
						return Arrays.asList(SPACE.split(s));
					}
				});
		System.out.println("wordCount:" + words.count());
	}
}
通过maven将我们的项目打成一个jar包


spark-submit参数说明:  Usage: spark-submit [options] <app jar | python file> [app options]

具体说明看这个:http://my.oschina.net/u/140462/blog/519409


通过4040端口可以查看spark的相关信息:http://localhost:4040

2.java程序还可以不通过spark-submit来运行,可以直接在本地运行:

package com.spark;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.regex.Pattern;
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.function.FlatMapFunction;

public final class JavaWordCount {
	private static final Pattern SPACE = Pattern.compile(" ");

	public static void main(String[] args) throws Exception {
		SparkConf conf = new SparkConf().setMaster("local").setAppName(
				"JavaWordCount");
		JavaSparkContext ctx = new JavaSparkContext(conf);

		String filePath = "";
		BufferedReader reader = new BufferedReader(new InputStreamReader(
				System.in));
		System.out.println("Enter FilePath:");
		System.out.println("e.g. D:/systemInfo.log");

		while (true) {
			System.out.println("> ");
			filePath = reader.readLine();
			if (filePath.equalsIgnoreCase("exit")) {
				ctx.stop();
			} else {
				JavaRDD<String> lines = ctx.textFile(filePath, 1);
				JavaRDD<String> words = lines
				.flatMap(new FlatMapFunction<String, String>() {
						@Override
						public Iterable<String> call(String s) {
							return Arrays.asList(SPACE.split(s));
						}
					});
				System.out.println("wordCount:" + words.count());
			}
		}
	}
}
结果如下:
Enter FilePath:
e.g. D:/systemInfo.log
> 
D:/systemInfo.log
wordCount:48050
>

setMaster为local,具体master URL参数如下图:

上图引用:http://www.infoq.com/cn/articles/apache-spark-introduction

© 著作权归作者所有

ksfzhaohui

ksfzhaohui

粉丝 395
博文 149
码字总数 213996
作品 3
南京
高级程序员
私信 提问
配置hadoop+pyspark环境

配置hadoop+pyspark环境 1、部署hadoop环境 配置hadoop伪分布式环境,所有服务都运行在同一个节点上。 1.1、安装JDK 安装jdk使用的是二进制免编译包,下载页面 下载jdk 解压文件,配置环境变...

巴利奇
2018/10/30
0
0
Spark On Yarn Cluster 模式下的远程调试Spark源码(Attach模式)

Spark源码学习时,我们通常很想知道Spark-submit提交之后,Spark都做了什么,这就需要我们对Spark源码进行单步调试。另外,我们在spark on yarn模式下,尤其是yarn-cluster模式下,我们无法连...

stefan_xiepj
2018/05/24
0
0
Spark的运行架构分析(一)之架构概述

本博客转载自:https://blog.csdn.net/gamer_gyt/article/details/51822765 1:Spark的运行模式 2:Spark中的一些名词解释 3:Spark的运行基本流程 4:RDD的运行基本流程 一:Spark的运行模式...

lubin2016
2018/04/18
0
0
【Spark】Spark本地运行模式及Standalone运行模式环境搭建

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/gongxifacai_believe/article/details/86584947 软件版本: JDK:1.7.0_67 Scala:2.10.4 Hadoop:2.5.0-cdh5.3.6 ...

魏晓蕾
01/24
0
0
[Spark]Spark 应用程序部署工具spark-submit

1. 简介 Spark的bin目录中的spark-submit脚本用于启动集群上的应用程序。 可以通过统一的接口使用Spark所有支持的集群管理器,因此不必为每个集群管理器专门配置你的应用程序(It can use al...

sjf0115
2017/02/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

采坑指南——k8s域名解析coredns问题排查过程

正文 前几天,在ucloud上搭建的k8s集群(搭建教程后续会发出)。今天发现域名解析不了。 组件版本:k8s 1.15.0,coredns:1.3.1 过程是这样的: 首先用以下yaml文件创建了一个nginx服务 apiV...

码农实战
8分钟前
1
0
【2019年8月版本】OCP 071认证考试最新版本的考试原题-第6题

choose three Which three statements are true about indexes and their administration in an Orade database? A) An INVISIBLE index is not maintained when Data Manipulation Language......

oschina_5359
10分钟前
1
0
阿里巴巴开源 Dragonwell JDK 最新版本 8.1.1-GA 发布

导读:新版本主要有三大变化:同步了 OpenJDK 上游社区 jdk8u222-ga 的最新更新;带来了正式的 feature:G1ElasticHeap;发布了用户期待的 Windows 实验版本 Experimental Windows version。...

阿里巴巴云原生
15分钟前
1
0
教你玩转Linux—磁盘管理

Linux磁盘管理好坏直接关系到整个系统的性能问题,Linux磁盘管理常用三个命令为df、du和fdisk。 df df命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少...

xiangyunyan
18分钟前
3
0
js 让textarea的高度自适应父元素的高度

textarea按照普通元素设置height是没有作用的,可以这么来设置, 下面给上一段项目代码 JS代码: $.fn.extend({ txtaAutoHeight: function () { return this.each(function () {...

文文1
19分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部