安哥网络 发表于 2017-3-22 12:39:21

《OD学Spark》20161022

《OD学Spark》20161022
一、Spark Core1.什么是Spark ShuffleWide Dependencies*ByKey: groupByKey,reduceByKey关联操作:join,cogroup
窄依赖:父RDD的每个分区的数据,仅仅只会给子RDD的一个分区。Spark性能优化:开发优化:依据业务场景及数据,使用较好的RDD的方法(1)能使用reduceByKey不要使用groupByKey(2)适当的时候已经处理的数据RDD,进行重新分区repartitionreduceByKey(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 ShuffleSpark Stages(1)ResultStageStage阶段运行Jobs输出结果ResultTask(2)ShuffleMapStageStage阶段的RDD会发生Shuffle过程,ShuffleMapTask每个Stage中的所有任务的逻辑处理相同(functions)
Spark SchedulerRDD Objects ->DAGScheduler ->TaskScheduler ->Worker
二、Spark SQLMapReduce -> HiveSparkCore -> SparkSQL1. 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)Drill1PB的数据进行分析查询-> 3s(6)Kylin麒麟框架,唯一一个由国人开源的大数据框架,提供中文文档,也是Apache顶级项目
大数据起源搜索引擎,发展于电商互联网,Google三大论文大数据的前三驾马车:GFS、 MapReduce和BigTable大数据的后三驾马车:Caffeine、Pregel(Pregel主要绘制大量网上信息之间关系的“图形数据库”)、Dremel
2. SparkSQLDataFrame = RDD封装所有数据,提供一系列方法进行操作。SQLContextspark-1.3.0 release特性: 外部数据源(接口) hive\parquet\orc\json\xml\jdbc\tsv\csv\......SparkSQL读取文件数据的内容文件数据格式默认的是parquet格式
Hive引擎:SQL->Parse(语法解析)->Logical Plan(逻辑计划)->优化LP->Pyhsical Plan(物理计划)MapReduceSparkCoreSHark = Spark on Hivespark 1.0之前Catalyst: Spark SQL引擎1)替代HivesharkSparkSQL与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.xmlmetastore存储在哪里?MySQL中(2)数据库驱动包
3. CatalystSQL 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
页: [1]
查看完整版本: 《OD学Spark》20161022