Spark应用程序开发流程

配置文件:
pom.xml

  <properties>
    <scala.version>2.11.8</scala.version>
    <spark.version>2.2.0</spark.version>
    <hadoop.version>2.6.0-cdh5.7.0</hadoop.version>
  </properties>

  <repositories>
    <!--添加cloudera仓库依赖, CDH版本是cloudera仓库下的-->
    <repository>
      <id>cloudera</id>
      <name>cloudera</name>
      <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
    </repository>
  </repositories>

    <dependencies>

    <!--添加scala依赖-->
    <dependency>
      <groupId>org.scala-lang</groupId>
      <artifactId>scala-library</artifactId>
      <version>${scala.version}</version>
    </dependency>

    <!--添加spark-code的依赖,scala版本2.11-->
    <dependency>
      <groupId>org.apache.spark</groupId>
      <artifactId>spark-core_2.11</artifactId>
      <version>${spark.version}</version>
    </dependency>

    <!--添加hadoop-client的依赖-->
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-client</artifactId>
      <version>${hadoop.version}</version>
    </dependency>

  </dependencies>

测试代码:
WordCountApp.scala

package com.ruozedata

import org.apache.spark.{SparkConf, SparkContext}

object WordCountApp extends App {

  val conf = new SparkConf()
  val sc = new SparkContext(conf)

  //输入(用args()传入参数,非硬编码)
  val dataFile = sc.textFile(args(0))

  //业务逻辑
  val outputFile = dataFile.flatMap(_.split(",")).map((_,1)) //.collect().foreach(println)

  //输出文件
  outputFile.saveAsTextFile(args(1))

  //关闭流(输入流)
  sc.stop()
}

?

?

?

?

?

?

?

?




本地提交到服务器: (在脚本中配置)

$ /home/hadoop/app/spark/bin/spark-submit --class com.ruozedata.WordCountApp --master local[2] --name WordCountApp /home/hadoop/lib/spark/SparkCodeApp-1.0.jar /wc_input/ /wc_output

具体配置参考Spark官网:

http://spark.apache.org/docs/2.2.0/rdd-programming-guide.html

http://spark.apache.org/docs/2.2.0/configuration.html

http://spark.apache.org/docs/2.2.0/submitting-applications.html

原文地址:https://www.cnblogs.com/suixingc/p/spark-ying-yong-cheng-xu-kai-fa-liu-cheng.html

时间: 2024-08-30 14:37:58

Spark应用程序开发流程的相关文章

Hadoop之MapReduce程序开发流程

摘要:MapReduce程序开发流程遵循算法思路.Mapper.Reducer.作业执行的步骤. 关键词:MapReduce 程序   开发流程 对于一个数据处理问题,若需要MapReduce,那么如何设计和实现?MapReduce程序基础模板,包含两个部分,一个是map,一个是reduce.map和reduce的设计取决解决问题的算法思路:而map和reduce的执行需要作业的调度. 因此,MapReduce程序开发可以遵循以下流程. 第一步:清楚问题是什么,确定解决问题的算法思路. 第二步:

武装你的小程序——开发流程指南

前端工程本质上是软件工程的一种.软件工程化关注的是性能.稳定性.可用性.可维护性等方面,注重基本的开发效率.运行效率的同时,思考维护效率.一切以这些为目标的工作都是"前端工程化".工程化是一种思想而不是某种技术. 本篇文章你可以学到: 如何使小程序支持scss: 怎样通过gulp编译你的项目: 项目常用的模块封装: 小程序同webview之间如何优雅的进行交互: 集中式管理你的项目提高可维护性: 提升开发效率的小工具编写: 全文全部基于原生的小程序开发所阐述,各种第三方框架开发不在此列

Spark修炼之道(高级篇)——Spark源码阅读:第一节 Spark应用程序提交流程

作者:摇摆少年梦 微信号: zhouzhihubeyond spark-submit 脚本应用程序提交流程 在运行Spar应用程序时,会将spark应用程序打包后使用spark-submit脚本提交到Spark中运行,执行提交命令如下: root@sparkmaster:/hadoopLearning/spark-1.5.0-bin-hadoop2.4/bin# ./spark-submit --master spark://sparkmaster:7077 --class SparkWordC

微信小程序开发流程

2017年1月9日,张小龙在2017微信公开课Pro上发布的小程序正式上线,一夜之间,小程序可谓家喻户晓,但通过接下来的几个月的观察,微信小程序并没有想象中的那么火爆.进入4月以来,微信小程序团队进行了多次发文调整,并放开了个人公众号快速注册小程序能力.不管未来如何,微信小程序已经在发力了,作为一名码农,咱还是先了解下小程序的开发流程及规范,以备不时之需! 按照惯例,学习一门新技术或者新框架,咱们还是从官方提供的文档开始,于是找到微信小程序官方教程(https://mp.weixin.qq.co

餐饮行业小程序开发流程

在热爱美食的中国,餐饮是长盛不衰的行业.餐饮行业小程序开发:151-1222-4001(微/电)对于移动支付来说,最先改变的是餐饮,大大小小的餐饮店都在巨头补贴之下,参与移动支付大战.移动支付带来的变革,不仅仅是收单方式,更是移动互联网O2O模式的改变,线上线下连接的这个概念,逐步被人接受,并在2016年的发展中推向高潮,那么旗鱼点餐又是如何通过这种模式触达餐饮行业痛点的呢? 餐饮行业有意想不到的巨大市场 据餐饮行业的调研报告显示,2014年,整个餐饮业的O2O市场规模接近千亿,占餐饮行业总体比

django最小程序开发流程

1.建立工程 在工程目录下打开cmd,输入以下命令.其中mysite是项目名称. django-admin startproject mysite 命令运行完后,在该目录下会出现一个名为mysite的文件夹.下面是工程的目录结构 2.创建一个新的应用(app) cmd进入mysite目录(有manage.py那个文件夹),运行以下命令.其中helloapp是应用名 python manage.py startapp helloapp 然后会在manage.py同级目录下生成一个helloapp的

51单片机开发环境Keil4安装及程序开发图解

背景: 这篇文章是给我一个哥们写的,想从事技术开发工作,最欣赏有想法的人了,不喜欢混日子的人了,我就推荐他做硬件(不知道是不是误人子弟),然后就想让他学习一下单片机,正好我这里有一个大学时候的51开发板,让他了解一下,也试着学习一下编程和看原理图,让他有个大概的方向,也正好可以找找哥们自己的工作方向.文章内容很简单,但对于初学者来说比较有用,毕竟我大学学习的时候也是这么过来的,我一点一点的截图,给他做一下参考,所以大神路过请不要看了,以免耽误你的时间. 软件安装流程: 1.解压文件 2.打开文件

手机APP开发流程

手 机 APP的开发流程越来越成熟了,因此,每年产生的APP也数以万计.就目前而言,在苹果的IOS平台与谷歌的安卓平台为主流,也有一些开发者仍坚守在 黑莓和微软的操作平台,之所以他们不会放弃黑莓10或Windows Phone 8平台开发,主要是因为苹果严格控制开发商,而Android平台免费 或者质量奇差的应用程序太多.那么手机App软件开发流程是具体怎样的呢? 为此,粗略分享一下App软件程序开发流程. 1)需求分析和产品分析 当收到客户的需求之后,不是马上动手去做功能分析.产品逻辑架构或者

Linux及Arm-Linux程序开发笔记(零基础入门篇)

Linux及Arm-Linux程序开发笔记(零基础入门篇)  作者:一点一滴的Beer http://beer.cnblogs.com/ 本文地址:http://www.cnblogs.com/beer/archive/2011/05/05/2037449.html 目录 一.Arm-Linux程序开发平台简要介绍... 3 1.1程序开发所需系统及开发语言... 3 1.2系统平台搭建方式... 4 二.Linux开发平台搭建... 5 2.1安装虚拟工作站... 5 2.2安装Linux虚拟