IT星球论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 89|回复: 0

《OD学Spark》20161022

[复制链接]

2002

主题

1

好友

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

优秀会员 助人为乐 辛勤工作 技术精英 多才多艺 优秀班竹 灌水天才 星球管理 宣传大使 灌水之王 财富勋章 版主勋章 动漫勋章 勤奋会员 论坛精英 PS高手 心 8 闪游皮肤 双鱼座 8★8➹ 志愿者 乖

发表于 2017-3-22 12:39:21 |显示全部楼层
《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

《OD学Spark》20161022
该会员没有填写今日想说内容.
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

回顶部