spark-学习笔记--1 wordcount
spark RDD
spark :分布式、基于内存、迭代式、
RDD :弹性分布式数据集
RDD是一个逻辑上的数据集合 可以分为多个分区 分布到不同的机器上
RDD的弹性: 默认是放在节点内存里的 ,内存装不下时会放到磁盘,但这对使用者是透明的。
自动的进行内存和磁盘切换机制 就是它说的弹性。
RDD的容错性 :节点失败 会从源重新计算
spark 核心编程:
1、定义初始的RDD 读取数据
2、定义算子-- 对数据的操作
3、多步操作处理数据
4、保存结果
package com.yzl.spark.sparkstudy;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
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 org.apache.spark.api.java.function.VoidFunction;
import scala.Tuple2;
/**
* Hello world!
*
*/
public class App {
public static void main(String[] args) {
// 1、创建 SparkConf
SparkConf sc = new SparkConf();
sc.setAppName("wordCount");
sc.setMaster("local");
// 2、创建JavaSparkContext
JavaSparkContext jsc = new JavaSparkContext(sc);
// 3、创建RDD
JavaRDD<String> lines = jsc.textFile("/666666666.txt");
JavaRDD<String> words = lines.flatMap(new FlatMapFunction<String, String>() {
public Iterator<String> call(String arg0) throws Exception {
List<String> list = Arrays.asList(arg0.split(" |\\.|_|=|/"));
ArrayList<String> arrayList = new ArrayList<String>(list);
return arrayList.iterator();
}
});
JavaPairRDD<String, Integer> pair = words.mapToPair(new PairFunction<String, String, Integer>() {
public Tuple2<String, Integer> call(String key) throws Exception {
return new Tuple2<String, Integer>(key, 1);
}
});
JavaPairRDD<String,Integer> counts = pair.reduceByKey(new Function2<Integer, Integer, Integer>() {
public Integer call(Integer arg0, Integer arg1) throws Exception {
return arg0 + arg1;
}
});
//action
counts.foreach(new VoidFunction<Tuple2<String,Integer>>() {
public void call(Tuple2<String, Integer> arg0) throws Exception {
System.out.println(arg0._1 +"------"+arg0._2);
}
});
jsc.close();
}
}
1786

被折叠的 条评论
为什么被折叠?



