《OD学spark》20161022
一、Spark Core
1. 什么是Spark Shuffle
Wide Dependencies
*ByKey: groupByKey,reduceByKey
关联操作:join,cogroup
窄依赖:
父RDD的每个分区的数据,仅仅只会给子RDD的一个分区。
Spark性能优化:
开发优化:
依据业务场景及数据,使用较好的RDD的方法
(1)能使用reduceByKey不要使用groupByKey
(2)适当的时候已经处理的数据RDD,进行重新分区
repartition
reduceByKey(func, numPartitions)
coalse
SCALA中的拉链编程
val rdd = sc.parallelize(List(1,2,3,4,5))
val rdd2 = sc.parallelize(List("aa", "bb", "cc", "dd", "ee"))
rdd.zip(rdd2)
rdd.zip(rdd2).collect
2. MapReduce Shuffle
Spark Stages
(1)ResultStage
Stage阶段运行Jobs输出结果
ResultTask
(2)ShuffleMapStage
Stage阶段的RDD会发生Shuffle过程,
ShuffleMapTask
每个Stage中的所有任务的逻辑处理相同(functions)
Spark Scheduler
RDD Objects -> DAGScheduler -> TaskScheduler -> Worker
二、Spark SQL
MapReduce -> Hive
SparkCore -> SparkSQL
1. SQL on Hadoop
(1)Hive
基础,数据仓库,Facebook开源,
(2)Presto
内存,Facebook,依赖于Hive MetaStore
国内:京东
(3)Impala
内存,Cloudera,依赖于Hive MetaStore
应用:电信、游戏
安装方式: RPM包,联网安装,包特别多;CM5.3.x安装CDH5.3.x,包含Impala,界面化安装
(4)Spark SQL
(5)Drill
1PB的数据进行分析查询-> 3s
(6)Kylin
麒麟框架,唯一一个由国人开源的大数据框架,提供中文文档,也是Apache顶级项目
大数据起源搜索引擎,发展于电商互联网,Google三大论文
大数据的前三驾马车: GFS、 MapReduce和BigTable
大数据的后三驾马车: Caffeine、Pregel(Pregel主要绘制大量网上信息之间关系的“图形数据库”)、Dremel
2. SparkSQL
DataFrame = RDD[Row]
封装所有数据,提供一系列方法进行操作。
SQLContext
spark-1.3.0 release
特性: 外部数据源(接口) hive\parquet\orc\json\xml\jdbc\tsv\csv\......
SparkSQL读取文件数据的内容
文件数据格式默认的是parquet格式
Hive引擎:
SQL->Parse(语法解析)->Logical Plan(逻辑计划)->优化LP->Pyhsical Plan(物理计划)
MapReduce
SparkCore
SHark = Spark on Hive spark 1.0之前
Catalyst: Spark SQL引擎
1)替代Hive
shark
SparkSQL与Hive无缝对接继承
企业中开发经验
(1)Hive对要分析的数据进行ETL操作
数据仓库
(2)SparkSQL进行分析
HiveQL:
val df = sqlContext.sql("select * from emp")
DSL:
val df = sqlContext.table("emp").select("empno")
Spark与Hive继承
从某个角度来说,SparkSQL读取Hive表中的数据,就是Hive客户端
(1)hive-site.xml
metastore存储在哪里?MySQL中
(2)数据库驱动包
3. Catalyst
SQL Text
------Parsing ----->Unsolved Logic Plan
------Binding & Anlyzidng -------> Logical Plan
------Optimizing -----> Optimized Logical Plan
------QueryPlanning ----> Physical Plan
4. 如何将依赖包放入到应用CLASSPATH虾米那
(1)--jars
(2)万能
SPARK_CLASSPTH
转载于:https://www.cnblogs.com/yeahwell/p/5987289.html
《OD学spark》20161022相关推荐
- 《循序渐进学Spark》一3.5 容错机制及依赖
本节书摘来自华章出版社<循序渐进学Spark>一书中的第3章,第3.5节,作者 小象学院 杨 磊,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 3.5 容错机 ...
- 《循序渐进学Spark》一1.6 使用Spark Shell开发运行Spark程序
本节书摘来自华章出版社<循序渐进学Spark>一书中的第1章,第1.6节,作者 小象学院 杨 磊,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 1.6 使用S ...
- 《循序渐进学Spark》一1.7 本章小结
本节书摘来自华章出版社<循序渐进学Spark>一书中的第1章,第1.7节,作者 小象学院 杨 磊,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 1.7 本章小 ...
- 想玩转工业界机器学习?先学Spark吧
正文共5145个字,16张图,预计阅读时间13分钟. 为什么机器学习者需要学习spark? 关于大数据,有这样段话: "Big data is like teenage sex,everyo ...
- 从零开始学Spark(一)
点击关注强哥,还有100多G的面试资料等你来拿 哈喽,大家好,我是强哥. 前情提要 没错,从今天开始,强哥将开一个Spark入门系列推文,都让其他推文也还是会继续发. 为什么要学Spark,没有别的, ...
- 《循序渐进学Spark 》Spark 编程模型
本节书摘来自华章出版社<循序渐进学Spark >一书中的第1章,第3节,作者 小象学院 杨 磊,更多章节内容可以访问云栖社区"华章计算机"公众号查看. Spark机制原 ...
- 《循序渐进学Spark》一 3.4 Spark通信机制
本节书摘来自华章出版社<循序渐进学Spark>一书中的第3章,第3.4节,作者 小象学院 杨 磊,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 3.4 Spa ...
- Spark精华问答 | 为什么要学Spark?
戳蓝字"CSDN云计算"关注我们哦! 为什么要学习Spark?作为一个用来实现快速而通用的集群计算的平台.扩展广泛使用的MapReduce计算模型,而且高效地支持更多的计算模式,包 ...
- 《OD学Oozie》20160807Oozie
一.引入 MapReduce Job Hive 脚本任务 同一个业务:先后.定时调度 工作流: 定义工作流程 activity jbpm oozie: 大数据工作流定义与调度框架 专门定义与调度Map ...
最新文章
- 手把手教你用Python实现自动特征工程
- 详细透彻的分析DM9000网卡驱动程序(4)
- 最明的int和Integer的区别
- 评估报告有效期过期了怎么办_托福成绩过期了怎么办?
- 容器精华问答 | 我们为什么需要容器?
- (软件工程复习核心重点)第八章面向对象方法学习题
- php-fpm容易假死,实现自动重启php服务的脚本 通过后
- 为什么说“不要教你的孩子学编程”?
- 数据预处理—4.为什么要趋近于正态分布?详解
- Hindex--华为Hbase二级索引
- /sbin/mount.vboxsf: mounting failed with the error: Protocol error
- 如何录屏制作gif图片
- android 混淆 minifyEnabled
- 电子信息业取得长足发展 效益与质量同步提升
- ajax改变url参数,js修改URL参数_Javascript/Ajax_网页制作 - www.jscode.cn
- 置信区间的置信区间_什么是置信区间,为什么人们使用它们?
- 三维模型下构件关联类型系统展示
- 不懂就要问!流量卡拒收对个人会有影响吗?
- 报表和专业BI有什么区别?
- 模拟cmos集成电路(3)
热门文章
- 91年转行前端开发,是不是不该转,有啥风险?
- 学习总结:JavaScript学习分享
- 学习Web前端技术,掌握JavaScript这门语言是必须的
- win8锁定计算机,Win8怎么关闭锁屏功能
- mysql 数据库安装命令_数据库mysql安装及最基本命令
- 北大计算机科学与技术怎么样,国内高校计算机科学与技术学科排名,浙大表现亮眼,北大荣登榜首...
- yjv是电缆还是电线_电力电缆载流量,都说有这一份最新汇总就够了
- JS (与运算)详解
- java环绕通知的应用_Spring之环绕通知
- CentOS用户及用户组管理