- spark概述
(1) 基于内存的计算框架
(2) 与mapreduce并行计算
(3) hadoop, Spark,Storm
p排序 - DAG有向无环图拆分
python致命缺陷,并发性不好。 函数编程利用并发cpu. 小规模使用。 - Spark生态系统
(1) 应用场景
批处理,(数十分钟,数小时)
历史数据交互式查询 (数10秒)
基于实时数据量的数据处理 (毫秒级别)
(2)生态系统
统一用YARN进行资源调度(spark, hive) - (2) 数据流
- Spark运行框架
(1)RDD 核心概念 (数据抽象)弹性分布式数据集
高度受限的共享内存模型。
RDD只能度
(2)DAG 反映RDD之间依赖操作
(3)Executor 运行管家分配的任务
(4)应用程序 --若干作业–若干阶段–多个RDD
(5) 运行架构
![在这里插入图片描述]()
Cluster Manager : cpu 内存,带宽。
woker Node : 任务
应用执行流程工作具体流程
- Spark部署
集群/单机
集群: YARN
(1) 安装spark
java, haddop 安装
编译需要明确版本号。命令式安装。
(2) 进入模式 - 替换:
单机单线程
单机多线程, 或人为指定*的个数,1,2,3,4
独立集群
yarn-client: 当前客户端作为集群管理
调试程序,客户端不可关
yarn-cluster : 集群 中选择节点
生产环境
- 应用程序
- 打包工具: sbt, Maven
- 集群应用程序提交
生产模式 - –class SparkPi 自带类
–master : 设定 集群模式, 上图是standlone
examples: 指定依赖包 - 进入交互式环境:
- 脚本代码: 必须使用new SparkContext对象
交互式启动进入,自动生成变量SparkContext对象
分布式sc.file
分布式中的文件:9000分布式访问地址
Readme生成Rdd ,生成string
textFile.count() ,开始从头到尾操作,加载到内存。 统计元素个数。 - YARN下执行应用程序
生产环境 YARN -CLUSTER - 运行结果
- 交互式运行调试
- 没有指定clinte 和Cluster . 默认进入Clinte
在浏览器中输入查询运行情况: