Spark
Gru杨
掌握用法,深入理解,不断实践,反复总结
展开
-
Spark_1 Spark与MapReduce对比
Spark与MapReduce的区别MapReduce的缺陷操作复杂计算效率不适合迭代处理不适合实时流式处理,只能离线处理很多框架都各自为战,浪费了很多资源,开发也慢,运维也不方便Spark的特点计算速度快易于使用通用性Runs Everywhere MapReduce的缺陷 操作复杂 开发起来:因为MapReduce只有map、reduce两种算子。 1. low-level 低级别的。 2. ...原创 2019-05-05 17:24:59 · 728 阅读 · 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 · 168 阅读 · 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 · 171 阅读 · 0 评论 -
Spark_7 SparkCore共享变量
共享变量共享变量的概述广播变量广播变量概述及底层分析广播变量的使用累加器累加器概述累加器的使用系统累加器自定义累加器 共享变量的概述 Spark 一个非常重要的特性就是共享变量。 默认情况下,如果在一个算子的函数中使用到了某个外部的变量,那么这个变量的值会被拷贝到每个 task 中,此时每个 task 只能操作自己的那份变量副本。如果多个 task 想要共享某个变量,那么这种方式是做不到的。 Sp...原创 2019-07-14 14:47:08 · 199 阅读 · 0 评论 -
Spark_6 Spark on YARN
Spark on YARNYARNSpark on YARN执行流程 YARN Yarn 是一个操作系统级别的统一的资源管理和调度框架 多种计算框架可以通过Yarn共享集群资源,按需分配 ==> 可以提升资源的利用率 Yarn上可以跑: 批处理作业(MR) 交互式INTERACTIVE(Tez) ONLINE (HBASE) Streaming (Storm/Flink) In-Memory...原创 2019-07-13 11:45:30 · 219 阅读 · 0 评论 -
Spark_5 RDD依赖关系
RDD依赖关系Lineage窄依赖与宽依赖窄依赖宽依赖宽依赖与窄依赖在应用上的区别DAG任务划分 RDDs 通过操作算子进行转换,转换得到的新 RDD 包含了从其他 RDDs 衍生所必需的信息,RDDs 之间维护着这种血缘关系,也称之为依赖。依赖包括两种,一种是窄依赖,RDDs 之间分区是一一对应的,另一种是宽依赖,下游 RDD 的每个分区与上游RDD(也称之为父 RDD)的每个分区都有关,是多对...原创 2019-07-12 20:36:12 · 148 阅读 · 0 评论 -
Spark_4 SparkCore缓存和CheckPoint
目录概述cache()和persist()区别 概述 如果在应用程序中多次使用同一个 RDD,可以将该 RDD 缓存起来,该 RDD 只有在第一次计算的时候会根据血缘关系得到分区的数据,在后续其他地方用到该 RDD 的时候,会直接从缓存处取而不用再根据血缘关系计算,这样就加速后期的重用。 cache在执行的时候也是 lazy 的,需要一个action触发;去除缓存时是eagle的 cache如果采...原创 2019-07-12 19:46:12 · 149 阅读 · 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 · 147 阅读 · 0 评论 -
DataFrame
DataFrame val df = spark.read.json(“file:///home/xxxxxxxx.json”) //底层是外部数据源 df.show df.printSchema 定义Schema val structType = StructType(Array(StructField(“id”,StringType,true),StructField(“id”,StringT...原创 2019-06-27 15:11:03 · 330 阅读 · 0 评论 -
Spark Core练习
Spark如何进行大数据业务处理: 1. 拿到需求之后: 1) 分析 2) 功能拆解:中文描述 <== 详细设计说明书 3) 代码的开发:代码实现 2. 生产上边界值 ==> 使得你的代码具有健壮性 事先考虑一些异常。 避免因为一些异常使整个作业挂掉 WordCount object WordCounts { def main(args: Array[String]): Uni...原创 2019-06-27 15:09:36 · 345 阅读 · 0 评论 -
Spark SQL
Spark SQL: SparkSQL 是用来处理结构化数据的 结构化数据:SQL ORC/Parquet/Json SparkSQL 1.0出来的 1.3毕业的 为什么需要SQL? 对数据进行分析 方便易用 面广 但是原有的数据库无法满足现在的需求 需要云化: RDBMS ===> Hadoop生态 需要开发大量的UDF函数 BigData: storage + compute 普通的...原创 2019-06-27 15:10:04 · 158 阅读 · 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 · 88 阅读 · 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 · 214 阅读 · 0 评论 -
Spark Shuffle
shuffle是一个re-distributing data 重新分发数据的过程; map tasks to organize the data reduce tasks to aggregate it individual map tasks are kept in memory until they can’t fit 然后根据目标分区排序并写到一个单独的文件 reduce tasks r...原创 2019-06-27 14:49:52 · 82 阅读 · 0 评论 -
[Spark总结]Spark Core概述
Spark CoreSpark Core 概述Spark Core相关术语Spark ApplicationDriverCluster ManagerWorker NodeExecutorTaskJob Spark Core 概述 Spark Core实现了 Spark 的基本功能,包含任务调度、内存管理、错误恢复、与存储系统交互等模块。Spark Core 中还包含了对弹性分布式数据集RDD...原创 2019-05-07 09:02:21 · 760 阅读 · 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 · 118 阅读 · 0 评论 -
Spark_8 Spark常用算子对比
map与mapPartitions map详解: Return a new RDD by applying a function to all elements of this RDD 对RDD中的每一个元素都执行一个function mapPartitions: Return a new RDD by applying a function to each partition of this R...原创 2019-07-18 18:16:03 · 363 阅读 · 0 评论