随笔分类 - Spark
摘要:一、引言 在了解GraphX之前,需要先了解关于通用的分布式图计算框架的两个常见问题:图存储模式和图计算模式。 二、图存储模式 巨型图的存储总体上有边分割和点分割两种存储方式。2013年,GraphLab2.0将其存储方式由边分割变为点分割,在性能上取得重大提升,目前基本上被业界广泛接受并使用。 2
阅读全文
摘要:一、图 1.1 基本概念 图是由顶点集合(vertex)及顶点间的关系集合(边edge)组成的一种数据结构。 这里的图并非指代数中的图。图可以对事物以及事物之间的关系建模,图可以用来表示自然发生的连接数据,如:社交网络、互联网web页面 常用的应用有:在地图应用中找到最短路径、基于与他人的相似度图,
阅读全文
摘要:一、SparkCore、SparkSQL和SparkStreaming的类似之处 二、SparkStreaming的运行流程 2.1 图解说明 2.2 文字解说 1、我们在集群中的其中一台机器上提交我们的Application Jar,然后就会产生一个Application,开启一个Driver,然
阅读全文
摘要:666
阅读全文
摘要:一、概述 SparkSQL 的元数据的状态有两种: 1、in_memory,用完了元数据也就丢了 2、hive , 通过hive去保存的,也就是说,hive的元数据存在哪儿,它的元数据也就存在哪儿。 换句话说,SparkSQL的数据仓库在建立在Hive之上实现的。我们要用SparkSQL去构建数据仓
阅读全文
摘要:在Spark中,也支持Hive中的自定义函数。自定义函数大致可以分为三种: UDF(User-Defined-Function),即最基本的自定义函数,类似to_char,to_date等 UDAF(User- Defined Aggregation Funcation),用户自定义聚合函数,类似在
阅读全文
摘要:一、SparkSQL的进化之路 1.0以前: Shark 1.1.x开始: SparkSQL(只是测试性的) SQL 1.3.x: SparkSQL(正式版本)+Dataframe 1.5.x: SparkSQL 钨丝计划 1.6.x: SparkSQL+DataFrame+DataSet(测试版本
阅读全文
摘要:一、分区的概念 分区是RDD内部并行计算的一个计算单元,RDD的数据集在逻辑上被划分为多个分片,每一个分片称为分区,分区的格式决定了并行计算的粒度,而每个分区的数值计算都是在一个任务中进行的,因此任务的个数,也是由RDD(准确来说是作业最后一个RDD)的分区数决定。 二、为什么要进行分区 数据分区,
阅读全文
摘要:一、概述 上一篇主要是介绍了spark启动的一些脚本,这篇主要分析一下Spark源码中提交任务脚本的处理逻辑,从spark-submit一步步深入进去看看任务提交的整体流程,首先看一下整体的流程概要图: 二、源码解读 2.1 spark-submit 所以spark-submit脚本的整体逻辑就是:
阅读全文
摘要:一、启动脚本分析 独立部署模式下,主要由master和slaves组成,master可以利用zk实现高可用性,其driver,work,app等信息可以持久化到zk上;slaves由一台至多台主机构成。Driver通过向Master申请资源获取运行环境。 启动master和slaves主要是执行/u
阅读全文
摘要:一、概述 垃圾收集 Garbage Collection 通常被称为“GC”,它诞生于1960年 MIT 的 Lisp 语言,经过半个多世纪,目前已经十分成熟了。 jvm 中,程序计数器、虚拟机栈、本地方法栈都是随线程而生随线程而灭,栈帧随着方法的进入和退出做入栈和出栈操作,实现了自动的内存清理,因
阅读全文
摘要:一、JVM的结构图 1.1 Java内存结构 JVM内存结构主要有三大块:堆内存、方法区和栈。 堆内存是JVM中最大的一块由年轻代和老年代组成,而年轻代内存又被分成三部分,Eden空间、From Survivor空间、To Survivor空间,默认情况下年轻代按照8:1:1的比例来分配; 方法区存
阅读全文
摘要:摘抄自:https://tech.meituan.com/spark-tuning-basic.html 一、概述 在开发完Spark作业之后,就该为作业配置合适的资源了。Spark的资源参数,基本都可以在spark-submit命令中作为参数设置。很多Spark初学者,通常不知道该设置哪些必要的参
阅读全文
摘要:摘抄自:https://www.ibm.com/developerworks/cn/analytics/library/ba-cn-apache-spark-memory-management/index.html 一、概述 Spark 作为一个基于内存的分布式计算引擎,其内存管理模块在整个系统中扮
阅读全文
摘要:摘抄自https://tech.meituan.com/spark-tuning-pro.html 一、概述 大多数Spark作业的性能主要就是消耗在了shuffle环节,因为该环节包含了大量的磁盘IO、序列化、网络数据传输等操作。因此,如果要让作业的性能更上一层楼,就有必要对shuffle过程进行
阅读全文
摘要:摘抄自:https://tech.meituan.com/spark-tuning-pro.html 数据倾斜调优 调优概述 有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证
阅读全文
摘要:摘抄自:https://tech.meituan.com/spark-tuning-basic.html 前言 在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计
阅读全文
摘要:一、Spark中的基本概念 (1)Application:表示你的应用程序 (2)Driver:表示main()函数,创建SparkContext。由SparkContext负责与ClusterManager通信,进行资源的申请,任务的分配和监控等。程序执行完毕后关闭SparkContext (3)
阅读全文
摘要:Transformation算子 基本的初始化 java scala 一、map、flatMap、mapParations、mapPartitionsWithIndex 1.1 map (1) 使用Java7进行编写 map十分容易理解,他是将源JavaRDD的一个一个元素的传入call方法,并经过
阅读全文
摘要:一、JDK的安装 JDK使用root用户安装 1.1 上传安装包并解压 1.2 配置环境变量 1.3 验证Java版本 二、配置配置ssh localhost 使用hadoop用户安装 2.1 检测 正常情况下,本机通过ssh连接自己也是需要输入密码的 2.2 生成私钥和公钥秘钥对 2.3 将公钥添
阅读全文