摘要: 创建与分配Executor的方式根据各种资源调度方式的不同而有差异,但拿到Executor后每种资源调度方式下的Executor的运作都一样,并由Executor完成最终的计算 Task在Executor中执行时涉及到依赖环境的创建和分发、任务执行、任务结果的处理、Driver端的处理(书中有详细介 阅读全文
posted @ 2018-03-07 15:13 KINGHEY 阅读(6441) 评论(0) 推荐(0) 编辑
摘要: 部署方式有:Standalone(Spark的Deploy模块)、Mesos、YARN、EC2、Local SparkContext创建时,通过传入的Master URL不同,创建不同的SchedulerBackend和TaskScheduler,在spark.SparkContext#create 阅读全文
posted @ 2018-03-07 15:12 KINGHEY 阅读(1051) 评论(0) 推荐(0) 编辑
摘要: Shuffle是性能调优的重点,Shuffle是为了汇聚有共同特征的一类数据到一个计算节点上进行计算。 Shuffle过程非常复杂:数据量大、将数据汇聚到正确的Partition和节点时产生多次磁盘交互、节省带宽而无可避免的压缩、网络传输所需的序列化 Shuffle需要持久化计算的中间结果,因为一旦 阅读全文
posted @ 2018-03-07 15:06 KINGHEY 阅读(2224) 评论(0) 推荐(0) 编辑
摘要: 多个Job如何分配计算资源: 调度模块分为:DAGScheduler和TaskScheduler 计算任务按DAG分阶段提交集群 用户只需要关心如何创建RDD来操作,无需关注底层的调度,除非要优化 DAGScheduler负责分析应用,建立DAG,划分Stage,Stage由并发Task(Task逻 阅读全文
posted @ 2018-03-07 11:34 KINGHEY 阅读(810) 评论(0) 推荐(0) 编辑
摘要: Spark最基本、最根本的数据抽象 RDD基于内存,提高了迭代式、交互式操作的性能 RDD是只读的,只能通过其他RDD批量操作来创建,提高容错性 另外RDD还具有位置感知性调度和可伸缩性 RDD只支持粗粒度转换,记录Lineage,用于恢复丢失的分区,从物理存储的数据计算出相应的RDD分区 RDD的 阅读全文
posted @ 2018-03-06 21:49 KINGHEY 阅读(374) 评论(0) 推荐(0) 编辑
摘要: DAG:Directed Acyclic Graph,有向无环图 RDD:Resilient Distributed Dataset 弹性分布式数据集,一种分布式的内存抽象,将工作集缓存到内存中,实现了复用。 用户使用交互接口(Driver)与Spark集群的Cluster Manager进行交互, 阅读全文
posted @ 2018-03-06 21:36 KINGHEY 阅读(252) 评论(0) 推荐(0) 编辑
摘要: Spark运行架构: Spark运行架构包括集群资源管理器(Cluster Manager)、运行作业任务的工作节点(Worker Node)、每个应用的任务控制节点(Driver)和每个工作节点上负责具体任务的执行进程(Executor) 与Hadoop MapReduce计算框架相比,Spark 阅读全文
posted @ 2018-03-06 20:47 KINGHEY 阅读(5303) 评论(1) 推荐(1) 编辑
摘要: Hadoop整体: 简介: Apache开发、基于Java、核心是HDFS和MapReduce 特性:高可靠(容错)性(冗余存储)、高效性(分布式存储和处理)、高可扩展性(成本低)(集群)、支持多种语言 应用架构: 重要子项目: HDFS:文件系统,超大数据、流式处理能力。 在部分硬件故障下仍能保证 阅读全文
posted @ 2018-03-06 17:29 KINGHEY 阅读(741) 评论(0) 推荐(0) 编辑
摘要: 什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。 Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机 阅读全文
posted @ 2018-03-06 15:53 KINGHEY 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 第二章:二分法 目录: 414: public int divide(int dividend, int divisor) { if (divisor == 0) { return dividend >= 0? Integer.MAX_VALUE : Integer.MIN_VALUE; } if 阅读全文
posted @ 2018-01-17 11:39 KINGHEY 阅读(1647) 评论(0) 推荐(0) 编辑