Spark解决什么问题Spark为什么会有自己的资源调度器Spark运行模式Spark 常用端口号简述Spark的架构与作业提交流程Spark任务使用什么进行提交,JavaEE界面还是脚本Spark提交作业参数RDD五大属性Spark 的 transformation 算子Spark的action算子map和mapPartitions区别Repartition和Coalesce区别
Spark解决什么问题Hadoop主要解决 : 海量数据的存储和海量数据的分析计算
Spark主要解决 : 海量数据的分析计算
Spark为什么会有自己的资源调度器Hadoop 的 Yarn 框架比 Spark 框架诞生的晚,所以 Spark 自己也设计了一套资源调度框架
Spark运行模式Local:运行在一台机器上。 测试用
Standalone:是Spark自身的一个调度系统。 对集群性能要求非常高时用。国内很少使用
Yarn:采用Hadoop的资源调度器。 国内大量使用
Mesos:国内很少使用
Spark 常用端口号4040 spark-shell 任务端口
7077 内部通讯端口。 类比 Hadoop 的 8020/9000
8080 查看任务执行情况端口。 类比Hadoop的8088
18080 历史服务器。类比 Hadoop 的19888
简述Spark的架构与作业提交流程 Spark任务使用什么进行提交,JavaEE界面还是脚本由于Spark 只负责计算,所有并没有 Hadoop 中存储数据的端口 50070
Shell 脚本
Spark提交作业参数executor-cores : 每个 executor 使用的内核数,默认为 1 ,官方建议2 - 5个
num-executors : 启动 executors 的数量,默认为 2
executor-memory : executor 内存大小,默认 1 G
driver-cores : driver 使用内核数,默认为 1
driver-memory : driver 内存大小,默认 512 M
例子 :
spark-submit --master local[5] --driver-cores 2 --driver-memory 8g --executor-cores 4 --num-executors 10 --executor-memory 8g --class PackageName.ClassName XXXX.jar --name "Spark Job Name" InputPath OutputPathRDD五大属性 Spark 的 transformation 算子
单Value
mapmapPartitionsmapPartitionsWithIndexflatMapglomgroupByfiltersampledistinctcoalescerepartitionsortBypipe
双vlaue
intersectionunionsubtractzip
Key-Value
partitionByreduceByKeygroupByKeyaggregateByKeyfoldByKeycombineByKeysortByKeymapValuesjoincogroup Spark的action算子
reducecollectcountfirsttaketakeOrderedaggregatefoldcountByKeysaveforeach map和mapPartitions区别
map:每次处理一条数据
mapPartitions:每次处理一个分区数据
Repartition和Coalesce区别


