Spark
Gru杨
掌握用法,深入理解,不断实践,反复总结
展开
-
Spark_1 Spark与MapReduce对比
Spark与MapReduce的区别MapReduce的缺陷操作复杂计算效率不适合迭代处理不适合实时流式处理,只能离线处理很多框架都各自为战,浪费了很多资源,开发也慢,运维也不方便Spark的特点计算速度快易于使用通用性Runs EverywhereMapReduce的缺陷操作复杂开发起来:因为MapReduce只有map、reduce两种算子。1. low-level 低级别的。2. ...原创 2019-05-05 17:24:59 · 739 阅读 · 0 评论 -
Spark_3 Spark Core运行架构
目录Spark运行架构:名词介绍Spark 运行注意点Spark运行架构:Spark运行架构包括集群资源管理器(Cluster Manager)、运行作业任务的工作节点(Worker Node)、每个应用的任务控制节点(Driver)和每个工作节点上负责具体任务的执行进程(Executor)与Hadoop MapReduce计算框架相比,Spark所采用的Executor有两个优点:是利...原创 2019-07-11 11:12:08 · 170 阅读 · 0 评论 -
Spark_0 Spark版本及编译
目录Spark版本Spark编译Spark版本学习用2.4.2大版本 APIs change次版本 APIs/features小版本 (核心的东西没有变,只是修复了一些bug)所以小版本要选大的小版本如果是0,最好不要选,没有被修复过,bug多Spark编译由于hadoop-2.6.0-cdh5.7.0和官网的hadoop2.6.0不一样。并且,Spark需要支持...原创 2019-07-11 10:14:14 · 178 阅读 · 0 评论 -
Spark_7 SparkCore共享变量
共享变量共享变量的概述广播变量广播变量概述及底层分析广播变量的使用累加器累加器概述累加器的使用系统累加器自定义累加器共享变量的概述Spark 一个非常重要的特性就是共享变量。默认情况下,如果在一个算子的函数中使用到了某个外部的变量,那么这个变量的值会被拷贝到每个 task 中,此时每个 task 只能操作自己的那份变量副本。如果多个 task 想要共享某个变量,那么这种方式是做不到的。Sp...原创 2019-07-14 14:47:08 · 407 阅读 · 0 评论 -
Spark_6 Spark on YARN
Spark on YARNYARNSpark on YARN执行流程YARNYarn 是一个操作系统级别的统一的资源管理和调度框架多种计算框架可以通过Yarn共享集群资源,按需分配 ==> 可以提升资源的利用率Yarn上可以跑:批处理作业(MR)交互式INTERACTIVE(Tez)ONLINE (HBASE)Streaming (Storm/Flink)In-Memory...原创 2019-07-13 11:45:30 · 326 阅读 · 0 评论 -
Spark_5 RDD依赖关系
RDD依赖关系Lineage窄依赖与宽依赖窄依赖宽依赖宽依赖与窄依赖在应用上的区别DAG任务划分RDDs 通过操作算子进行转换,转换得到的新 RDD 包含了从其他 RDDs 衍生所必需的信息,RDDs 之间维护着这种血缘关系,也称之为依赖。依赖包括两种,一种是窄依赖,RDDs 之间分区是一一对应的,另一种是宽依赖,下游 RDD 的每个分区与上游RDD(也称之为父 RDD)的每个分区都有关,是多对...原创 2019-07-12 20:36:12 · 260 阅读 · 0 评论 -
Spark_4 SparkCore缓存和CheckPoint
目录概述cache()和persist()区别概述如果在应用程序中多次使用同一个 RDD,可以将该 RDD 缓存起来,该 RDD 只有在第一次计算的时候会根据血缘关系得到分区的数据,在后续其他地方用到该 RDD 的时候,会直接从缓存处取而不用再根据血缘关系计算,这样就加速后期的重用。cache在执行的时候也是 lazy 的,需要一个action触发;去除缓存时是eagle的cache如果采...原创 2019-07-12 19:46:12 · 157 阅读 · 0 评论 -
Spark SQL外部数据源
Data Source(1.2)概述源端 ==> MapReduce/Hive/Spark ===> 目标端业务逻辑处理都是在引擎层面来考虑load ======> ETL/… ======> save存在的问题:1.数据文件格式有很多,普通文本,JSON这种带Schema信息的等等等等2.数据有可能存在在本地/HDFS/S3因为这两大类问题的存在,使得...原创 2019-06-27 15:12:42 · 159 阅读 · 0 评论 -
DataFrame
DataFrameval df = spark.read.json(“file:///home/xxxxxxxx.json”) //底层是外部数据源df.showdf.printSchema定义Schemaval structType = StructType(Array(StructField(“id”,StringType,true),StructField(“id”,StringT...原创 2019-06-27 15:11:03 · 365 阅读 · 0 评论 -
Spark Core练习
Spark如何进行大数据业务处理:1. 拿到需求之后:1) 分析2) 功能拆解:中文描述 <== 详细设计说明书3) 代码的开发:代码实现2. 生产上边界值 ==> 使得你的代码具有健壮性 事先考虑一些异常。避免因为一些异常使整个作业挂掉WordCountobject WordCounts {def main(args: Array[String]): Uni...原创 2019-06-27 15:09:36 · 373 阅读 · 0 评论 -
Spark SQL
Spark SQL:SparkSQL 是用来处理结构化数据的结构化数据:SQLORC/Parquet/JsonSparkSQL1.0出来的 1.3毕业的为什么需要SQL?对数据进行分析 方便易用 面广但是原有的数据库无法满足现在的需求需要云化: RDBMS ===> Hadoop生态 需要开发大量的UDF函数BigData: storage + compute普通的...原创 2019-06-27 15:10:04 · 164 阅读 · 0 评论 -
Spark Shell
学会抄代码很多作业都需要脚本来启动1)了解Spark-Shell的启动流程2)抄抄抄Shell script for starting the Spark Shell REPL //REPL: Read-Evaluate-Print-Loop$uname 检查系统信息uname -r 看一下系统的版本uname -a 看一下系统所有的信息if [ -z “” ] 判断字...原创 2019-06-27 14:54:18 · 93 阅读 · 0 评论 -
Spark Core优化
Spark Tuning概述:Spark Program的瓶颈:CPU:memory:CPU和memory合称为资源network bandwidth:Spark哪些地方可以优化: storing RDDs in serialized form to decrease memory usage 以序列化的方式存储减少内存的使用 memory:内存调优:1. 对象占用了多少...原创 2019-06-27 14:51:56 · 225 阅读 · 0 评论 -
Spark Shuffle
shuffle是一个re-distributing data 重新分发数据的过程;map tasks to organize the datareduce tasks to aggregate itindividual map tasks are kept in memory until they can’t fit然后根据目标分区排序并写到一个单独的文件reduce tasks r...原创 2019-06-27 14:49:52 · 89 阅读 · 0 评论 -
[Spark总结]Spark Core概述
Spark CoreSpark Core 概述Spark Core相关术语Spark ApplicationDriverCluster ManagerWorker NodeExecutorTaskJobSpark Core 概述 Spark Core实现了 Spark 的基本功能,包含任务调度、内存管理、错误恢复、与存储系统交互等模块。Spark Core 中还包含了对弹性分布式数据集RDD...原创 2019-05-07 09:02:21 · 771 阅读 · 0 评论 -
Spark_2 RDD
Spark Core 以及 RDDSpark运行架构:RDD概述RDD的定义RDD的五大特点:五大特点在源码中的体现Spark运行架构:Spark运行架构包括集群资源管理器(Cluster Manager)、运行作业任务的工作节点(Worker Node)、每个应用的任务控制节点(Driver)和每个工作节点上负责具体任务的执行进程(Executor)与Hadoop MapReduce计算框...原创 2019-05-05 18:14:39 · 124 阅读 · 0 评论 -
Spark_8 Spark常用算子对比
map与mapPartitionsmap详解:Return a new RDD by applying a function to all elements of this RDD对RDD中的每一个元素都执行一个functionmapPartitions:Return a new RDD by applying a function to each partition of this R...原创 2019-07-18 18:16:03 · 390 阅读 · 0 评论