mapreduce的限制

适合“一趟”计算操作

很难组合和嵌套操作符号

无法表示迭代操作

========

由于复制、序列化和磁盘IO导致mapreduce慢

复杂的应用、流计算、内部查询都因为maprecude缺少有效的数据共享而变慢

======

迭代操作每一次复制都需要磁盘IO

内部查询和在线处理都需要磁盘IO

========spark的目标

在内存中保存更多的数据来提升性能

扩展maprecude模型来更好支持两个常见的分析应用:1,迭代算法(机器学习、图)2,内部数据挖掘

增强可编码性:1,多api库,2更少的代码

======

spark组成

spark sql,spark straming(real-time),graphx,mllib(meachine learning)

======

可以使用一下几种模式来运行:

在它的standalone cluster mode下

在hadoop yarn

在apache mesos

在kubernetes

活着在云上面

==========

数据来源:

1,本地文件file:///opt/httpd/logs/access_log

2,amazon S3

3,hadooop distributed filesystem

4,hbase,cassandra,etc

===========

spark 集群cluster

============

spark workflow

首先产生一个SparkContext对象(1,告诉spark怎么并且在哪里去访问集群;2,连接不同类型的集群管理者,egYARN,Mesos,本身的)

然后使用集群管理分配资源

最后使用Spark executer来运行计算过程,读取数据块

==============

workers节点和执行者

worker节点是能运行executors的机器(1,每个worker一个jvm或者一个process,2每个worker可以产生多个executor)

Executor可以运行任务(1,在子jvm中运行,2在一个线程池中执行一个或者多个任务)

=========

Solution: Resilient Distributed Datasets

弹性分布式数据集

=========

RDD 操作

transformation:返回一个新的RDD,function包括:map,filter,flatMap,groupByKey,reduceByKey,aggragateByKey,filter,join

action:评估并且返回一个新的value,当一个RDD对象调用action方法时,处理查询的所有数据都会被同时计算,结果值返回;方法包括

  reduce,collect,count,first,take,countByKey,foreach,saveAsTextFile

============

怎么使用RDD

1,从data source中产生一个RDD(1,利用现存的集合lists,arrays;2,RDD的变换;3,从hdfs或者其他数据系统)

2,使用RDD变换

3,使用RDD操作

=======

产生一个RDD

从hdfs,textfiles,amazons S3,hbase,序列号文件,其他的hadoop输入格式

(//从文件中产生一个RDD

JavaRDD<String> distFile = sc.textFile("data.txt",4)//rdd分为4个部分

)

(//从集合创建RDD

list<Integer> data = Arrays.aslist(1,2,3,4,5);

JavaRDD<Integer> distData = sc.parallelize(data);

)

========

spark学习记录-1的更多相关文章

  1. spark学习记录-2

    spark编程模型 ====== spark如何工作的? 1.user应用产生RDD,操作变形,运行action操作 2.操作的结果在有向无环图DAG中 3.DAG被编译到stages阶段中 4.每一 ...

  2. Spark学习记录

    SpringStrongGuo Hadoop与Spark Hadoop主要解决,海量数据的存储和海量数据的分析计算. Spark主要解决海量数据的分析计算. Spark运行模式 1)Local:运行在 ...

  3. spark学习笔记总结-spark入门资料精化

    Spark学习笔记 Spark简介 spark 可以很容易和yarn结合,直接调用HDFS.Hbase上面的数据,和hadoop结合.配置很容易. spark发展迅猛,框架比hadoop更加灵活实用. ...

  4. [转]Spark学习之路 (三)Spark之RDD

    Spark学习之路 (三)Spark之RDD   https://www.cnblogs.com/qingyunzong/p/8899715.html 目录 一.RDD的概述 1.1 什么是RDD? ...

  5. 【转载】Spark学习——入门

    要学习分布式以及数据分析.机器学习之类的,觉得可以通过一些实际的编码项目入手.最近Spark很火,也有不少招聘需要Spark,而且与传统的Hadoop相比,Spark貌似有一些优势.所以就以Spark ...

  6. Spark学习之Spark SQL(8)

    Spark学习之Spark SQL(8) 1. Spark用来操作结构化和半结构化数据的接口--Spark SQL. 2. Spark SQL的三大功能 2.1 Spark SQL可以从各种结构化数据 ...

  7. Spark学习之数据读取与保存(4)

    Spark学习之数据读取与保存(4) 1. 文件格式 Spark对很多种文件格式的读取和保存方式都很简单. 如文本文件的非结构化的文件,如JSON的半结构化文件,如SequenceFile结构化文件. ...

  8. Spark学习之键值对(pair RDD)操作(3)

    Spark学习之键值对(pair RDD)操作(3) 1. 我们通常从一个RDD中提取某些字段(如代表事件时间.用户ID或者其他标识符的字段),并使用这些字段为pair RDD操作中的键. 2. 创建 ...

  9. Spark学习笔记2——RDD(上)

    目录 Spark学习笔记2--RDD(上) RDD是什么? 例子 创建 RDD 并行化方式 读取外部数据集方式 RDD 操作 转化操作 行动操作 惰性求值 Spark学习笔记2--RDD(上) 笔记摘 ...

随机推荐

  1. Git-fatal:remote error:You can't push to git://github.com/username/*.git use https:

    注意不是git://github.com/cs942651107/TestCode.git    一个:一个@协议不一样,:的不能push 关联远程库git remote add origin git ...

  2. SQL SERVER-修改TempDB路径

    --查看tempdb文件信息 use tempdb go sp_helpfile go --修改路径 use master go Alter database tempdb modify file ( ...

  3. Centos7修改默认启动内核

    #使用cat /boot/grub2/grub.cfg |grep menuentry  查看系统可用内核 root@Cs7-:/root> cat /boot/grub2/grub.cfg | ...

  4. 私有容器镜像仓库harbor

    私有镜像仓库Harbor 1.Harbor概述 Habor是由VMWare公司开源的容器镜像仓库.事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用 ...

  5. 使用SikuliX定位Object(flash)元素

    先说一下背景,这个是我们测试的系统上的一个上传文件的地方,但是用传统的selenium方法很难定位的到.具体的样子是下面这样的. 使用id等属性定位做点击操作好像不能直接操作.无奈之下,只好从网上找找 ...

  6. window下关闭占用端口使用

    怎么在window下关闭端口! 1:查看特定端口被占用情况 命令:   netstat -ano 和 netstat -ano|findstr 端口号 netstat -ano:查看电脑所有端口被占用 ...

  7. 使用Nuget生成类库

     背景: 为了开始ITOO项目,我们先学习了一些基本知识,这些就是一个基本知识,这实现的是一种封装的思想,将方法打包,这样我们就可以在其他系统中直接引用而需要再耗费人力和财力去做,真正实现了高效率 ...

  8. vetur 和 npm run lint 格式化不一致

    vetur 的 template(html) 默认使用的格式化插件是 prettyhtml,虽然可以选 prettier,和 npm run lint 的格式化保持一致,但是有时候会影响到 scrip ...

  9. LG4718 【模板】Pollard-Rho算法 和 [Cqoi2016]密钥破解

    Pollard-Rho算法 总结了各种卡常技巧的代码: #define int long long typedef __int128 LL; IN int fpow(int a,int b,int m ...

  10. SVM: 实际中使用SVM的一些问题

    使用SVM包来求θ,选择C与核函数 我们使用已经编写好的软件包(这些软件包效率高,用得多,是经无数人证明已经很好的可以使用的软件包)来求θ,而不是自己去编写软件来求它们(就像我们现在很少编写软件来求x ...