spark复习总结01】的更多相关文章

1.MapReduce和spark的对比 MapReduce Spark 数据存储结构:磁盘hdfs文件系统的split 使用内存构建弹性分布式数据集RDD,对数据进行运算和cache 编程范式:Map+Reduce DAG(有向无环图):Transformation+action 计算中间数据放在磁盘,io及序列化,反序列化代价大 计算中间数据在内存中维护,存储速度是磁盘的几个数量级 Task以进程的方式维护,任务启动就要数秒 Task以线程的方式维护,对小数量集的读取能达到亚秒级的延迟 2.…
spark学习笔记01 1.课程目标 1.熟悉spark相关概念 2.搭建一个spark集群 3.编写简单spark应用程序 2.spark概述 spark是什么 是基于内存的分布式计算引擎,计算速度非常快,仅仅只是涉及到数据的计算,没有涉及到数据存储.可以对接外部的数据源(比如hdfs,这个时候就需要搭建一个hadoop集群) 为什么要学习spark spark运行速度快,由于中间数据结果可以不落地,直接保存在内存中,速度比mapreduce快很多 3.spark特性 速度快 spark比ma…
经过一段时间的学习和测试,是时候给spark的学习经历做一个总结了,对于spark的了解相对晚了写.春节期间(预计是无大事),本博准备推出20篇左右spark系列原创文章(先把牛吹出去再说) ,尽量将枯燥无味的技术讲的通俗易懂- r.kelly 2013年的时候第一次听说spark这么个神器,那时候它还幼小,没什么人鸟它,但是它强大基因注定了它不是个凡夫俗子, 故事就是从那一小撮人群中开始的. 一.Spark何许人也 姓名:Spark 性别:未知 出生地:加州大学伯克利分校AMP实验室 出生年月…
 1)外部数据源 val distFile1 = sc.textFile("data.txt") //本地当前目录下文件 val distFile2 =sc.textFile("hdfs://192.168.121.12:8020/input/data.txt") //HDFS文件 val distFile3 =sc.textFile("file:/input/data.txt") //本地指定目录下文件 val distFile4 =sc.t…
使用spark实现work count ---------------------------------------------------- (1)用sc.textFile(" ") 来实现文件的加载 val rdd1 = sc.testFile("home/centos/test.txt");//加载文本文件,以换行符的方式切割文本文件.Array(hello world1 ,.........),产生第一个弹性分布式数据集 (2)元素拿来之后对集合中的每个元…
一.介绍 1.sparkStreaming是核心模块Spark API的扩展,具有可伸缩,高吞吐量以及容错的实时数据流处理等.数据可以从许多来源(如Kafka,Flume,Kinesis或TCP套接字)中获取.并且可以使用以高级函数表示的复杂算法进行处理map,例如reduce,join和window.最后,处理后的数据可以推送到文件系统,数据库和实时仪表盘.[DStresam]:离散流,连续的RDD序列.准实时计算,以batch处理作业. 2.在内部,它的工作原理如下.Spark Stream…
一.saprkSQL模块,使用类sql的方式访问Hadoop,实现mr计算,底层使用的是rdd 1.hive //hadoop  mr  sql 2.phenoix //hbase上构建sql的交互过程 该模块能在spark上运行sql语句 3.DataFrame //数据框,表 在spark中的数据框,sparkSQL就能以完全分布式的方式来处理数据.组合数据框可以来自各种数据源来进行查询的处理 4.SparkSQL //SQL  |  DataFrame API 5.RDD[Customer…
在spark中最重要的功能之一是跨操作在内存中持久化数据集.当你持久化一个RDD的时候,每个节点都存放了一个它在内存中计算的一个分区,并在该数据集的其他操作中进行重用,持久化一个RDD的时候,节点上的每个分区都会保存到内存中,这使得将来的action更加的快. 缓存技术是迭代算法和交互式查询的重要工具 可以使用persist()和cache()方法进行rdd的持久化,persist()是持久化到磁盘,而cache()是缓存到内存 action第一次计算的时候才会发生persist() spark…
一.数据倾斜 spark数据倾斜,map阶段对key进行重新划分.大量的数据在经过hash计算之后,进入到相同的分区中,zao…
一.RDD变换 1.返回执行新的rdd的指针,在rdd之间创建依赖关系.每个rdd都有一个计算函数和指向父rdd的指针 Spark是惰性的,因此除非调用某个转换或动作,否则不会执行任何操作,否则将触发工作创建和执行. 2.map()是对每个元素进行变换,应用变换函数,返回的是一个新的分布式数据集,map就是对分区中的每个元素进行一个函数的调用,所以导致出现了那么多: map() //对每个元素进行变换,应用变换函数,(T)=>V, package com.jd.test import org.a…