在ubuntu中使用java版的spark
2016-08-25 18:28
351 查看
前言
我在使用java版的spark之前,在ubuntu上安装了python版的spark.换而言之,我已经搭建好了spark的相关环境,例如scala,hadoop等.具体的可以查看我师弟的博客哈http://www.cnblogs.com/adienhsuan/p/5654484.html
里面也有提供一些关于pyspark的使用,我主要讲述的是如何使用java的spark.
安装eclipse
ubuntu下安装eclipse十分方便,不要自己去下载eclipse IDE, eclipse adt的东西,只需在终端输入sudo apt-get install eclipse-platform, 便是一键安装,然后在这里便可以找到啦在eclipse中导入spark的jar包
之前配置python的spark下载了一个spark-1.6.2-bin-hadoop2.6,里面在lib目录下有很多jar包,其实是为java的spark开发而用的.我们需要导入的是spark-assembly-1.6.2-hadoop2.6.0.千万不要贪多,把所有的都导入,这样你的eclipse会不能承受之重(本人亲身的惨痛教训)关于如何在eclipse中导包,可以参照这一份博客:
http://jingyan.baidu.com/article/ca41422fc76c4a1eae99ed9f.html
编写一个统计文件中的字符个数的代码程序
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.Function; import org.apache.spark.api.java.function.Function2; public class test { public static void main(String[] arg){ SparkConf conf = new SparkConf(); conf.set("spark.testing.memory","2147480000"); // spark的运行配置,意指占用内存2G JavaSparkContext sc = new JavaSparkContext("local[*]", "Spark", conf); //第一个参数为本地模式,[*]尽可能地获取多的cpu;第二个是spark应用程序名,可以任意取;第三个为配置文件 JavaRDD<String> lines = sc.textFile("/home/quincy1994/forwork/SparkComment/pinglun.txt"); //读入外部文件,文件可以是scv, txt,md格式 JavaRDD<Integer> lineLengths = lines.map((Function<String,Integer>)new GetLength()); //map为映射,spark的转化操作;Function第一类函数,即单一映射,单进单出 int totalLength = lineLengths.reduce((Function2<Integer, Integer, Integer>)new Sum()); System.out.println("total length: " + totalLength); } static class GetLength implements Function<String, Integer>{ /* * 获取每一行的字符个数 * @see org.apache.spark.api.java.function.Function#call(java.lang.Object) */ public Integer call(String s){ return s.length(); } } static class Sum implements Function2<Integer, Integer, Integer>{ /* * 聚合函数,相对于相加操作 * @see org.apache.spark.api.java.function.Function2#call(java.lang.Object, java.lang.Object) */ public Integer call(Integer a, Integer b){ return a + b; } } }
运行结果如下:
关于spark的学习资料
我觉得有两本书挺不错的,值得推荐一下:一本是<spark快速大数据分析>,里面有spark的scala , java , python编程,相对于入门很有帮助
另一本是<深入理解spark:核心思想与源码分析>,这是阿里巴巴的技术女神写的,里面谈的基本上是java,当时一时激动,在京东花了85块买了下来(心有点痛..)
相关文章推荐
- 使用update-alternatives切换ubuntu下默认java命令
- Ubuntu下,Java中利用JNI调用codeblocks c++生成的动态库的使用步骤
- Ubuntu上使用另一个java IDE-->ItelliJ
- ubuntu14.04下的java jdk和eclipse和C/C++ Development Tools的简单安装以及使用
- ava.net.BindException: Problem binding to [ubuntu-master:9000] java.net.BindException: 地址已在使用; For m
- 使用VirtualBox安装Ubuntu9.10,搭建java开发环境总结
- ubuntu下使用java、javac命令行编译工程
- Spark简介及其在ubuntu下的安装使用
- linux/Ubuntu 下使用 java 调用 so 动态链接库详细步骤
- 在myeclipse中使用Java语言进行spark Standalone模式应用程序开发
- Ubuntu安装使用Java开发环境
- ubuntu 中使用jar 报 could not find Java 2 Runtime Environme 错误
- 使用update-alternatives切换ubuntu下默认java命令
- ubuntu下使用自带的openJDK查看java源代码
- Ubuntu_java 环境变量(使用自安装jdk,不使用默认jdk)
- Ubuntu下,Java中利用JNI调用codeblocks c++生成的动态库的使用步骤
- Ubuntu安装Java环境(使用已有的jdk.zip)
- 使用update-alternatives切换ubuntu下默认的java命令
- 初学ubuntu(二)vi编辑器的使用和配置java环境变量
- 开发系列:01、使用Java和Maven开发Spark应用