import org.apache.spark.{SparkContext, SparkConf}

/**
* Created by spark on 15-1-19.
* 根据key对K-V类型的RDD进行排序获得新的RDD
*/
object SortByKey {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("spark-demo").setMaster("local")
val sc = new SparkContext(conf) import org.apache.spark.SparkContext._
val a = sc.parallelize(List("dog","cat","owl","gnu","ant"))
val b = sc.parallelize(1 to a.count().toInt)
val c = a.zip(b) //asc
c.sortByKey(true).collect().foreach(print)
//desc
c.sortByKey(false).collect().foreach(print)
}
}
/**
* Created by spark on 15-1-19.
* RDD1.subtract(RDD2):返回一个新的RDD,内容是:RDD1中存在的,RDD2中不存在的
*/
object Subtract {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("spark-demo").setMaster("local")
val sc = new SparkContext(conf) import org.apache.spark.SparkContext._
val a = sc.parallelize(1 to 10)
val b = sc.parallelize(1 to 3)
//45678910
//a.subtract(b).collect().foreach(print) val c = sc.parallelize(1 to 10)
val d = sc.parallelize(List(1,2,3,11))
//
c.subtract(d).collect().foreach(print)
}
}
/**
* Created by spark on 15-1-19.
* RDD1.subtractByKey(RDD2):返回一个新的RDD,内容是:RDD1 key中存在的,RDD2 key中不存在的
*/
object SubtractByKey {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("spark-demo").setMaster("local")
val sc = new SparkContext(conf) import org.apache.spark.SparkContext._
val a = sc.parallelize(List("dog","he","word","hello"))
val b = a.keyBy(_.length) val c = sc.parallelize(List("cat","first","everyone"))
val d = c.keyBy(_.length)
//(2,he)(4,word)
b.subtractByKey(d).collect().foreach(print)
}
}
/**
* Created by spark on 15-1-19.
* sumApprox没有出现我希望的结果
*/
object SumAndSumApprox {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("spark-demo").setMaster("local")
val sc = new SparkContext(conf) import org.apache.spark.SparkContext._
val a = sc.parallelize(1 to 1000000)
val b = a.sum()
val c = a.sumApprox(0L,0.9).getFinalValue() println(b + " *** " + c)
}
}
/**
* Created by spark on 15-1-19.
* 取出RDD的前n个元素,以数组的形式返回
*/
object Take {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("spark-demo").setMaster("local")
val sc = new SparkContext(conf) //import org.apache.spark.SparkContext._
val a = sc.parallelize(1 to 1000000) //
a.take(10).foreach(print)
}
}
/**
* Created by spark on 15-1-19.
* 对RDD元素进行升序排序
* 取出前n个元素并以数组的形式放回
*/
object TakeOrdered {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("spark-demo").setMaster("local")
val sc = new SparkContext(conf) //import org.apache.spark.SparkContext._
val a = sc.parallelize(List("ff","aa","dd","cc")) //aacc
a.takeOrdered(2).foreach(print)
}
}
/**
* Created by spark on 15-1-19.
* 数据取样
*/
object TakeSample {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("spark-demo").setMaster("local")
val sc = new SparkContext(conf) //import org.apache.spark.SparkContext._
val a = sc.parallelize(1 to 10000) /**
* 9048
5358
5216
7301
6303
6179
6151
5304
8115
3869
*/
a.takeSample(true , 10 , 1).foreach(println)
}
}
/**
* Created by spark on 15-1-19.
* debug 详情信息显示
*/
object ToDebugString {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("spark-demo").setMaster("local")
val sc = new SparkContext(conf) //import org.apache.spark.SparkContext._
val a = sc.parallelize(1 to 9)
val b = sc.parallelize(1 to 3)
val c = a.subtract(b) c.toDebugString
}
}
/**
* Created by spark on 15-1-19.
* 获得前几个最大值
*/
object Top {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("spark-demo").setMaster("local")
val sc = new SparkContext(conf) //import org.apache.spark.SparkContext._
val a = sc.parallelize(1 to 1000)
val c = a.top(10) /**
*1000
999
998
997
996
995
994
993
992
991
*/
c.foreach(println)
}
} /**
* Union == ++ 把两个RDD合并为一个新的RDD
*/
object Union {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("spark-demo").setMaster("local")
val sc = new SparkContext(conf) //import org.apache.spark.SparkContext._
val a = sc.parallelize(1 to 3)
val b = sc.parallelize(3 to 5)
val c = a.union(b)
val d = a ++ b /**
*123345
*/
c.collect().foreach(print) /**
*123345
*/
d.collect().foreach(print)
}
}

--Java

package com.demo.sparkWordCount;

import java.util.ArrayList;
import java.util.Arrays;
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.VoidFunction; import akka.japi.Function;
import scala.Tuple2; /*
* Ming Z M LI
* */
public class FunctionDemo {
/*
* create Context
*/
public static JavaSparkContext createContext() { SparkConf sparkConf = new SparkConf().setAppName("FunctionDemo").setMaster("local[*]"); JavaSparkContext ctx = new JavaSparkContext(sparkConf); return ctx; } public static void main(String[] args) { demo5();
} /*
* RDD1.subtract(RDD2):返回一个新的RDD,内容是:RDD1中存在的,RDD2中不存在的
*/
public static void demo2() { JavaSparkContext ctx = createContext();
List<String> list1 = new ArrayList<String>();
list1.add("hello1");
list1.add("hello2");
list1.add("hello3");
list1.add("hello4"); List<String> list2 = new ArrayList<String>();
list2.add("hello3");
list2.add("hello4");
list2.add("world5");
list2.add("world6"); JavaRDD<String> a = ctx.parallelize(list1);
JavaRDD<String> b = ctx.parallelize(list2); a.subtract(b).foreach(new VoidFunction<String>() {
public void call(String t) throws Exception {
System.out.println(t.toString());
}
});
} /**
* Created by spark on 15-1-19. RDD1.subtractByKey(RDD2):返回一个新的RDD,内容是:RDD1
* key中存在的,RDD2 key中不存在的 foreach 结果带key (4, bird) (5, hello) (3, cat) output
* - (4,bird) (4,bird)
*/ public static void demo3() {
JavaSparkContext ctx = createContext();
JavaRDD<String> a = ctx.parallelize(new ArrayList<String>(Arrays.asList("cat", "hello", "bird", "bird")));
JavaRDD<String> b = ctx.parallelize(new ArrayList<String>(Arrays.asList("cat", "hello", "testing"))); JavaPairRDD<Integer, String> c = a.keyBy(new org.apache.spark.api.java.function.Function<String, Integer>() { public Integer call(String v1) throws Exception { return v1.length();
} }); // c.foreach(new VoidFunction<Tuple2<Integer,String>>(){
//
// public void call(Tuple2<Integer, String> t) throws Exception {
// // TODO Auto-generated method stub
// System.out.println("("+t._1+", "+t._2+")");
// }
// }); JavaPairRDD<Integer, String> d = b.keyBy(new org.apache.spark.api.java.function.Function<String, Integer>() { public Integer call(String v1) throws Exception { return v1.length();
} }); c.subtract(d).foreach(new VoidFunction<Tuple2<Integer, String>>() {
public void call(Tuple2<Integer, String> t) throws Exception {
// TODO Auto-generated method stub
System.out.println("(" + t._1 + ", " + t._2 + ")");
}
});
} /**
* 取出RDD的前n个元素,以数组的形式返回
*/
public static void demo4() {
JavaSparkContext ctx = createContext();
JavaRDD<String> a = ctx.parallelize(new ArrayList<String>(Arrays.asList("1", "4", "2", "3"))); List<String> b = a.take(3); for (String c : b) {
System.out.println(c);
} } /**
* 获得前几个最大值 output - hello 3
*/
public static void demo5() {
JavaSparkContext ctx = createContext();
JavaRDD<String> a = ctx.parallelize(new ArrayList<String>(Arrays.asList("1", "hello", "2", "3")));
List<String> b = a.top(2);
for (String c : b) {
System.out.println(c);
}
} }

Java_spark简单例子的更多相关文章

  1. Hibernate4.2.4入门(一)——环境搭建和简单例子

    一.前言 发下牢骚,这段时间要做项目,又要学框架,搞得都没时间写笔记,但是觉得这知识学过还是要记录下.进入主题了 1.1.Hibernate简介 什么是Hibernate?Hibernate有什么用? ...

  2. AgileEAS.NET SOA 中间件平台.Net Socket通信框架-简单例子-实现简单的服务端客户端消息应答

    一.AgileEAS.NET SOA中间件Socket/Tcp框架介绍 在文章AgileEAS.NET SOA 中间件平台Socket/Tcp通信框架介绍一文之中我们对AgileEAS.NET SOA ...

  3. spring mvc(注解)上传文件的简单例子

    spring mvc(注解)上传文件的简单例子,这有几个需要注意的地方1.form的enctype=”multipart/form-data” 这个是上传文件必须的2.applicationConte ...

  4. ko 简单例子

    Knockout是在下面三个核心功能是建立起来的: 监控属性(Observables)和依赖跟踪(Dependency tracking) 声明式绑定(Declarative bindings) 模板 ...

  5. mysql定时任务简单例子

    mysql定时任务简单例子 ? 1 2 3 4 5 6 7 8 9     如果要每30秒执行以下语句:   [sql] update userinfo set endtime = now() WHE ...

  6. java socket编程开发简单例子 与 nio非阻塞通道

    基本socket编程 1.以下只是简单例子,没有用多线程处理,只能一发一收(由于scan.nextLine()线程会进入等待状态),使用时可以根据具体项目功能进行优化处理 2.以下代码使用了1.8新特 ...

  7. 一个简单例子:贫血模型or领域模型

    转:一个简单例子:贫血模型or领域模型 贫血模型 我们首先用贫血模型来实现.所谓贫血模型就是模型对象之间存在完整的关联(可能存在多余的关联),但是对象除了get和set方外外几乎就没有其它的方法,整个 ...

  8. [转] 3个学习Socket编程的简单例子:TCP Server/Client, Select

    以前都是采用ACE的编写网络应用,最近由于工作需要,需要直接只用socket接口编写CS的代码,重新学习这方面的知识,给出自己所用到的3个简单例子,都是拷贝别人的程序.如果你能完全理解这3个例子,估计 ...

  9. jsonp的简单例子

    jsonp的简单例子 index.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8&q ...

随机推荐

  1. 将矩阵转化为LibSvm需要的格式

    function svmtransform(A)[m,n]=size(A); fid = fopen('A.txt','w');%写入文件路径for i=1:m    temp1 = A(i,2:n) ...

  2. mysql_connect v/s mysql_pconnect

    原文:mysql_connect v/s mysql_pconnect 译文:mysql_connect v/s mysql_pconnect 译者:dwqs 当需要使用PHP连接MySQL数据库的时 ...

  3. trie树 Codeforces Round #367 D Vasiliy's Multiset

    // trie树 Codeforces Round #367 D Vasiliy's Multiset // 题意:给一个集合,初始有0,+表示添加元素,-去除元素,?询问集合里面与x异或最大的值 / ...

  4. 机器学习中的数学(1)-回归(regression)、梯度下降(gradient descent)

    版权声明: 本文由LeftNotEasy所有,发布于http://leftnoteasy.cnblogs.com.如果转载,请注明出处,在未经作者同意下将本文用于商业用途,将追究其法律责任. 前言: ...

  5. json字符串转换为JSONObject和JSONArray

    一.下载json 具体到http://www.json.org/上找java-json下载,并把其放到项目源代码中,这样就可以引用其类对象了 二.具体转化过程 //JSONObject String ...

  6. jsp文件上传、下载

    一.文件上传 上传文件是Web开发中经常要用到的功能:例如在基于B/S的人事信息管理系统中上传照片,在新闻发布系统中上传图片等等.....要实现文件上传功能,就需要综合利用java中的文件输入和输出相 ...

  7. Spring4整合Hibernate4详细示例

    1. Spring整合Hibernate,主要是解决什么问题? a.让Spring提供的IOC容器来管理Hibernate的SessionFactory b.让Hibernate使用Spring提供的 ...

  8. 问题-FireDAC连接Sqlite3提示“unable to open database file”

    相关资料:http://www.dfwlt.com/forum.php?mod=viewthread&tid=1497&extra= 问题现象:FireDAC连接Sqlite3在开发电 ...

  9. Oracle中纵横表的转化

    横表就是普通的建表方式,如一个表结构为:主键.字段1.字段2.字段3......如果变成纵表后, 则表结构为:主键.字段代码.字段值.而字段代码则为字段1.字段2.字段3. 纵表对从数据库到内存的映射 ...

  10. JSF 2.0 + Ajax hello world example

    In JSF 2.0, coding Ajax is just like coding a normal HTML tag, it's extremely easy. In this tutorial ...