spark配置(5)-独立应用程序

独立应用程序(Self-Contained Applications)

现在基于一个简单的APP,通过 Spark API 编写一个独立应用程序。

使用 Scala 编写的程序需要使用 sbt 进行编译打包,相应的,Java 程序使用 Maven 编译打包,而 Python 程序通过 spark-submit 直接提交。

PS:好像spark2.0支持RDD以外的一种数据集(DataSets), 对python处理的性能有很大提升,几乎与scala性能旗鼓相当。

  1. cd ~           # 进入用户主文件夹
  2. mkdir ./sparkapp        # 创建应用程序根目录
  3. mkdir -p ./sparkapp/src/main/scala     # 创建所需的文件夹结构

./sparkapp/src/main/scala 下建立一个名为 SimpleApp.scala 的文件:

  1. /* SimpleApp.scala */
  2. import org.apache.spark.SparkContext
  3. import org.apache.spark.SparkContext._
  4. import org.apache.spark.SparkConf
  5. object SimpleApp {
  6.  def main(args: Array[String]) {
  7.    val logFile = "file:///usr/local/spark/README.md" // Should be some file on your system
  8.    val conf = new SparkConf().setAppName("Simple Application")
  9.    val sc = new SparkContext(conf)
  10.    val logData = sc.textFile(logFile, 2).cache()
  11.    val numAs = logData.filter(line => line.contains("a")).count()
  12.    val numBs = logData.filter(line => line.contains("b")).count()
  13.    println("Lines with a: %s, Lines with b: %s".format(numAs, numBs))
  14.  }
  15. }

该程序计算 /usr/local/spark/README 文件中包含 “a” 的行数 和包含 “b” 的行数。

程序依赖 Spark API,因此我们需要通过 sbt 进行编译打包。

  1. vim ./sparkapp/simple.sbt

添加:

  1. name := "Simple Project"
  2. version := "1.0"
  3. scalaVersion := "2.10.5"
  4. libraryDependencies += "org.apache.spark" %% "spark-core" % "1.6.1"

文件 simple.sbt 需要指明 Spark 和 Scala 的版本。

启动 Spark shell 的过程中可以看到

安装sbt

  1. sudo mkdir /usr/local/sbt
  2. sudo chown -R hadoop /usr/local/sbt    
  3. cd /usr/local/sbt

  1. cp /home/yuan/Downloads/sbt-launch\ \(1\).jar /usr/local/sbt/sbt-launch.jar
  2. chmod u+x ./sbt

  1. ./sbt sbt-version


来自为知笔记(Wiz)

时间: 2024-10-16 13:45:25

spark配置(5)-独立应用程序的相关文章

Spark官方文档: Spark Configuration(Spark配置)

Spark官方文档: Spark Configuration(Spark配置) Spark主要提供三种位置配置系统: 环境变量:用来启动Spark workers,可以设置在你的驱动程序或者conf/spark-env.sh 脚本中: java系统性能:可以控制内部的配置参数,两种设置方法: 编程的方式(程序中在创建SparkContext之前,使用System.setProperty("xx","xxx")语句设置相应系统属性值): 在conf/spark-env

spark配置详解

对付看把 到这里格式变化太大了,懒得调整了,这是大概spark1.5版本时候的一些参数默认值,现在2.x会有变化 这些皆可在 spark-default.conf配置,或者部分可在 sparkconf().set设置 应用程序属性 |--------------------------------------------------------------------------------------------| 属性名称                                   

spark配置和word-count

Spark ------------ 快如闪电集群计算引擎. 应用于大规模数据处理快速通用引擎. 内存计算. [Speed] 计算速度是hadoop的100x. Spark有高级DAG(Direct acycle graph,有向无环图)执行引擎. [易于使用] 使用java,scala,python,R,SQL编写App. 提供了80+高级算子,能够轻松构建并行应用. 也可以使用scala,python,r的shell进行交互式操作 [通用性] 对SQL,流计算,复杂分析进行组合应用. spa

Spark配置参数

以下是整理的Spark中的一些配置参数,官方文档请参考Spark Configuration. Spark提供三个位置用来配置系统: Spark属性:控制大部分的应用程序参数,可以用SparkConf对象或者Java系统属性设置 环境变量:可以通过每个节点的conf/spark-env.sh脚本设置.例如IP地址.端口等信息 日志配置:可以通过log4j.properties配置 Spark属性 Spark属性控制大部分的应用程序设置,并且为每个应用程序分别配置它.这些属性可以直接在SparkC

spark快速入门与WordCount程序机制深度解析 spark研习第二季

2.spark wordCount程序深度剖析 标签: spark 一.Eclipse(scala IDE)开发local和cluster (一). 配置开发环境 要在本地安装好java和scala. 由于spark1.6需要scala 2.10.X版本的.推荐 2.10.4,java版本最好是1.8.所以提前我们要需要安装好java和scala并在环境变量中配置好. 下载scala IDE for eclipse安装 连接:http://scala-ide.org/download/sdk.h

学习进度十四(Spark之Java独立应用编程)

环境如下: Hadoop 2.6.0以上 java JDK 1.7以上 Spark 3.0.0-preview2 一.Scala独立应用编程 二.java独立应用编程 1.安装maven ubuntu中没有自带安装maven,需要手动安装maven.可以访问maven官方下载自己下载.这里直接给出apache-maven-3.6.3-bin.zip的下载地址,直接点击下载即可.选择安装在/usr/local/maven中: sudo unzip ~/下载/apache-maven-3.6.3-b

shell脚本批量/单独启动、停止、重启java独立jar程序

本人最近半年使用阿里dubbo做开发,并在公司内部大力进行推广,将原来一个笨重且不易于维护的大项目切分成多个相对独立的java程序,好处是显而易见的,但是随着切分的独立运行程序包越来越多,程序的部署变成了一件非常头痛的问题,无耐之下,本人想到可否写一个shell脚本来批量/单独启动.停止.重启这些独立的java程序,之前没有写过shell脚本,研究二天后,终于将这个脚本写出来了,以后部署起来方便多了,废话不多说,直接贴上shell脚本,有需要的朋友可以根据自己项目修改前面的程序代码数组.程序名称

配置错误_“/”应用程序中的服务器错误。

配置错误 “/”应用程序中的服务器错误. 配置错误 说明: 在处理向该请求提供服务所需的配置文件时出错.请检查下面的特定错误详细信息并适当地修改配置文件. 分析器错误消息: 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的.如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误. 源错误: 行 20: </compilation> 行 21: 行 22: <authentication mode="

配置apache运行cgi程序

配置apache运行cgi程序 文章目录 [隐藏] ScriptAlias目录的CGI ScriptAlias目录以外的CGI 配置apache运行cgi程序可分为两种情况,一是ScriptAlias目录的CGI,二是ScriptAlias以外目录的CGI. ScriptAlias目录的CGI ScriptAlias指令使Apache允许执行一个特定目录中的CGI程序.当客户端请求此特定目录中的资源时,Apache假定其中文件都是CGI程序并试图运行. ScriptAlias指令形如: Scri