一、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相关推荐

  1. 《循序渐进学Spark》一3.5 容错机制及依赖

    本节书摘来自华章出版社<循序渐进学Spark>一书中的第3章,第3.5节,作者 小象学院 杨 磊,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 3.5 容错机 ...

  2. 《循序渐进学Spark》一1.6 使用Spark Shell开发运行Spark程序

    本节书摘来自华章出版社<循序渐进学Spark>一书中的第1章,第1.6节,作者 小象学院 杨 磊,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 1.6 使用S ...

  3. 《循序渐进学Spark》一1.7 本章小结

    本节书摘来自华章出版社<循序渐进学Spark>一书中的第1章,第1.7节,作者 小象学院 杨 磊,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 1.7 本章小 ...

  4. 想玩转工业界机器学习?先学Spark吧

    正文共5145个字,16张图,预计阅读时间13分钟. 为什么机器学习者需要学习spark? 关于大数据,有这样段话: "Big data is like teenage sex,everyo ...

  5. 从零开始学Spark(一)

    点击关注强哥,还有100多G的面试资料等你来拿 哈喽,大家好,我是强哥. 前情提要 没错,从今天开始,强哥将开一个Spark入门系列推文,都让其他推文也还是会继续发. 为什么要学Spark,没有别的, ...

  6. 《循序渐进学Spark 》Spark 编程模型

    本节书摘来自华章出版社<循序渐进学Spark >一书中的第1章,第3节,作者 小象学院 杨 磊,更多章节内容可以访问云栖社区"华章计算机"公众号查看. Spark机制原 ...

  7. 《循序渐进学Spark》一 3.4 Spark通信机制

    本节书摘来自华章出版社<循序渐进学Spark>一书中的第3章,第3.4节,作者 小象学院 杨 磊,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 3.4 Spa ...

  8. Spark精华问答 | 为什么要学Spark?

    戳蓝字"CSDN云计算"关注我们哦! 为什么要学习Spark?作为一个用来实现快速而通用的集群计算的平台.扩展广泛使用的MapReduce计算模型,而且高效地支持更多的计算模式,包 ...

  9. 《OD学Oozie》20160807Oozie

    一.引入 MapReduce Job Hive 脚本任务 同一个业务:先后.定时调度 工作流: 定义工作流程 activity jbpm oozie: 大数据工作流定义与调度框架 专门定义与调度Map ...

最新文章

  1. 手把手教你用Python实现自动特征工程
  2. 详细透彻的分析DM9000网卡驱动程序(4)
  3. 最明的int和Integer的区别
  4. 评估报告有效期过期了怎么办_托福成绩过期了怎么办?
  5. 容器精华问答 | 我们为什么需要容器?
  6. (软件工程复习核心重点)第八章面向对象方法学习题
  7. php-fpm容易假死,实现自动重启php服务的脚本 通过后
  8. 为什么说“不要教你的孩子学编程”?
  9. 数据预处理—4.为什么要趋近于正态分布?详解
  10. Hindex--华为Hbase二级索引
  11. /sbin/mount.vboxsf: mounting failed with the error: Protocol error
  12. 如何录屏制作gif图片
  13. android 混淆 minifyEnabled
  14. 电子信息业取得长足发展 效益与质量同步提升
  15. ajax改变url参数,js修改URL参数_Javascript/Ajax_网页制作 - www.jscode.cn
  16. 置信区间的置信区间_什么是置信区间,为什么人们使用它们?
  17. 三维模型下构件关联类型系统展示
  18. 不懂就要问!流量卡拒收对个人会有影响吗?
  19. 报表和专业BI有什么区别?
  20. 模拟cmos集成电路(3)

热门文章

  1. 91年转行前端开发,是不是不该转,有啥风险?
  2. 学习总结:JavaScript学习分享
  3. 学习Web前端技术,掌握JavaScript这门语言是必须的
  4. win8锁定计算机,Win8怎么关闭锁屏功能
  5. mysql 数据库安装命令_数据库mysql安装及最基本命令
  6. 北大计算机科学与技术怎么样,国内高校计算机科学与技术学科排名,浙大表现亮眼,北大荣登榜首...
  7. yjv是电缆还是电线_电力电缆载流量,都说有这一份最新汇总就够了
  8. JS (与运算)详解
  9. java环绕通知的应用_Spring之环绕通知
  10. CentOS用户及用户组管理