spark读hdfs文件实现wordcount并将结果存回hdfs
package iie.udps.example.operator.spark; import scala.Tuple2; 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.Function;
import org.apache.spark.api.java.function.Function2;
import org.apache.spark.api.java.function.PairFunction;
import java.util.Arrays;
import java.util.regex.Pattern; /**
* 利用Spark框架读取HDFS文件,实现WordCount示例
*
* 执行命令:spark-submit --class iie.hadoop.hcatalog.TextFileSparkTest --master
* yarn-cluster /tmp/sparkTest.jar hdfs://192.168.8.101/test/words
* hdfs://192.168.8.101/test/spark/out
*
* @author xiaodongfang
*
*/
public final class TextFileSparkTest {
private static final Pattern SPACE = Pattern.compile(" "); @SuppressWarnings("serial")
public static void main(String[] args) throws Exception { if (args.length < 2) {
System.err.println("Usage: JavaWordCount <file>");
System.exit(1);
}
String inputSparkFile = args[0];
String outputSparkFile = args[1]; SparkConf sparkConf = new SparkConf().setAppName("SparkWordCount");
JavaSparkContext ctx = new JavaSparkContext(sparkConf);
JavaRDD<String> lines = ctx.textFile(inputSparkFile, 1);
JavaRDD<String> words = lines
.flatMap(new FlatMapFunction<String, String>() {
@Override
public Iterable<String> call(String s) {
return Arrays.asList(SPACE.split(s));
}
}); JavaPairRDD<String, Integer> ones = words
.mapToPair(new PairFunction<String, String, Integer>() { @Override
public Tuple2<String, Integer> call(String s) {
return new Tuple2<String, Integer>(s, 1);
}
}); JavaPairRDD<String, Integer> counts = ones
.reduceByKey(new Function2<Integer, Integer, Integer>() {
@Override
public Integer call(Integer i1, Integer i2) {
return i1 + i2;
}
}); counts.map(new Function<Tuple2<String, Integer>, String>() {
@Override
public String call(Tuple2<String, Integer> arg0) throws Exception {
return arg0._1.toUpperCase() + ": " + arg0._2;
}
}).saveAsTextFile(outputSparkFile); ctx.stop();
}
}
spark读hdfs文件实现wordcount并将结果存回hdfs的更多相关文章
- hdfs 文件系统命令操作
hdfs 文件系统命令操作 [1]hdfs dfs -ls [目录]. 显示所有文件 hdfs dfs -ls -h /user/20170214.txt 显示文件时,文件大小以人易读的形式显示 [2 ...
- 如何有效恢复误删的HDFS文件
HDFS是大数据领域比较知名的分布式存储系统,作为大数据相关从业人员,每天处理HDFS上的文件数据是常规操作.这就容易带来一个问题,实际操作中对重要数据文件的误删,那么如何恢复这些文件,就显得尤为重要 ...
- Hadoop之HDFS文件操作常有两种方式(转载)
摘要:Hadoop之HDFS文件操作常有两种方式,命令行方式和JavaAPI方式.本文介绍如何利用这两种方式对HDFS文件进行操作. 关键词:HDFS文件 命令行 Java API HD ...
- hive1.1.0建立外部表关联HDFS文件
0. 说明 已经安装好Hadoop和hive环境,hive把元数据存储在mysql数据库.这里仅讨论外部表和HDFS的关联,并且删掉外部表之后,对HDFS上的文件没有影响. 1. 在HDFS创建分区, ...
- Hadoop如何修改HDFS文件存储块大小
一. 临时修改可以在执行上传文件命令时,显示地指定存储的块大小.1. 查看当前 HDFS文件块大小我这里查看HDFS上的TEST目录下的jdk-7u25-linux-x64.gz 文件存储块大小.1 ...
- Hadoop之HDFS文件操作
摘要:Hadoop之HDFS文件操作常有两种方式.命令行方式和JavaAPI方式.本文介绍怎样利用这两种方式对HDFS文件进行操作. 关键词:HDFS文件 命令行 Java API HD ...
- spark-env.sh增加HADOOP_CONF_DIR使得spark运行文件是hdfs文件
spark-env.sh增加HADOOP_CONF_DIR使得spark读写的是hdfs文件 刚装了spark,运行wordcount程序,local方式,执行的spark-submit,读和写的文件 ...
- Spark读取HDFS文件,文件格式为GB2312,转换为UTF-8
package iie.udps.example.operator.spark; import scala.Tuple2; import org.apache.hadoop.conf.Configur ...
- Spark1.4从HDFS读取文件运行Java语言WordCounts并将结果保存至HDFS
本次实验相关信息如下: 操作系统:Ubuntu 14 Hadoop版本:2.4.0 Spark版本:1.4.0 运行前提是Hadoop与Spark均已正确安装配置 2.在Linux中生成一个文件tes ...
随机推荐
- .net调用存储过程碰到的一个问题
问题描述 报错信息如下: Execution of user code in the .NET Framework is disabled. Enable "clr enabled" ...
- web开发-前端到服务器Controller中的数据传递
一, ajax方式 1. ajax获取页面中的数据,包括表单中的数据, 然后封装成对象,数组, 字符串, 或其他基本类型的数据. 2. 将封装得到的数据通过ajax传递到controller中(注:在 ...
- No suitable driver found for jdbc:mysql://localhost/dbname
把mysql-connector-java的jar包放入jdk/jre/lib/ext文件下
- DrawerLayout一个简单的实例(与ActionBar无关)
官方的Demo里有DrawerLayout的例子,涉及到ActionBar,这里不用ActionBar,手痒,写个超级简单的小Demo,备着以后或许会用到. 详细的内容,可以访问:http://blo ...
- wp8.1 C#技巧: 计时器
public MainPage() { this.InitializeComponent(); this.timer = new DispatcherTimer();//新建委托时间实例 timer. ...
- Terminating app due to uncaught
1>Images.xcassets: A 60x60@2x app icon is required for iPhone apps targeting iOS 7.0 and later 图片 ...
- Hibernate对象映射类型
Hibernate understands both the Java and JDBC representations of application data. The ability to rea ...
- 入门-Arcmap网络分析示例
1.打开arcmap并加载网络数据西安市地图(city.mdb): 它包含的图层有: 2.显示网络中的流向: 3.在设施网络分析工具条上,点选旗标和障碍工具板下拉箭头,将旗标放在city_net_ju ...
- Openstack Swift中间件编写
关于openstack swift的资料可以看这里,这里还有这里. 准备环境 从零开始接触的同学可以先从swift的all in one部署开始学习,在本机搭建好swift环境就可以进行简单的测试了. ...
- wince6.0 开机启动定制的程序
1.prject.bib MediaApp.exe $(_FLATRELEASEDIR)\MediaApp.exe NK H MediaApp.lnk $(_FLATRELEASEDIR)\Media ...