设为首页 加入收藏

TOP

Spark 创建RDD (集合,本地文件,hdfs文件)基础数据源
2019-04-22 00:18:08 】 浏览:45
Tags:Spark 创建 RDD 集合 本地 文件 hdfs 基础 数据源
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/github_37643896/article/details/82661453

本文主要记录 一些基础 数据源 转换 成为 RDD 的案例 仅供参考

1.集合类转换为RDD


import java.util.Arrays;
import java.util.List;

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.Function2;


public class ParallelizeCollection {
	
	public static void main(String[] args) {
		// 创建SparkConf
		SparkConf conf = new SparkConf()
				.setAppName("ParallelizeCollection")
				.setMaster("local");  
		
		// 创建JavaSparkContext
		JavaSparkContext sc = new JavaSparkContext(conf);
		
		// 要通过并行化集合的方式创建RDD,那么就调用SparkContext以及其子类,的parallelize()方法
		List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
		JavaRDD<Integer> numberRDD = sc.parallelize(numbers);
		
		// 执行reduce算子操作
		// 相当于,先进行1 + 2 = 3;然后再用3 + 3 = 6;然后再用6 + 4 = 10。。。以此类推
		int sum = numberRDD.reduce(new Function2<Integer, Integer, Integer>() {
			
			private static final long serialVersionUID = 1L;

			@Override
			public Integer call(Integer num1, Integer num2) throws Exception {
				return num1 + num2;
			}
			
		});
		
		// 输出累加的和
		System.out.println("1到10的累加和:" + sum);  
		
		// 关闭JavaSparkContext
		sc.close();
	}
	
}

2.读取本地文件 (转换部分)

// 创建SparkConf
SparkConf conf = new SparkConf()
				.setAppName("LocalFile")
				.setMaster("local"); 
// 创建JavaSparkContext
JavaSparkContext sc = new JavaSparkContext(conf);
		
// 使用SparkContext以及其子类的textFile()方法,针对本地文件创建RDD
JavaRDD<String> lines =sc.textFile("C://Users//Administrator//Desktop//spark.txt");

3.读取 hdfs系统文件 (转换部分)

SparkConf conf = new SparkConf()
				.setAppName("HDFSFile"); 
// 创建JavaSparkContext
JavaSparkContext sc = new JavaSparkContext(conf);		
// 使用SparkContext以及其子类的textFile()方法,针对HDFS文件创建RDD
// 只要把textFile()内的路径修改为hdfs文件路径即可
JavaRDD<String> lines = sc.textFile("hdfs://spark1:9000/spark.txt");

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇storm(07)——storm与hdfs的整合 下一篇阿里云的oss上传到cdh的hdfs集群

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目