Spark学习(一) 基本操作】的更多相关文章

先来一个简单的spark小程序,这是官网上的小样例,目的就是统计spark以下的README文档中包括字母a和字母b的个数,然后 打印,代码例如以下: object BasicStandaloneApp extends App{ val logFile = "/home/xiaoyi/software/spark/README.md" // Should be some file on your system val conf = new SparkConf().setAppName(…
Spark学习笔记-GraphX-1 标签: SparkGraphGraphX图计算 2014-09-29 13:04 2339人阅读 评论(0) 收藏 举报  分类: Spark(8)  版权声明:本文为博主原创文章,未经博主允许不得转载. Spark GraphX是一个分布式图处理框架,Spark GraphX基于Spark平台提供对图计算和图挖掘简洁易用的而丰富多彩的接口,极大的方便了大家对分布式图处理的需求.Spark GraphX由于底层是基于Spark来处理的,所以天然就是一个分布式…
标签(空格分隔): 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等可视化方面…
在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…
2019-1-24 Spark 学习 --总体架构 新建 模板 小书匠 1548339392539.jpg 1548339357270.jpg 1548339372461.jpg 1548339345691.jpg 1548339423898.jpg 1548345616793.jpg 1548347241150.jpg --by 凡正(Iamfbz)…
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学习之基于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学习之数据读取与保存(4) 1. 文件格式 Spark对很多种文件格式的读取和保存方式都很简单. 如文本文件的非结构化的文件,如JSON的半结构化文件,如SequenceFile结构化文件.通过扩展名进行处理. 2. 读取/保存文本文件 Python中读取一个文本文件 input = sc.textfile("file:///home/holen/repos/spark/README.md") Scala中读取一个文本文件 val input = sc.textFile(&q…
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学习之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学习之基础相关组件(1) 1. Spark是一个用来实现快速而通用的集群计算的平台. 2. Spark的一个主要特点是能够在内存中进行计算,因而更快. 3. RDD(resilient distributed dataset弹性分布式数据集)表示分布在多个计算节点上可以并行操作的元素的集合,是Spark的主要编程抽象. 4. Spark是一个大一统的软件栈: 4.1 Spark core实现了Spark的基本功能,包括任务调度.内存管理.错误恢复.与存储系统交互等模块.Spark Co…
http://dblab.xmu.edu.cn/blog/spark/ 厦大数据库实验室博客 总结.分享.收获 实验室主页 首页 大数据 数据库 数据挖掘 其他 子雨大数据之Spark入门教程  林子雨老师 2016年10月30日 (updated: 2017年5月28日) 37020 [版权声明]博客内容由厦门大学数据库实验室拥有版权,未经允许,请勿转载!版权所有,侵权必究! Spark最初诞生于美国加州大学伯克利分校(UC Berkeley)的AMP实验室,是一个可应用于大规模数据处理的快速…
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学习笔记0--简单了解和技术架构 什么是Spark 技术架构和软件栈 Spark Core Spark SQL Spark Streaming MLlib GraphX 集群管理器 受众 起源和发展 Spark学习笔记0--简单了解和技术架构 笔记摘抄自 [美] Holden Karau 等著的<Spark快速大数据分析> 什么是Spark Spark 是一个用来实现快速而通用的集群计算的平台. 扩展了广泛使用的MapReduce 计算模型 能够在内存中进行计算 一个统一的框架…
目录 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…
一.例子: 1.一个简单例子:https://www.jianshu.com/p/ceabf3437dd7 2.Funsuite例子:https://www.programcreek.com/scala/org.scalatest.FunSuite 3.SparkFunsuite例子:https://www.programcreek.com/scala/org.apache.spark.SparkFunSuite 4.一个spark学习博客:https://liuxiaofei.com.cn/b…
这是个老生常谈的话题,大家是不是看到这个文章标题就快吐了,本来想着手写一些有技术深度的东西,但是看到太多童鞋卡在入门的门槛上,所以还是打算总结一下入门经验.这种标题真的真的在哪里都可以看得到,度娘一搜就是几火车皮,打开一看都是千篇一律的“workcount”.“quickstart”,但是这些对于初学者来说还差的太多,这些东东真的只是spark的冰山一角,摸着这些石头过河的话,弯路太多.暗礁涌动,一个不留神就掉河里了.希望我这篇文章能让大家看到些不一样的地方.文章分五个部分,包括官网.blog(…
1.map算子 private static void map() { //创建SparkConf SparkConf conf = new SparkConf() .setAppName("map") .setMaster("local"); //创建JavasparkContext JavaSparkContext sc = new JavaSparkContext(conf); //构造集合 List<Integer> numbers = Arra…