博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spark的做算子统计的Java代码(在Linux系统集群式运行)
阅读量:6039 次
发布时间:2019-06-20

本文共 2217 字,大约阅读时间需要 7 分钟。

这篇跟上面一篇java代码部分基本相同,直接上代码

 
package com.spark.study.core; import java.util.Arrays; import java.util.Iterator; import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaPairRDD; import org.apache.spark.api.java.JavaRDD; import org.apache.spark.api.java.JavaSparkContext; import org.apache.spark.api.java.function.FlatMapFunction; import org.apache.spark.api.java.function.Function2; import org.apache.spark.api.java.function.PairFunction; import org.apache.spark.api.java.function.VoidFunction; import scala.Tuple2; /** * 将java开发的wordcount程序部署到spark集群上运行 * @author Administrator * */ public class WordCountCluster { public static void main(String[] args) { // 如果要在spark集群上运行,需要修改的,只有两个地方 // 第一,将SparkConf的setMaster()方法给删掉,默认它自己会去连接 // 第二,我们针对的不是本地文件了,修改为hadoop hdfs上的真正的存储大数据的文件 // 实际执行步骤: // 1、将spark.txt文件上传到hdfs上去 // 2、使用我们最早在pom.xml里配置的maven插件,对spark工程进行打包 // 3、将打包后的spark工程jar包,上传到机器上执行 // 4、编写spark-submit脚本 // 5、执行spark-submit脚本,提交spark应用到集群执行 SparkConf conf = new SparkConf() .setAppName("WordCountCluster"); JavaSparkContext sc = new JavaSparkContext(conf); JavaRDD
lines = sc.textFile("hdfs://node1:9000/spark.txt"); JavaRDD
words = lines.flatMap(new FlatMapFunction
() { private static final long serialVersionUID = 1L; @Override public Iterator
call(String line) throws Exception { return Arrays.asList(line.split(" ")).iterator(); } }); JavaPairRDD
pairs = words.mapToPair( new PairFunction
() { private static final long serialVersionUID = 1L; @Override public Tuple2
call(String word) throws Exception { return new Tuple2
(word, 1); } }); JavaPairRDD
wordCounts = pairs.reduceByKey( new Function2
() { private static final long serialVersionUID = 1L; @Override public Integer call(Integer v1, Integer v2) throws Exception { return v1 + v2; } }); wordCounts.foreach(new VoidFunction
>() { private static final long serialVersionUID = 1L;       @Override public void call(Tuple2
wordCount) throws Exception { System.out.println(wordCount._1 + " appeared " + wordCount._2 + " times."); } }); sc.close(); } }
 

 按上面步骤操作,配置即可

转载于:https://www.cnblogs.com/hmpcly/p/7367890.html

你可能感兴趣的文章
JavaScript History对象
查看>>
在 Windows 下安装 Oracle 11g XE (Express Edition)
查看>>
ListView优化
查看>>
【原创】 PostgreSQL 实现MySQL 的auto_increment 字段
查看>>
vs2015添加vc助手
查看>>
检测点1.1
查看>>
android--------阿里 AndFix 热修复
查看>>
control.add()
查看>>
Sublime text3中配置Github
查看>>
Asp.net,C# 加密解密字符串
查看>>
网页视频播放器插件源码
查看>>
2019-4-23 plan
查看>>
[编解码] 关于base64编码的原理及实现
查看>>
WinDbg配置和使用基础
查看>>
转:Object-Runtime的基本数据类型
查看>>
JMJS系统总结系列----Jquery分页扩展库(五)
查看>>
Excel技巧之——英文大小写转换(转)
查看>>
Google 翻译的妙用
查看>>
常用的集合
查看>>
Unity3D工程源码目录
查看>>