Spark学习之JavaRdd】的更多相关文章

RDD 介绍 RDD,全称Resilient Distributed Datasets(弹性分布式数据集),是Spark最为核心的概念,是Spark对数据的抽象.RDD是分布式的元素集合,每个RDD只支持读操作,且每个RDD都被分为多个分区存储到集群的不同节点上.除此之外,RDD还允许用户显示的指定数据存储到内存和磁盘中,掌握了RDD编程是SPARK开发的第一步. 1:创建操作(creation operation):RDD的创建由SparkContext来负责.2:转换操作(transform…
Spark学习之路 (三)Spark之RDD   https://www.cnblogs.com/qingyunzong/p/8899715.html 目录 一.RDD的概述 1.1 什么是RDD? 1.2 RDD的属性 1.3 WordCount粗图解RDD 二.RDD的创建方式 2.1 通过读取文件生成的 2.2 通过并行化的方式创建RDD 2.3 其他方式 三.RDD编程API 3.1 Transformation 3.2 Action 3.3 Spark WordCount代码编写 3.…
Spark学习之数据读取与保存(4) 1. 文件格式 Spark对很多种文件格式的读取和保存方式都很简单. 如文本文件的非结构化的文件,如JSON的半结构化文件,如SequenceFile结构化文件.通过扩展名进行处理. 2. 读取/保存文本文件 Python中读取一个文本文件 input = sc.textfile("file:///home/holen/repos/spark/README.md") Scala中读取一个文本文件 val input = sc.textFile(&q…
Spark学习之RDD编程(2) 1. Spark中的RDD是一个不可变的分布式对象集合. 2. 在Spark中数据的操作不外乎创建RDD.转化已有的RDD以及调用RDD操作进行求值. 3. 创建RDD:1)读取一个外部数据集2)在驱动器程序里分发驱动器程序中的对象集合. 4. RDD支持的操作: 1)转换操作,由一个RDD生成一个新的RDD. 2)行动操作,对RDD进行计算结果,并把结果返回到驱动器程序中,或者把结果存储到外部存储系统(如HDFS). 5. Spark程序或者shell会话都会…
spark优化: http://www.cnblogs.com/hark0623/p/5533803.html 董西成学生写的经验分享(很详细很强大) spark官网 API http://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.api.java.JavaRDD spark java api解读--简书 比如:repartitionAndSortWithinPartitions.fullOuterJoi…
目录 Spark学习笔记3--RDD(下) 向Spark传递函数 通过匿名内部类 通过具名类传递 通过带参数的 Java 函数类传递 通过 lambda 表达式传递(仅限于 Java 8 及以上) 常见的转化操作和行动操作 基本RDD 行动操作 不同 RDD 的类型转换 持久化 Spark学习笔记3--RDD(下) 笔记摘抄自 [美] Holden Karau 等著的<Spark快速大数据分析> 向Spark传递函数 大部分 Spark 的转化操作和一部分行动操作,都需要传递函数后进行计算.如…
目录 Spark学习笔记2--RDD(上) RDD是什么? 例子 创建 RDD 并行化方式 读取外部数据集方式 RDD 操作 转化操作 行动操作 惰性求值 Spark学习笔记2--RDD(上) 笔记摘抄自 [美] Holden Karau 等著的<Spark快速大数据分析> RDD是什么? 弹性分布式数据集(Resilient Distributed Dataset,简称 RDD) Spark 的核心概念 一个不可变的分布式对象集合 每个 RDD 都被分为多个分区运行在集群的不同节点上 RDD…
Spark学习笔记1--第一个Spark程序:单词数统计 笔记摘抄自 [美] Holden Karau 等著的<Spark快速大数据分析> 添加依赖 通过 Maven 添加 Spark-core_2.10 的依赖 程序 找了一篇注释比较清楚的博客代码1,一次运行通过 import scala.Tuple2; import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaPairRDD; import org.ap…
标签(空格分隔): Spark 学习中的知识点:函数式编程.泛型编程.面向对象.并行编程. 任何工具的产生都会涉及这几个问题: 现实问题是什么? 理论模型的提出. 工程实现. 思考: 数据规模达到一台机器无法处理的时候,如何在有限的时间内对整个数据集进行遍历及分析? Google针对大数据问题提出的一些解决方案: MapReduce: 计算框架: GFS:数据存储 BigTable:NoSQL始祖. Hadoop是根据MapReduce和GFS两大论文所做的开源实现,因此,它主要解决2大问题:数…
Spark学习笔记之SparkRDD 一.   基本概念 RDD(resilient distributed datasets)弹性分布式数据集. 来自于两方面 ①   内存集合和外部存储系统 ②   通过转换来自于其他RDD,如map,filter等 2.创建操作(creation operation):RDD的创建由SparkContext来负责. 3.转换操作(transformation operation):将一个RDD通过一定操作转换为另一个RDD. 4.控制操作(control o…
Spark学习笔记 Spark简介 spark 可以很容易和yarn结合,直接调用HDFS.Hbase上面的数据,和hadoop结合.配置很容易. spark发展迅猛,框架比hadoop更加灵活实用.减少了延时处理,提高性能效率实用灵活性.也可以与hadoop切实相互结合. spark核心部分分为RDD.Spark SQL.Spark Streaming.MLlib.GraphX.Spark R等核心组件解决了很多的大数据问题,其完美的框架日受欢迎.其相应的生态环境包括zepplin等可视化方面…
mesos集群部署参见上篇. 运行在mesos上面和 spark standalone模式的区别是: 1)stand alone 需要自己启动spark master 需要自己启动spark slaver(即工作的worker) 2)运行在mesos 启动mesos master 启动mesos slaver 启动spark的 ./sbin/start-mesos-dispatcher.sh -m mesos://127.0.0.1:5050 配置spark的可执行程序的路径(也就是mesos里…
在FP Tree算法原理总结和PrefixSpan算法原理总结中,我们对FP Tree和PrefixSpan这两种关联算法的原理做了总结,这里就从实践的角度介绍如何使用这两个算法.由于scikit-learn中没有关联算法的类库,而Spark MLlib有,本文的使用以Spark MLlib作为使用环境. 1. Spark MLlib关联算法概述 在Spark MLlib中,也只实现了两种关联算法,即我们的FP Tree和PrefixSpan,而像Apriori,GSP之类的关联算法是没有的.而…
在矩阵分解在协同过滤推荐算法中的应用中,我们对矩阵分解在推荐算法中的应用原理做了总结,这里我们就从实践的角度来用Spark学习矩阵分解推荐算法. 1. Spark推荐算法概述 在Spark MLlib中,推荐算法这块只实现了基于矩阵分解的协同过滤推荐算法.而基于的算法是FunkSVD算法,即将m个用户和n个物品对应的评分矩阵M分解为两个低维的矩阵:$$M_{m \times n}=P_{m \times k}^TQ_{k \times n}$$ 其中k为分解成低维的维数,一般远比m和n小.如果大…
Spark学习笔记2 配置spark所需环境 1.首先先把本地的maven的压缩包解压到本地文件夹中,安装好本地的maven客户端程序,版本没有什么要求 不需要最新版的maven客户端. 解压完成之后在解压好的maven客户端的文件夹内打开conf文件夹,修改里面的settings.xml文件 然后只需要修改这一行就可以了 ,把这一行替换成你自己本地的maven仓库的路径 最好是自己有一个完整点的maven仓库,然后把这个修改过的xml文件放到maven仓库下 到这里,你本地的maven客户端环…
Spark学习笔记3 IDEA编写scala代码并打包上传集群运行 我们在IDEA上的maven项目已经搭建完成了,现在可以写一个简单的spark代码并且打成jar包 上传至集群,来检验一下我们的spark搭建后是否真正可以使用了 1.今天就和大家写一个计算π的spark代码 下面我把已经写好了的代码放在下面,大家可以借以参考一下 package day02 import org.apache.spark.{SparkConf, SparkContext} import scala.math.r…
spark学习笔记01 1.课程目标 1.熟悉spark相关概念 2.搭建一个spark集群 3.编写简单spark应用程序 2.spark概述 spark是什么 是基于内存的分布式计算引擎,计算速度非常快,仅仅只是涉及到数据的计算,没有涉及到数据存储.可以对接外部的数据源(比如hdfs,这个时候就需要搭建一个hadoop集群) 为什么要学习spark spark运行速度快,由于中间数据结果可以不落地,直接保存在内存中,速度比mapreduce快很多 3.spark特性 速度快 spark比ma…
2019-1-24 Spark 学习 --总体架构 新建 模板 小书匠 1548339392539.jpg 1548339357270.jpg 1548339372461.jpg 1548339345691.jpg 1548339423898.jpg 1548345616793.jpg 1548347241150.jpg --by 凡正(Iamfbz)…
实例代码: import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaPairRDD; import org.apache.spark.api.java.JavaRDD; import org.apache.spark.api.java.JavaSparkContext; import org.apache.spark.api.java.function.FlatMapFunction; import org.…
1,首先确保hadoop和spark已经运行.(如果是基于yarn,hdfs的需要启动hadoop,否则hadoop不需要启动). 2.打开idea,创建maven工程.编辑pom.xml文件.增加dependency. <dependency> <!-- Spark dependency --> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.10</artifac…
一.RDD的概述 1.1 什么是RDD? RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变.可分区.里面的元素可并行计算的集合.RDD具有数据流模型的特点:自动容错.位置感知性调度和可伸缩性.RDD允许用户在执行多个查询时显式地将工作集缓存在内存中,后续的查询能够重用工作集,这极大地提升了查询速度. 1.2 RDD的属性 (1)一组分片(Partition),即数据集的基本组成单位.对于RDD来说,每个分片…
Spark学习笔记-GraphX-1 标签: SparkGraphGraphX图计算 2014-09-29 13:04 2339人阅读 评论(0) 收藏 举报  分类: Spark(8)  版权声明:本文为博主原创文章,未经博主允许不得转载. Spark GraphX是一个分布式图处理框架,Spark GraphX基于Spark平台提供对图计算和图挖掘简洁易用的而丰富多彩的接口,极大的方便了大家对分布式图处理的需求.Spark GraphX由于底层是基于Spark来处理的,所以天然就是一个分布式…
Spark学习之基于MLlib的机器学习 1. 机器学习算法尝试根据训练数据(training data)使得表示算法行为的数学目标最大化,并以此来进行预测或作出决定. 2. MLlib完成文本分类任务步骤: (1)首先用字符串RDD来表示你的消息 (2)运行MLlib中的一个特征提取(feature extraction)算法来把文本数据转换为数值特征(适合机器学习算法处理):该操作会返回一个向量RDD. (3)对向量RDD调用分类算法(比如逻辑回归):这步会返回一个模型对象,可以使用该对象对…
Spark学习之Spark Streaming(9) 1. Spark Streaming允许用户使用一套和批处理非常接近的API来编写流式计算应用,这就可以大量重用批处理应用的技术甚至代码. 2. Spark Streaming使用离散化(discretized steam)作为抽象表示,叫做DStream.DStream是随时间推移而收到的数据的序列. 3. DSteam支持两种操作:转换操作(transformation),会生成一个新的DStream:另一种是输出操作(output op…
Spark学习之Spark SQL(8) 1. Spark用来操作结构化和半结构化数据的接口--Spark SQL. 2. Spark SQL的三大功能 2.1 Spark SQL可以从各种结构化数据(例如JSON.Hive.Parquet等)中读取数据. 2.2 Spark SQL不仅支持在Spark程序内使用SQL语句进行查询,也支持从类似商业智能软件Tableau这样的外部工具中通过标准数据库连接器(JDBC/ODBC)连接Spark SQL进行查询. 2.3 当在Spark程序内使用Sp…
Spark学习之Spark调优与调试(7) 1. 对Spark进行调优与调试通常需要修改Spark应用运行时配置的选项. 当创建一个SparkContext时就会创建一个SparkConf实例. 2. Spark特定的优先级顺序来选择实际配置: 优先级最高的是在用户代码中显示调用set()方法设置选项: 其次是通过spark-submit传递的参数: 再次是写在配置文件里的值: 最后是系统的默认值. 3.查看应用进度信息和性能指标有两种方式:网页用户界面.驱动器和执行器进程生成的日志文件. 4.…
Spark学习之在集群上运行Spark(6) 1. Spark的一个优点在于可以通过增加机器数量并使用集群模式运行,来扩展程序的计算能力. 2. Spark既能适用于专用集群,也可以适用于共享的云计算环境. 3. Spark在分布式环境中的架构: Created with Raphaël 2.1.0我的操作集群管理器Mesos.YARN.或独立集群管理器N个集群工作节点(执行器进程) Spark集群采用的是主/从结构,驱动器(Driver)节点和所有执行器(executor)节点一起被称为一个S…
Spark学习之编程进阶--累加器与广播(5) 1. Spark中两种类型的共享变量:累加器(accumulator)与广播变量(broadcast variable).累加器对信息进行聚合,而广播变量用来高效分发较大的对象. 2. 共享变量是一种可以在Spark任务中使用的特殊类型的变量. 3. 累加器的用法: 通过在驱动器中调用SparkContext.accumulator(initialValue)方法,创建出存有初始值的累加器.返回值为org.apache.spark.Accumlat…
Spark学习之键值对(pair RDD)操作(3) 1. 我们通常从一个RDD中提取某些字段(如代表事件时间.用户ID或者其他标识符的字段),并使用这些字段为pair RDD操作中的键. 2. 创建pair RDD 1)读取本身就是键值对的数据 2)一个普通的RDD通过map()转为pair RDD,传递的函数需要返回键值对. Python中使用第一个单词作为键创建出一个pair RDD pairs = lines.amp(lambda x: (x.split(" ")[0],x))…
Spark学习之基础相关组件(1) 1. Spark是一个用来实现快速而通用的集群计算的平台. 2. Spark的一个主要特点是能够在内存中进行计算,因而更快. 3. RDD(resilient distributed dataset弹性分布式数据集)表示分布在多个计算节点上可以并行操作的元素的集合,是Spark的主要编程抽象. 4. Spark是一个大一统的软件栈: 4.1 Spark core实现了Spark的基本功能,包括任务调度.内存管理.错误恢复.与存储系统交互等模块.Spark Co…