Spark3000门徒第七课Spark运行原理及RDD解密总结

今晚听了王家林老师的第七课Spark运行原理及RDD解密,课后作业是:spark基本原理,我的总结如下:

1 spark是分布式 基于内存 特别适合于迭代计算的计算框架

2 mapReduce就两个阶段map和reduce,而spark是不断地迭代计算,更加灵活更加强大,容易构造复杂算法。

3 spark不能取代hive,hive做数据仓库存储,spark sql只是取代hive的计算引擎

4 spark中间数据可以在内存也可以在磁盘

5 partition是一个数据集合

6 注意:初学者执行多个步骤要注意分步检验,不然不知哪里错了

7 var data = sc.textFile("/user") 不必写hdfs:// ,根据上下文判断

8 读文件得到HadoopRDD,去掉文件中索引,得到MapPartitionsRDD,这样一系列分片的数据分布在 不同的机器。

9 移动计算而不是移动数据

另外,王家林老师说出一个消息:

用java来写spark:人才多,与javaEE整合更容易,维护更容易,所以后面课程 所有例子 都是同时使用Scala和Java

后续课程可以参照新浪微博 王家林_DT大数据梦工厂:http://weibo.com/ilovepains

王家林  中国Spark第一人,微信公共号DT_Spark

时间: 2024-12-18 03:24:24

Spark3000门徒第七课Spark运行原理及RDD解密总结的相关文章

Spark运行原理及RDD解密

Spark是分布式内存计算框架,而不是分布式内容存储框架,搭配tachyon分布式内存文件系统,会更加有效果. 在文件模式下,spark比hadoop快10倍,在内存计算模式下,快100倍! 下面是一些 1 spark是分布式 基于内存 特别适合于迭代计算的计算框架 2 mapReduce就两个阶段map和reduce,而spark是不断地迭代计算,更加灵活更加强大,容易构造复杂算法. 3 spark不能取代hive,hive做数据仓库存储,spark sql只是取代hive的计算引擎,成为分析

Spark3000门徒第14课spark RDD解密总结

今晚听了王家林老师的第14课spark RDD解密,课堂笔记如下: Spark是基于工作集的应用抽象,RDD:Resillient Distributed Dataset是基于工作集的,spark可以对结果重用. 位置感知:spark比hadoop更精致. RDD是lazy的,是分布式函数式编程的抽象,RDD可以看做一个只读的List或者Array.产生的中间结果怎么办? 不能让 他立即计算,采用Lazy级别,只对数据处理做标记.所以RDD操作是有向的,链式的,所以Stage有1000个步骤,不

Spark3000门徒第12课Spark HA实战总结

今晚听了王家林老师的第12课Spark HA实战,课堂笔记以及作业如下: Spark HA需要安装zookeeper,推荐稳定版3.4.6. 1.下载zookeeper3.4.6,2.配置环境变量3.创建data logs4.vi conf/zoo.cfg5 data目录中创建myid spark-env.sh 配置HA : export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zo

Spark3000门徒第13课Spark内核架构解密总结

昨晚听了王家林老师的第13课Spark内核架构解密,课堂笔记如下: executor中线程池并发执行和复用,Spark executor, backed by a threadpool to run tasks. 默认一个work为一个Application只开启一个executor.一个worker里executor是多点好还是少点好,看具 体情况. Worker:管理当前Node机器资源,并接受Master的指令来分配具体的计算资源Executor(使用ExecutorRunner 在新的进

Spark3000门徒第9课IDEA中开发Spark实战总结

今晚听了王家林老师的第9课IDEA中开发Spark实战,课后作业是:在Idea中编写广告点击排名的程序并提交集群测试, IDEA社区版本就够用,Ultimate没必要还要钱 程序如下: object WordCountCluster { def main(args: Array[String]){ /** * 第一步:创建spark的配置对象SparkConf,设置Spark程序的运行时的配置信息 * */ val conf = new SparkConf() //创建SparkConf对象 c

Spark3000门徒第六课精通Spark集群搭建总结

今晚听了王家林老师的第六课精通Spark集群搭建和测试,课后作业是:搭建自己的spark环境并成功运行pi,我的总结如下: 1 硬件环境: 至少8GB内存,推荐金士顿内存,虚拟机推荐Ubuntu kylin版本,可以安装各种办公软件包括搜狗输入法.上网方式:Nat,root权限登录,避免权限问题 2.软件环境: RedHat 6.4  spark 1.6.0   hadoop 2.6.0   scala 2.11.8 3 /etc/hosts ip-hostname对应关系 spark.even

Spark3000门徒第8课IDE中开发Spark实战总结

今晚听了王家林老师的第8课IDE中开发Spark实战,课后作业是:在Eclipse中编写广告点击排名的程序并测试,程序如下: object WordCountCluster { def main(args: Array[String]){ /** * 第一步:创建spark的配置对象SparkConf,设置Spark程序的运行时的配置信息 */ val conf = new SparkConf() //创建SparkConf对象 conf.setAppName("First App")

Spark运行原理【史上最详细】

https://blog.csdn.net/lovechendongxing/article/details/81746988 Spark应用程序以进程集合为单位在分布式集群上运行,通过driver程序的main方法创建的SparkContext对象与集群交互. 1.Spark通过SparkContext向Cluster manager(资源管理器)申请所需执行的资源(cpu.内存等) 2.Cluster manager分配应用程序执行需要的资源,在Worker节点上创建Executor 3.S

Spark运行原理解析

前言: Spark Application的运行架构由两部分组成:driver program(SparkContext)和executor.Spark Application一般都是在集群中运行,比如Spark Standalone,YARN,mesos,这些集群给spark Application提供了计算资源和这些资源管理,这些资源既可以给executor运行,也可以给driver program运行.根据Spark Application的driver program是否在资源集群中运行