Java_spark简单例子
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简单例子的更多相关文章
- Hibernate4.2.4入门(一)——环境搭建和简单例子
一.前言 发下牢骚,这段时间要做项目,又要学框架,搞得都没时间写笔记,但是觉得这知识学过还是要记录下.进入主题了 1.1.Hibernate简介 什么是Hibernate?Hibernate有什么用? ...
- AgileEAS.NET SOA 中间件平台.Net Socket通信框架-简单例子-实现简单的服务端客户端消息应答
一.AgileEAS.NET SOA中间件Socket/Tcp框架介绍 在文章AgileEAS.NET SOA 中间件平台Socket/Tcp通信框架介绍一文之中我们对AgileEAS.NET SOA ...
- spring mvc(注解)上传文件的简单例子
spring mvc(注解)上传文件的简单例子,这有几个需要注意的地方1.form的enctype=”multipart/form-data” 这个是上传文件必须的2.applicationConte ...
- ko 简单例子
Knockout是在下面三个核心功能是建立起来的: 监控属性(Observables)和依赖跟踪(Dependency tracking) 声明式绑定(Declarative bindings) 模板 ...
- mysql定时任务简单例子
mysql定时任务简单例子 ? 1 2 3 4 5 6 7 8 9 如果要每30秒执行以下语句: [sql] update userinfo set endtime = now() WHE ...
- java socket编程开发简单例子 与 nio非阻塞通道
基本socket编程 1.以下只是简单例子,没有用多线程处理,只能一发一收(由于scan.nextLine()线程会进入等待状态),使用时可以根据具体项目功能进行优化处理 2.以下代码使用了1.8新特 ...
- 一个简单例子:贫血模型or领域模型
转:一个简单例子:贫血模型or领域模型 贫血模型 我们首先用贫血模型来实现.所谓贫血模型就是模型对象之间存在完整的关联(可能存在多余的关联),但是对象除了get和set方外外几乎就没有其它的方法,整个 ...
- [转] 3个学习Socket编程的简单例子:TCP Server/Client, Select
以前都是采用ACE的编写网络应用,最近由于工作需要,需要直接只用socket接口编写CS的代码,重新学习这方面的知识,给出自己所用到的3个简单例子,都是拷贝别人的程序.如果你能完全理解这3个例子,估计 ...
- jsonp的简单例子
jsonp的简单例子 index.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8&q ...
随机推荐
- Android的Eclipse升级笔记
Eclipse优化: 1.可以删除的插件有: EGit CVS Mylyn cdt 1.不用多次加载布局容器的版本: ADT-22.3.0 adt-bundle-windows-x86-2013103 ...
- Request、Request.Form和Request.QueryString的区别
Request.Form:获取以POST方式提交的数据(接收Form提交来的数据): Request.QueryString:获取地址栏参数(以GET方式提交的数据) Request:包含以上两种方式 ...
- cocos2d-x 不能在android真机debug的问题
最近在做cocos2d-x开发的时候,发现在android真机上不能调试C++代码,显示如下警告信息 Ignoring packet error, continuing... warning: unr ...
- mybatis系列-12-多对多查询
12.1 需求 查询用户及用户购买商品信息. 12.2 sql语句 查询主表是:用户表 关联表:由于用户和商品没有直接关联,通过订单和订单明细进行关联,所以关联表: orders.or ...
- Longest Increasing Sequence
public class Longest_Increasing_Subsequence { /** * O(N^2) * DP * 思路: * 示例:[1,0,2,4,10,5] * 找出以上数组的L ...
- Oracle导入导出之dmp
Oracle导入导出有两种方式,分别是imp/exp与impdp/expdp. 1.imp/exp exp scott/tiger file=d:\test.dmp log=d:\test.log o ...
- Java IO (2) - OutputStream
Java IO (2) - OutputStream 前言 JavaIO一共包括两种,一种是stream,一种是reader/writer,每种又包括in/out,所以一共是四种包.Java 流在处理 ...
- PID入门的十五个基本概念
PID调节系统PID功能由PID调节器或DCS系统内部功能程序模块实现,了解与PID调节相关的一些基本概念,有助于PID入门新手快速熟悉调节器应用,在自动调节系统中成功整定PID参数.1.被调量被调量 ...
- Java虚拟机学习 - 体系结构 内存模型
一:Java技术体系模块图 二:JVM内存区域模型 1.方法区 也称"永久代” .“非堆”, 它用于存储虚拟机加载的类信息.常量.静态变量.是各个线程共享的内存区域.默认最小值为16MB,最 ...
- Linux学习笔记--(1)
今天用Linux 的 test 命令,发现了一个有趣的现象: 打入 " test "abc"="abc" ;echo $? " 后,结果应该 ...