千家信息网

怎么用Spark求数据的最大值

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,本篇内容介绍了"怎么用Spark求数据的最大值"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1: 以
千家信息网最后更新 2025年12月03日怎么用Spark求数据的最大值

本篇内容介绍了"怎么用Spark求数据的最大值"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1: 以前用过hadoop从文件中读取数据求过最大值。现在用Spark来求最大值。由于spark的资料比较少所以搞了半天才弄完。我亲自测试在local状态下14750778条数据用了10秒。

2:下载spark-0.9.1-bin-hadoop1并解压到F:\BigData (Spark可以再Windows上运行) 打开目录F:\BigData\spark-0.9.1-bin-hadoop1\assembly\target\scala-2.10把里面的spark-assembly_2.10-0.9.1-hadoop1.0.4.jar放到新建的工程里面就可以了。

准备数据:新建一个data文件在里面输入如下内容:

1,1,5.0

1,2,1.0

1,3,5.0

1,4,1.0

2,1,5.0

2,2,1.0

2,3,5.0

2,4,1.0

3,1,1.0

3,2,5.0

3,3,1.0

3,4,5.0

4,1,1.0

4,2,5.0

4,3,1.0

4,4,5.0

1,1,5.0

1,2,1.0

1,3,5.0

1,4,1.0

2,1,5.0

2,2,1.0

2,3,5.0

2,4,1.0

3,1,1.0

3,2,5.0

3,3,1.0

3,4,5.0

4,1,1.0

4,2,5.0

4,3,1.0

4,4,5.0

1,1,5.0

1,2,1.0

1,3,5.0

1,4,1.0

2,1,5.0

2,2,1.0

数据之间用逗号分隔

打开eclipse新建一个javaProject.

在任意包中书写如下内容

package com.spark.test;

import java.util.Arrays;

import java.util.regex.Pattern;

import org.apache.spark.api.java.JavaDoubleRDD;

import org.apache.spark.api.java.JavaRDD;

import org.apache.spark.api.java.JavaSparkContext;

import org.apache.spark.api.java.function.DoubleFunction;

import org.apache.spark.api.java.function.FlatMapFunction;

import org.apache.spark.api.java.function.Function2;

public final class Max {

private static final Pattern SPACE = Pattern.compile(",");

public static void main(String[] args) throws Exception {

// spark安装目录

String spark_home = "F:\\BigData\\spark-0.9.1-bin-hadoop1";

// "local" 代表了本地运行模式

JavaSparkContext ctx = new JavaSparkContext("local", "JavaWordCount",

spark_home, JavaSparkContext.jarOfClass(JavaWordCount.class));

// 加载文件

JavaRDD lines = ctx

.textFile(

"E:\\workspace\\spark\\src\\com\\spark\\resource\\test.data",

1);

// flatMap函数是把每一行根据分隔符把它变成多行。比如1,2,3 用逗号分隔用了flatMap后变成

// 1

// 2

// 3 .这一行的主要作用是把所有的数据放到JavaRDD里面

JavaRDD words = lines

.flatMap(new FlatMapFunction() {

@Override

public Iterable call(String s) {

return Arrays.asList(SPACE.split(s));

}

});

// 把JavaRDD类型变成JavaDoubleRDD类型的

JavaDoubleRDD one = words.map(new DoubleFunction() {

@Override

public Double call(String s) throws Exception {

if (s.trim().length() == 0) {

s = "0";

}

return Double.parseDouble(s);

}

});

// 统计有多少条数据

System.out.println(one.count() + "%%%%%%%%");

// 求最大值.new Function2()

// 函数的3个参数,第一个和第二个参数对应call函数里面的第一个参数和第二个参数。第3个参数代表call函数的返回值类型

Double max = one.rdd().reduce(new Function2() {

@Override

public Double call(Double i1, Double i2) throws Exception {

return Math.max(i1, i2);

}

});

System.out.println(max);

System.exit(0);

}

}

"怎么用Spark求数据的最大值"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

数据 最大 最大值 参数 内容 函数 文件 类型 一行 代表 更多 目录 知识 逗号 运行 实用 学有所成 接下来 之间 作用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 和龙软件开发公司 国际网络安全与人才创新基地 机房安装服务器需要几人 华为服务器远程登录 软件开发企业双软认定 软件开发公司养人成本太高 珠海继文互联网科技有限公司电话 浙江标准软件开发现价 校园网游戏无法连接到服务器 跨境数据流动与网络安全论坛 软件开发人力资源渠道 泉州天气预报软件开发 网络中继服务器 华为泰山服务器 欧拉 上海山丽网络安全有限公司 联想服务器怎样设置密码 千方百剂医药管理系统服务器 如何清空数据库2008 崩坏三其他服务器可以登录官服吗 软件开发成本开多少合适 外文数据库的共享 深圳星聚网络技术有限公司 重庆安卓软件开发哪家实惠 华为有多少网络技术部 全国革命文物资源大数据库平台 腾讯云数据库怎么登陆 网站数据库批量删除外链 机场运行网络安全 重新启动ssh服务器的命令 服务器计量单位有哪些
0