Spark RDD操作之Map系算子
在linux系统上安装solrCloud
1.依赖:
JRE solr7.3 需要 java1.8
独立的zookeeper服务 ,zookeeper安装请参考:
http://zookeeper.apache.org/doc/current/zookeeperStarted.html
2.上传solr安装包
3.从安装包中解出安装脚本
tar xzf solr-7.3.0.tgz solr-7.3.0/bin/install_solr_service.sh --strip-components=2
安装脚本可用于:CentOS, Debian, Red Hat, SUSE and Ubuntu Linux distributions
4.安装脚本参数说明:
./install_solr_service.sh -help
-i 指定软件安装目录。默认 /opt
-d 指定数据目录(solr主目录):内核存储目录 。默认 /var/solr
-u 指定要创建的拥有solr的用户名,出于安全考虑,不应以root来运行。默认 solr
-s 指定系统服务名。默认 solr
-p 指定端口。默认 8983
5.目录规划
6.以root身份运行安装脚本进行安装
./install_solr_service.sh solr-7.3.0.tgz
等同:
./install_solr_service.sh solr-7.3.0.tgz -i /opt -d /var/solr -u solr -s solr -p 8983
配置solr服务实例
1.认识solr服务的配置文件
问:如何启动一个solr服务实例?
1,系统服务脚本: /etc/init.d/solr 请查看该脚本内容,看系统启动时是如何启动solr服务实例的。 可看到使用了如下三个变量:
2.环境参数配置文件(官方叫法:include file)。它将覆盖 bin/solr启停控制脚本中的配置参数。我们通过该文件来配置修改solr服务实例的运行配置。
请查看 /etc/default/solr.in.sh ,看我们可以在该文件中进行哪些配置。
在 /etc/default/solr.in.sh 中可看到它配置了如下参数:
map将RDD的元素一个个传入call方法,经过call方法的计算之后,逐个返回,生成新的RDD,计算之后,记录数不会缩减。示例代码,将每个数字加10之后再打印出来, 代码如下
import java.util.Arrays;
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.function.Function;
import org.apache.spark.api.java.function.VoidFunction;
public class Map {
public static void main(String[] args) {
SparkConf conf = new SparkConf(www.yongshiyule178.com/).setAppName( www.dfgjpt.com"spark map").setMaster("local[*]");
JavaSparkContext javaSparkContext www.michenggw.com new JavaSparkContext(conf);
JavaRDD<Integer> listRDD = javaSparkContext.parallelize(Arrays.asList(1, 2, 3, 4));
JavaRDD<Integer> numRDD www.yongshi123.cn =www.tiaotiaoylzc.com listRDD.map(new Function<Integer, Integer>() {
@Override
public Integer call(Integer num) throws Exception {
return num + 10;
numRDD.foreach(new VoidFunction<Integer>(www.cmeidi.cn) {
@Override
public void call(Integer num) throws Exception {
System.out.println(num);
执行结果:
2、flatMap
flatMap和map的处理方式一样,都是把原RDD的元素逐个传入进行计算,但是与之不同的是,flatMap返回值是一个Iterator,也就是会一生多,超生
import java.util.Arrays;
import java.util.Iterator;
import org.apache.spark.SparkConf;
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.VoidFunction;
public class FlatMap {
public static void main(String[] args) {
SparkConf conf = new SparkConf().setAppName(www.mhylpt.com"spark map"www.ycjszpgs.com).setMaster("local[*]");
JavaSparkContext javaSparkContext = new JavaSparkContext(conf);
JavaRDD<String> listRDD = javaSparkContext
.parallelize(Arrays.asList("hello wold", "hello java", "hello spark"));
JavaRDD<String> rdd = listRDD.flatMap(new FlatMapFunction<String, String>() {
private static final long serialVersionUID = 1L;
@Override
public Iterator<String>www.myzx1.com call(String input) throws Exception {
return Arrays.asList(input.split()).iterator();
rdd.foreach(new VoidFunction<String>() {
private static final long serialVersionUID = 1L;
@Override
public void call(String num) throws Exception {
System.out.println(num);
Spark RDD操作之Map系算子的更多相关文章
- Spark RDD操作(1)
https://www.zybuluo.com/jewes/note/35032 RDD是什么? RDD是Spark中的抽象数据结构类型,任何数据在Spark中都被表示为RDD.从编程的角度来看,RD ...
- Spark RDD 操作
1. Spark RDD 创建操作 1.1 数据集合 parallelize 可以创建一个能够并行操作的RDD.其函数定义如下: ) scala> sc.defaultParallelism ...
- spark RDD操作的底层实现原理
RDD操作闭包外部变量原则 RDD相关操作都需要传入自定义闭包函数(closure),如果这个函数需要访问外部变量,那么需要遵循一定的规则,否则会抛出运行时异常.闭包函数传入到节点时,需要经过下面的步 ...
- Spark RDD API详解(一) Map和Reduce
RDD是什么? RDD是Spark中的抽象数据结构类型,任何数据在Spark中都被表示为RDD.从编程的角度来看,RDD可以简单看成是一个数组.和普通数组的区别是,RDD中的数据是分区存储的,这样不同 ...
- Spark RDD API具体解释(一) Map和Reduce
本文由cmd markdown编辑.原始链接:https://www.zybuluo.com/jewes/note/35032 RDD是什么? RDD是Spark中的抽象数据结构类型,不论什么数据在S ...
- Spark RDD API详解之:Map和Reduce
RDD是什么? RDD是Spark中的抽象数据结构类型,任何数据在Spark中都被表示为RDD.从编程的角度来看, RDD可以简单看成是一个数组.和普通数组的区别是,RDD中的数据是分区存储的,这样不 ...
- Spark RDD Operations(1)
以上是对应的RDD的各中操作,相对于MaoReduce只有map.reduce两种操作,Spark针对RDD的操作则比较多 ************************************** ...
- Apache Spark 2.2.0 中文文档 - Spark RDD(Resilient Distributed Datasets)论文 | ApacheCN
Spark RDD(Resilient Distributed Datasets)论文 概要 1: 介绍 2: Resilient Distributed Datasets(RDDs) 2.1 RDD ...
- Apache Spark RDD(Resilient Distributed Datasets)论文
Spark RDD(Resilient Distributed Datasets)论文 概要 1: 介绍 2: Resilient Distributed Datasets(RDDs) 2.1 RDD ...
随机推荐
- java线程池和中断总结
目录 java线程池和中断总结 一. 线程池的使用 二. java中断机制 中断的处理 三. 线程间通信机制总结 java线程池和中断总结 本系列文是对自己学习多线程和平时使用过程中的知识梳理,不适合 ...
- Intellij Idea 返回上次编辑快捷键设置
由于默认的返回上次编辑快捷键和和笔记本冲突. 需要从新设置快捷键. 找了好久终于找到了. 分别选中Back和Forward后设置新的快捷键即可
- 【持续更新中···】Linux下的小技巧
1.Linux回到上级文件的命令: cd ..回到上一级目录(注意:cd 和..中间有空格) cd ~回到home目录 cd -回到某一目录
- c++对象模型-对象模型
1:简单对象模型 1>介绍:每个成员都使用一个指针指向真正的成员.所以对象 的大小很好确定,就是成员数*指针大小. 2>用途:成员函数就是使用这个模型的 3>图: 4>加上继承 ...
- .NETCore_生成实体
先安装以下三个包,或者使用Nuget引用 不要问我为什么,按哥说的做吧: Install-Package Microsoft.EntityFrameworkCore.SqlServer Install ...
- C#_获取路径
一.获取当前文件的路径 1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName 获取模块的完整路径,包括文件名. ...
- spring cloud bus原理总结
1.spring cloud bus spring cloud是按照spring的配置对一系列微服务框架的集成,spring cloud bus是其中一个微服务框架,用于实现微服务之间的通信. spr ...
- Linux课题实践三——程序破解
2.3 程序破解 20135318 刘浩晨 1. 掌握NOP.JNE.JE.JMP.CMP汇编指令的机器码 NOP:NOP指令即“空指令”.执行到NOP指令时,CPU什么也不做,仅仅当做一 ...
- react-native 基础知识的学习
react已经用了半年多了,年后有时间想探究一下奇妙的react-native,还别说确实刁,具体哪里刁后面会补充,因为搭建教程,以及入门教程没来得及写,这里先来写一些基础知识的心得. 为什么reac ...
- Alpha 答辩总结模板
Alpha 答辩总结模板 每个小组提供一篇总结博客(组内共享,每个人都发布),包含: 本组(组名)所有成员(短学号,名,标注组长)(1分) 组内各成员贡献比例,如不提供,取平均分后组长得分减50% G ...