一、pom文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>Spark01</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.12</artifactId>
<version>3.5.2</version>
</dependency>
</dependencies>
</project>
二、代码示例:
package com.care.spark01.operate;
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 java.util.Arrays;
public class Spark02_Operate_Transfrom_Map {
public static void main(String[] args) {
final SparkConf conf = new SparkConf();
conf.setMaster("local");
conf.setAppName("spark");
final JavaSparkContext jsc = new JavaSparkContext(conf);
//TUDO RDD的方法
// RDD的处理方盒和Java IO流完全一样,也采用装饰者模式来实现功能的
final JavaRDD<Integer> rdd = jsc.parallelize(
Arrays.asList(1, 2, 3, 4),2
);
//TODO RDD的转换方法,map
// 对单值数据进行处理
// map : 映射 (K -> V)给你一个K ,能对应出V 将K转换成V
// 将指定的值转换为其他的值的场景
// (1, 2, 3, 4) => (2, 4, 6, 8)
// 学习方法的重点 1. 名字, 2.IN, 3.OUT
final JavaRDD<Integer> map = rdd.map(new Function<Integer, Integer>() {
@Override
public Integer call(Integer in) throws Exception {
return in * 2;
}
});
map.collect().forEach(System.out::println);
jsc.close();
}
}
三、运行结果: