Spark Standalone模式应用程序开发
一、Scala版本:
程序如下:
package scala
import org.apache.spark.SparkContext
import org.apache.spark.SparkConf
object Test {
def main(args: Array[String]) {
val logFile = "file:///spark-bin-0.9.1/README.md"
val conf = new SparkConf().setAppName( "Spark Application in Scala" )
val sc = new SparkContext(conf)
val logData = sc.textFile(logFile, 2 ).cache()
val numAs = logData.filter(line => line.contains( "a" )).count()
val numBs = logData.filter(line => line.contains( "b" )).count()
println( "Lines with a: %s, Lines with b: %s" .format(numAs, numBs))
}
}
}
|
为了编译这个文件,需要创建一个xxx.sbt文件,这个文件类似于pom.xml文件,这里我们创建一个scala.sbt文件,内容如下:
name := "Spark application in Scala"
version := "1.0"
scalaVersion := "2.10.4"
libraryDependencies += "org.apache.spark" %% "spark-core" % "1.0.0"
resolvers += "Akka Repository" at "http://repo.akka.io/releases/"
|
编译:
# sbt/sbt package
[info] Done packaging.
[success] Total time: 270 s, completed Jun 11 , 2014 1 : 05 : 54 AM
|
二、Java版本
/**
* User: 过往记忆
* Date: 14-6-10
* Time: 下午11:37
* bolg: https://www.iteblog.com
* 本文地址:https://www.iteblog.com/archives/1041
* 过往记忆博客,专注于hadoop、hive、spark、shark、flume的技术博客,大量的干货
* 过往记忆博客微信公共帐号:iteblog_hadoop
*/
/* SimpleApp.java */
import org.apache.spark.api.java.*;
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.function.Function;
public class SimpleApp {
public static void main(String[] args) {
String logFile = "file:///spark-bin-0.9.1/README.md" ;
SparkConf conf = new SparkConf().setAppName( "Spark Application in Java" );
JavaSparkContext sc = new JavaSparkContext(conf);
JavaRDD<String> logData = sc.textFile(logFile).cache();
long numAs = logData.filter( new Function<String, Boolean>() {
public Boolean call(String s) { return s.contains( "a" ); }
}).count();
long numBs = logData.filter( new Function<String, Boolean>() {
public Boolean call(String s) { return s.contains( "b" ); }
}).count();
System.out.println( "Lines with a: " + numAs + ",lines with b: " + numBs);
}
}
|
本程序分别统计README.md文件中包含a和b的行数。本项目的pom.xml文件内容如下:
<?xml version= "1.0" encoding= "UTF-8" ?>
<project xmlns= "http://maven.apache.org/POM/4.0.0"
xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http: //maven.apache.org/POM/4.0.0
http: //maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion> 4.0 . 0 </modelVersion>
<groupId>spark</groupId>
<artifactId>spark</artifactId>
<version> 1.0 </version>
<dependencies>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2. 10 </artifactId>
<version> 1.0 . 0 </version>
</dependency>
</dependencies>
</project>
|
利用Maven来编译这个工程:
# mvn install
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5 .815s
[INFO] Finished at: Wed Jun 11 00 : 01 : 57 CST 2014
[INFO] Final Memory: 13M/32M
[INFO] ------------------------------------------------------------------------
|
三、Python版本
#
# User: 过往记忆
# Date: 14 - 6 - 10
# Time: 下午 11 : 37
# bolg: https: //www.iteblog.com
# 本文地址:https: //www.iteblog.com/archives/1041
# 过往记忆博客,专注于hadoop、hive、spark、shark、flume的技术博客,大量的干货
# 过往记忆博客微信公共帐号:iteblog_hadoop
#
from pyspark import SparkContext
logFile = "file:///spark-bin-0.9.1/README.md"
sc = SparkContext( "local" , "Spark Application in Python" )
logData = sc.textFile(logFile).cache()
numAs = logData.filter(lambda s: 'a' in s).count()
numBs = logData.filter(lambda s: 'b' in s).count()
print "Lines with a: %i, lines with b: %i" % (numAs, numBs)
|
四、测试运行
本程序的程序环境是Spark 1.0.0,单机模式,测试如下:
1、测试Scala版本的程序
# bin/spark-submit -- class "scala.Test" \
--master local[ 4 ] \
target/scala- 2.10 /simple-project_2. 10 - 1.0 .jar
14 / 06 / 11 01 : 07 : 53 INFO spark.SparkContext: Job finished:
count at Test.scala: 18 , took 0.019705 s
Lines with a: 62 , Lines with b: 35
|
2、测试Java版本的程序
# bin/spark-submit -- class "SimpleApp" \
--master local[ 4 ] \
target/spark- 1.0 -SNAPSHOT.jar
14 / 06 / 11 00 : 49 : 14 INFO spark.SparkContext: Job finished:
count at SimpleApp.java: 22 , took 0.019374 s
Lines with a: 62 , lines with b: 35
|
3、测试Python版本的程序
# bin/spark-submit --master local[
4
] \
simple.py
Lines with a:
62
, lines with b:
35
Spark Standalone模式应用程序开发相关推荐
- 【原】Spark Standalone模式
Spark Standalone模式 安装Spark Standalone集群 手动启动集群 集群创建脚本 提交应用到集群 创建Spark应用 资源调度及分配 监控与日志 与Hadoop共存 配置网络 ...
- Spark基础学习笔记05:搭建Spark Standalone模式的集群
文章目录 零.本讲学习目标 一.Spark集群拓扑 (一)集群拓扑 (二)集群角色分配 二.搭建集群 (一)私有云上创建三台虚拟机 (二)利用SecureCRT登录三台虚拟机 1.登录master虚拟 ...
- spark StandAlone模式下的作业提交流程
spark StandAlone也有两种作业提交模式,client 和 cluster模式,以下以cluster为例说明 提交代码 ./spark-submit \ --class org.apach ...
- Spark standalone 模式下的集群部署
版本! 需要注意两点: (1)使用的Hadoop必须是 2.0 系列,比如 0.23.x,2.0.x,2.x.x或CDH4.CDH5 等,将 Spark 运行在 Hadoop 上,本质上是将 Spar ...
- 详解Spark运行模式(local+standalone+yarn)
一.简述 Spark 有多种运行模式: 1.可以运行在一台机器上,称为 Local(本地)运行模式. 2.可以使用 Spark 自带的资源调度系统,称为 Standalone 模式. 3.可以使用 Y ...
- Spark环境搭建Standalone模式
2.4 Standalone模式 在Standalon模式中,Spark集群由Master节点和Worker节点构成,使用内置的Standalon框架进行资源管理.Spark程序通过与Master节 ...
- Spark3.2教程(九)CentOS7下Spark Standalone分布式搭建
Spark搭建方式有local.Standalone.on Yarn等. local模式适合程序的开发测试 Standalone模式适合小规模数据 on Yarn适合大数据量大,并且可能依赖于其他计算 ...
- spark HA 模式搭建《加入hbase依赖》 (2018【改进红色字体】详细配置)《转载》
一.准备服务器环境 1.1.服务器规划 ZooKeeper Cluster Host IP zookeeper1 192.168.50.228 zookeeper2 192.168.50.229 zo ...
- Spark Standalone和yarn区别
Spark Standalone模式提交任务 Cluster模式: ./spark-submit \--master spark://node01:7077 \--deploy-mode cluste ...
最新文章
- 07年了,新的一年又开始了
- 【VC++】Visual Studio编辑器“智能提示(IntelliSense)”异常的解决方案
- admob 服务器验证_AdMob服务器注册广告请求,但Ad对象包含“必须声明AdActivity”错误...
- HDU - Reversi(dfs+水题)
- PulseAudio 设计和实现浅析
- Flexbox 布局 – 表单
- sv队列和动态数组的区别_Go 刷 LeetCode 系列:经典(7) 设计双端队列
- POJ1958-Strange Towers of Hanoi【递推】
- java stringutils_Java 笔记----- StringUtils 拼接字符
- 苹果xr如何截屏_苹果手机自带的三种截屏技巧,你知道几个?现在知道还不迟...
- Ubuntu 16.04安装UML工具StarUML 2
- 2019手机浏览器排名_不开玩乐!2019最强手机浏览器
- 上位机与西门子PLC通信协议
- C++ 获取鼠标点击位置
- STM32学习——GPIO应用之按键实验
- 一些免费的代理服务器
- call方法 java_漫谈JS中的call和apply方法
- CH340g的使用说明
- BZOJ---4484:[Jsoi2015]最小表示【bitset】
- Golang创建DLL
热门文章
- mysql 5.6.23 源码包安装报错_CentOS6.5_64bit下编译安装MySQL-5.6.23
- BGP小实验——选路不困难,只要有方法
- Source Insight 使用教程(1)——新建项目
- 编译MiniGUI 程序
- 计算机 留学推荐信,计算机专业留学推荐信范文
- mysql select 使用_mysql select简单用法
- aem是什么意思_一台400匹的宽体RX7不装转子引擎,那装的是什么?
- resnet网络结构_深度学习之16——残差网络(ResNet)
- Crfe php,新版中国菜刀(20141213)一句话不支持php assert分析
- axure 调整中继器列宽_在Axure中用“中继器”实现对表格的增、删、改