Ubuntu 14.10 下使用IDEA开发Spark应用
1 环境准备
1.1 下载IDEA,可在官网下载
1.2 IDEA与Eclipse有点不同,IDEA中的New Projects相当于Eclipse中的workspace,New Module才是新建工程
2 建立Spark程序
2.1 首先新建项目,New Projects,名字随便取:Create New Project -> Scala -> SBT -> 创建名为SparkExample的project
2.2 创建Module,New Module,名字随便取:New Module-> Scala -> Scala,创建名为FirstApp
2.3 设置FirstApp 的Project Structure
2.3.1 增加源码目录,目录结构自己设置
2.3.2 增加Jar包,File -> Project Structure -> Libraries -> + -> java -> 选择
spark-assembly-1.0.0-hadoop2.2.0.jar
scala-library.jar
2.4 编写代码,在源码包下新建Object,这里找了三个Demo
import org.apache.spark._
import scala.math.random
/**
* Created by hadoop on 15-3-21.
*/
object SparkPi {
def main (args: Array[String]) {
val conf = new SparkConf().setAppName("Spark Pi")
val spark = new SparkContext(conf)
val slices = if(args.length > 0) args(0).toInt else 2
val n = 100000 * slices
val count = spark.parallelize(1 to n,slices).map{ i =>
val x = random * 2 - 1
val y = random * 2 - 1
if(x*x + y*y < 1) 1 else 0
}.reduce(_+_)
println("Pi is roughly " + 4.0 * count / n) spark.stop()
}
}
import org.apache.spark.{SparkContext,SparkConf}
import org.apache.spark.SparkContext._
/**
* Created by hadoop on 15-3-21.
*/
object WordCount1 {
def main (args: Array[String]) {
if(args.length == 0){
System.err.println("Usage: WordCount1 <file1>")
System.exit(1)
}
val conf = new SparkConf().setAppName("WordCount1")
val sc = new SparkContext(conf)
sc.textFile(args(0)).flatMap(_.split(" ")).map(x => (x,1)).reduceByKey(_+_).take(10).foreach(println)
sc.stop()
}
}
import org.apache.spark.{SparkContext, SparkConf}
import org.apache.spark.SparkContext._
/**
* Created by hadoop on 15-3-21.
*/
object WordCount2 {
def main(args: Array[String]) {
if (args.length == 0) {
System.err.println("Usage: WordCount2 <file1>")
System.exit(1)
}
val conf = new SparkConf().setAppName("WordCount2")
val sc = new SparkContext(conf)
sc.textFile(args(0)).flatMap(_.split(" ")).map(x => (x,1)).reduceByKey(_+_).map(x =>
(x._2,x._1)).sortByKey(false).map(x => (x._2,x._1)).take(10).foreach(println)
sc.stop()
}
}
2.5 生成Jar包
生成程序包之前要先建立一个artifacts,File -> Project Structure -> Artifacts -> + -> Jars -> From moudles with dependencies,然后随便选一个class作为主class。
按OK后,对artifacts进行配置,修改Name为FirstApp,删除Output Layout中FirstApp.jar中的几个依赖包,只剩FirstApp项目本身。
按OK后, Build -> Build Artifacts -> FirstApp -> rebuild进行打包,经过编译后,程序包放置在out/artifacts/FirstApp目录下,文件名为FirstApp.jar。
3 测试Jar包,下图摘自http://blog.csdn.net/book_mmicky/article/details/25714545,需要修改Jar包名称,HDFS路径
参考:http://www.aboutyun.com/thread-8404-1-1.html
http://blog.csdn.net/book_mmicky/article/details/25714545
http://blog.csdn.net/david_xtd/article/details/19081341
Ubuntu 14.10 下使用IDEA开发Spark应用的更多相关文章
- Ubuntu 14.04 下使用IDEA开发Spark应用 入门
网上有很多教程,有用sbt ,也有不用sbt的,看的头大,搞了半天,终于运行成功一个例子,如下: 1.官网下载http://www.jetbrains.com/idea/download/ Inter ...
- Ubuntu 14.10下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具)
Ubuntu 14.10下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具) 最近因为项目关系,收朋友之托,想制作秀场网站,但是因为之前一直没有涉及到这 ...
- Ubuntu 14.10 下安装Ganglia监控集群
关于 Ganglia 软件,Ganglia是一个跨平台可扩展的,高性能计算系统下的分布式监控系统,如集群和网格.它是基于分层设计,它使用广泛的技术,如XML数据代表,便携数据传输,RRDtool用于数 ...
- Ubuntu 14.10 下安装java反编译工具 jd-gui
系统环境,Ubuntu 14.10 ,64位 1 下载JD-GUI,网址http://221.3.153.126/1Q2W3E4R5T6Y7U8I9O0P1Z2X3C4V5B/jd.benow.ca/ ...
- Ubuntu 14.10 下ZooKeeper+Hadoop2.6.0+HBase1.0.0 的HA机群高可用配置
1 硬件环境 Ubuntu 14.10 64位 2 软件环境 openjdk-7-jdk hadoop 2.6.0 zookeeper-3.4.6 hbase-1.0.0 3 机群规划 3.1 zoo ...
- Ubuntu 14.10 下Hive配置
1 系统环境 Ubuntu 14.10 JDK-7 Hadoop 2.6.0 2 安装步骤 2.1 下载Hive 我第一次安装的时候,下载的是Hive-1.2.1,配置好之后,总是报错 [ERROR] ...
- Ubuntu 14.10 下DokuWiki安装
环境说明: Ubuntu 14.10 64位 1 下载DokuWiki:http://download.dokuwiki.org/ 2 解压到 /var/www/html下面 3 如果没有安装Apac ...
- Ubuntu 14.10 下Server版本中文乱码问题
在安装Ubuntu server 14.10 时候选择了中文版,但是装好系统发现,里面的中文有乱码,解决办法 打开 /etc/default/locale sudo nano /etc/default ...
- Ubuntu 14.10 下awk命令详解
简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再 ...
随机推荐
- vmware如何安装ubuntu
一.安装vamware 二.新建虚拟机 三.安装虚拟机的镜像文件 三.正式安装ubuntu 可能会出现的问题有: 下面为百度上的方法: 敲重点: 倘若按照网上的方法:关机重启按F2无法进入BIOS.则 ...
- alpha冲刺(1/10)(作废)
前言 队名:旅法师 作业链接 队长博客 燃尽图 会议 站立式会议照片 会议内容 陈晓彬(组长) 昨日进展: 召开会议 安排任务 博客撰写 问题困扰: 没有做项目经理的经验,在沟通方面专业知识不够. 心 ...
- StackExchange.Redis和Log4Net构建日志
利用StackExchange.Redis和Log4Net构建日志队列 简介:本文是一个简单的demo用于展示利用StackExchange.Redis和Log4Net构建日志队列,为高并发日志处 ...
- (23)ajax实现上传文件的功能
form表单上传文件 urls.py from django.conf.urls import urlfrom django.contrib import adminfrom app01 import ...
- 20165313 《Java程序设计》第三周学习总结
教材学习总结 这一章主要讲解了类的创建与使用,以及其中参数的调用方式,如何将多个对象组合,包的用法,访问权的设置和基本类封装. 1.对象注意初始化 2.包语句使用后要把对应得.java文件放到与包同名 ...
- https://blog.csdn.net/qq_35447305/article/details/78587691
来源:https://blog.csdn.net/qq_35447305/article/details/78587691 需要去查看设置.C:\Users\用户名 目录下找到 .npmrc文件,删除 ...
- LOJ2135 「ZJOI2015」幻想乡战略游戏
题意 题目描述 傲娇少女幽香正在玩一个非常有趣的战略类游戏,本来这个游戏的地图其实还不算太大,幽香还能管得过来,但是不知道为什么现在的网游厂商把游戏的地图越做越大,以至于幽香一眼根本看不过来,更别说和 ...
- Python——psutil的使用(获取系统性能信息)
>>> import psutil #导入psutil >>> a=psutil.virtual_memory() >>> a.total #总虚 ...
- MySQL Binlog信息查看
##=====================================## ## 在MySQL内部查看binlog文件列表 ## SHOW BINARY LOGS; ##=========== ...
- 数学与猜想 数学中的归纳和类比 (G. 波利亚 著)
第一章 归纳方法 (已看) $1. 经验和信念 $2. 启发性联想 $3. 支持性联想 $4. 归纳的态度 第二章 一般化,特殊化,类比 (已看) $1. 一般化,特殊化,类比和归纳 $2. 一般化 ...