Spark 创建RDD (集合,本地文件,hdfs文件)基础数据源

Spark大数据 掌握RDD的创建 在Spark中,RDD是数据处理的核心数据结构。掌握RDD的创建方式以及理解其特性对于高效地使用Spark进行大数据处理至关重要。从集合、外部数据源、其他RDD转换以及自定义方式创建RDD,都是常见的RDD创建方法。同时,理解分区和分区数、缓存等概念,可以帮助我们更好地优化Spark作业的性能。 阅读详情

本文主要记录 一些基础 数据源 转换 成为 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");

 

Spark学习笔记10:创建RDD 目录 一、什么是RDD (一)RDD概念 (二)RDD示例 (三)RDD主要特征 二、做好准备工作 (一)准备文件 1、准备本地系统文件 2、启动HDFS服务 3、准备HDFS系统文件 (二)启动SparkShell 1、启动Spark服务 2、启动Spark Shell 三、创建RDD (一)从对象集合创建RDD 1、利用parallelize()方法创建RDD 2、利用makeRDD()方法创建RDD 3、总结说明 (二)从外部存储创建RDD 1、读取...... 阅读详情

相关推荐

Spark基础学习笔记16:创建RDD

RDD概念,创建RDD

howard2005的专栏 2867

spark java集合转scala_Spark之RDD与DataFrame互相转换

在Spark中RDD转换为DataFrame一共有两种方法。一种是基于一个封装数据的类去转换,另一种是通过结构类型去转换,下面分别介绍。基于封装数据的类去转换(反射方式)Java版本这种方法是底层基于类的反射机制去实现的,为了封装数据我们首先需要一个封装数据的类也就是JavaBean。然后去构造一个JavaRDD,然后调用构造RDD的方法去构造DataFrame,这时需要传入构造好的RDD与Jav...

weixin_39843338的博客 457

零成本接入Gemini Pro:GCP+NewAPI+OpenCode全栈方案

AI编程助手在现代开发流程中扮演着越来越重要的角色,其核心原理是通过大语言模型理解开发者意图并生成代码。以Gemini Pro为代表的顶级模型虽然能力出众,但成本控制和接入复杂度成为主要痛点。通过Google Cloud Platform的免费额度与开源工具链组合,开发者可以构建零成本的AI辅助开发环境。该方案采用Vertex AI作为基础模型服务,通过New API实现协议转换,最终与OpenCode终端工具深度集成。这种架构特别适合需要长期稳定使用AI编程助手的开发者,既能享受Gemini Pro的百万

weixin_29051245的博客 431

Spark list并行化为JavaRDD的方法

Spark list并行化为JavaRDD的方法 List&lt;SimpleFeature&gt; featList=new ArrayList&lt;SimpleFeature&gt;(); featList.add(newFeat); //list 转 seq 方法 Seq&lt;SimpleFeature&gt; seqFeat = JavaConverters.asScalaI...

hsg77的专栏 4522

在 Zemax 非序列模式下建立干涉仪模型

Zemax 利用其相干检测功能,将到达探测器的射线的能量相干地组合起来,同时考虑每条检测到的射线的幅度和相位。从对这些干涉条纹的定量评估来看,光学干涉仪具有广泛的应用,包括在天文学中用于测量天体的大小,在计量学中用于精确测量距离,在显微镜中用于提高分辨率,以及在物理和工程的各个领域中用于检测条件的微小变化。在光学干涉仪中,使用的是光波。非相干和相干相加的总功率是守恒的,但相干光束的峰值辐照度应该是非相干光束总和的 2 倍,这是理所当然的。请注意,条纹的缺失是显而易见的,因为不再从相干的角度观察探测器。

jkh920184196的博客 2382

NTFS分区变成RAW别乱修!正确数据恢复与修复方法详解

文件系统是操作系统管理存储数据的核心机制,NTFS作为Windows主流文件系统,一旦分区识别异常,常会显示为RAW格式。分区变RAW通常意味着文件系统入口信息损坏,而非数据物理消失,但若采用错误的修复方式,如直接对RAW分区执行chkdsk /f,可能因系统无法正确识别文件系统结构,导致写入操作落在错误偏移位置,二次破坏本可恢复的数据。正确的处理思路是:先停止一切写入操作,通过扇区级镜像备份保留原始现场,再分析DBR、分区表及$MFT状态,依据诊断结果选择修复或深度扫描恢复。实际排查中,常见问题如DBR记

weixin_31155097的博客 135

Spark JavaRDD转换各种Java类型集合

刚开始接触JavaRDD有点迷糊 各种数据类型约束也转得比较头疼 Spring后台返回的Json貌似不能直接用RDD 得用java集合 弄了一天终于有点懂了 写个总结 首先导一个数据集作为RDD SparkConf sparkConf = new SparkConf().setAppName("MapPartitionsRdd").setMaster("local"); JavaSparkC...

唧唧歪歪的博客 2568

【STK】手把手教你利用STK进行仿真-STK软件简介02 STK专业分析模块

STK/Astrogator是一个交互式轨道机动和深空探测计划工具,用于飞行器运行及任务分析,通过定义推力模型、目标星历、飞行器姿态,提供轨道机动的解决及优化方案。应用Astrogator分析轨道机动的可见性和地面站覆盖,用户可以快速、方便地进行全局分析。任务控制序列保存在STK场景中,用于任务运行、快速制定精确轨道机动方案。为在轨运行的飞行器制定或执行机动计划时,分析人员可以根据飞行过程数据,如发动机定标参数、实际初始轨道,计算出推进器点火和点火时机数据,用于发出指令及精炼机动计划。

weixin_44184852的博客 1865

Spark 环境搭建和使用方法

Spark 环境搭建和使用方法

m0_58064058的博客 668

【HALCON工业视觉应用探索】10. C#+Halcon 3D视觉实战:点云处理与三维测量工业指南(附完整代码与实操案例)

摘要:本文聚焦C#+Halcon在3D视觉领域的工业应用,从新手友好的“基础3D检测系统”切入,逐步深入“汽车铸件三维测量”等工业级场景。内容涵盖核心概念(点云数据结构、3D采集原理、坐标系统)、完整技术流程(数据采集→预处理→特征提取→三维测量→结果可视化)、工业级代码实现(多视角点云融合、微缺陷检测、高精度尺寸测量),以及现场落地关键技巧(硬件选型、标定流程、抗干扰优化)。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 2006

微信小程序数据采集实战:抓包+接口分析+动态数据全流程

微信小程序爬虫虽然比普通网页爬虫复杂,但只要掌握了正确的方法,其实并没有想象中那么难。核心思路就是:先绕过证书校验抓包,然后反编译小程序找到加密逻辑,最后用Python模拟相同的加密和解密过程。需要特别提醒的是,本文仅供技术研究使用。请遵守《网络安全法》和相关法律法规,不要爬取他人的敏感数据,不要将爬虫技术用于非法用途。尊重他人的知识产权和数据安全,才能让技术发挥真正的价值。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1095

什么是Spark RDD?(RDD的介绍与创建)

什么是Spark RDD?RDD的介绍与创建

weixin_74292291的博客 1475

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Spark RDD的创建

将数据集(hello, world, scala, spark, love, spark, happy)存储在三个节点上,节点一存储(hello, world),节点二存储(scala, spark, love),节点三存储(spark, happy),这样对三个节点的数据可以并行计算,并且三个节点的数据共同组成了一个RDD。在编程时,可以把RDD看作是一个数据操作的基本单位,而不必关心数据的分布式特性,Spark会自动将RDD的数据分发到集群的各个节点。不同的是,数据的来源路径不同。

梁辰兴的博客 1698

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Spark RDD深度解析:概念、创建方式与分区机制

RDD(弹性分布式数据集)是Spark中最基本的数据抽象,它代表一个不可变的、可分区的、内部元素可并行计算的集合。fill:#333;important;important;fill:none;root(RDD核心特性)弹性自动内存和磁盘切换容错性(血缘关系)可重算分布式数据分布在集群多节点并行计算数据集只读(不可变)可分区元素类型任意fill:#333;important;important;fill:none;color:#333;color:#333;important;

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 4135

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Spark RDD之三种创建方式

使用三种方式创建RDD 使用SparkContext的parallelize()方法序列化本地数据集合创建RDD。 使用外界的数据源创建RDD,比如说本地文件系统,分布式文件系统HDFS等等。 通过将已有RDD使用transform算子操作产生新的RDD。 三种方式创建RDD--Java /** * 三种方法创建RDD演示Java版本 */ public class CreateRD...

lixinkuan的博客 2599

Spark Core快速入门系列(2) | Spark Core中编程模型的理解与RDD的创建

  大家好,我是不温卜火,是一名计算机学院大数据专业大二的学生,昵称来源于成语—不温不火,本意是希望自己性情温和。作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多和自己一样处于起步阶段的萌新。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只有csdn这一个平台,博客主页:https://buwenbuhuo.blog.youkuaiyun.com/   此篇为大家带来的是Spark Core中编程模型的理解与RDD的.

不温卜火 6293

Spark RDD 常用操作详解

定义转换函数... return (x, 1) # 返回元组(元素,1)# 应用自定义函数>>> rdd2 = rdd1.map(trans) # 使用函数名而非lambda。

2501_90817086的博客 1199

spark创建RDD方式

Spark RDD基本创建所需要的数据源(集合、本地文件、HDFS、Hbase和HiveSQL等)    1利用集合创建RDD,就是为了方便测试。 调用SparkContext的parallelize()方法进行创建并行化的数据集合。 val arrays =Array(1,3,4,5,6,7,11,29) val arrayRDD = sc.par

青于蓝胜于蓝的博客 656

Spark从集合、HDFS、HBase、Elasticsearch和MySQL中读取数据,创建RDD

RDD的创建 RDD(Resilient Distributed Dataset)全称为弹性分布式数据集,是Spark对数据的核心抽象。创建RDD是使用RDD的第一步,一般可以由内存中的集合、文件、外部数据源生成或者由其他RDD转换而成。 1.并行集合 并行集合可以对Driver中的集合调用parallelize方法得到,Driver会将集合切成分区,并将数据分区分发到整个集群中。 val sc = new SparkContext(sparkConf) val rdd = sc.parallelize(S

|+街道口地痞- 992

大数据-99 Spark Streaming 数据源全面总结:原理、应用 文件流、Socket、RDD队列流

Spark Streaming 提供多种数据源以满足不同场景下的实时处理需求。文件系统数据源可持续监控目录并处理新文件,适合日志分析与报表处理;Socket 流通过 TCP 套接字接收文本数据,简单易用,适合原型开发和测试;Kafka 集成提供 Receiver 和 Direct 两种模式,其中 Direct 模式支持精确一次处理语义,常用于点击流与推荐系统;Flume 支持 Push 与 Poll 两种方式,具备高可靠性,适用于日志收集;Kinesis 则具备高吞吐和低延迟,适合 IoT 与 AWS 实时

谢谢你的喜欢 我们一起无限进步 4772

Spark学习之路(二)【RDD概述、不同数据源的RDD创建方式】

Spark之RDD RDD概述 RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD具有数据流模型的特点:自动容错、位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时显式地将工作集缓存在内存中,后续的查询能够重用工作集,这极大地提升了查询速度。 构建RDD 通过并...

高興 575

大数据 - Spark系列《三》- 加载各种数据源创建RDD

本篇博客将介绍如何在 Spark 中加载不同类型的数据源,介绍加载本地文件、本地集合以及 MySQL 数据库的过程。

weixin_40968325的博客 2025

Spark:RDD简介及基础算子

本文主要介绍Spark Core的核心内容:RDD。包含以下章节和对应的内容 章节 内容 1 RDD简介 2 RDD分区 3 RDD的依赖关系 4 RDD的缓存机制和区别 5 RDD创建的两种方式 6 RDD算子和总结 7 RDD 算子操作案例 1、RDD简介 RDD(Resilient Distribute...

yilulvxing的博客 6033
上一篇: Spark 启动报错时报错 java.lang.NoSuchMethodError: scala.collection.immutable.HashSet$.empty()Lscala/collect
下一篇: Flume 自定义source -- SQLSource (转为 json 格式)
H.King
博客等级 码龄10年 4粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值