Spark学习(1)

时间:2019-11-18
本文章向大家介绍Spark学习(1),主要包括Spark学习(1)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

什么事spark

Spark是一种快速、通用、可扩展的大数据计算引擎.项目是用Scala进行编写,基于内存计算的
包括交互式查询和流处理

spark内置项目

Spark SQL:是 Spark 用来操作结构化数据的程序包。
Spark Streaming:是 Spark 提供的对实时数据进行流式计算的组件。
Spark MLlib:提供常见的机器学习(ML)功能的程序库。
GraphX:提供一个分布式图计算框架,能高效进行图计算。
集群管理器:Spark设计为可以高效地在一个计算节点到数千个计算节点之间伸缩计 算。

spark常用术语

 Application           Spark的应用程序,包含一个Driver program和若干Executor
 SparkContext       Spark应用程序的入口,负责调度各个运算资源,协调各个Worker Node上的Executor
 Driver Program    运行Application的main()函数并且创建SparkContext
 Executor    是为Application运行在Worker node上的一个进程,该进程负责运行Task,并且负责将数据存在内存或者磁盘上。
每个Application都会申请各自的Executor来处理任务
 ClusterManager    在集群上管理各种资源的外部服务(例如:Standalone、Mesos、Yarn)
 Worker Node    集群中任何可以运行Application代码的节点,运行一个或多个Executor进程,每个节点可以起一个或多个Executor
 Task    运行在Executor上的工作单元,每个Executor由若干core组成,每个Executor的每个core一次只能执行一个Task,每个Task执行的结果就是生成了目标RDD的一个partiton
 Job    SparkContext提交的具体Action操作,常和Action对应
 Stage    每个Job会被拆分很多组task,每组任务被称为Stage,也称TaskSet
 RDD    是Resilient distributed datasets的简称,中文为弹性分布式数据集;是Spark最核心的模块和类
 DAGScheduler    根据Job构建基于Stage的DAG,并提交Stage给TaskScheduler
 TaskScheduler    将Taskset提交给Worker node集群运行并返回结果
 Transformations    是Spark API的一种类型,Transformation返回值还是一个RDD, 所有的Transformation采用的都是懒策略,
如果只是将Transformation提交是不会执行计算的
 Action    是Spark API的一种类型,Action返回值不是一个RDD,而是一个scala集合;计算只有在Action被提交的时候计算才 被触发。

原文地址:https://www.cnblogs.com/lovemeng1314/p/11881471.html