![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spark
CODE男孩
你只是看起来很努力
展开
-
Spark在Windows下的环境搭建
由于Spark是用Scala来写的,所以Spark对Scala肯定是原生态支持的,因此这里以Scala为主来介绍Spark环境的搭建,主要包括四个步骤,分别是:JDK的安装,Scala的安装,Spark的安装,Hadoop的下载和配置。为了突出”From Scratch”的特点(都是标题没选好的缘故),所以下面的步骤稍显有些啰嗦,老司机大可不必阅读,直接跳过就好。 一.JDK的安装转载 2018-02-02 16:57:56 · 1018 阅读 · 0 评论 -
SparkSQL(中)--深入了解SparkSQL运行计划及调优
1.1 运行环境说明1.1.1 硬软件环境l 主机操作系统:Windows 64位,双核4线程,主频2.2G,10G内存l 虚拟软件:VMware® Workstation 9.0.0 build-812388l 虚拟机操作系统:CentOS6.5 64位,单核l 虚拟机运行环境:Ø JDK:1.7.0_55 64位Ø Hadoop:2.2.0(需要编译为64位)Ø Scala:2...转载 2018-02-08 16:32:06 · 338 阅读 · 0 评论 -
SparkSQL(下)--Spark实战应用
1、运行环境说明1.1 硬软件环境l 主机操作系统:Windows 64位,双核4线程,主频2.2G,10G内存l 虚拟软件:VMware® Workstation 9.0.0 build-812388l 虚拟机操作系统:CentOS 64位,单核l 虚拟机运行环境:Ø JDK:1.7.0_55 64位Ø Hadoop:2.2.0(需要编译为64位)Ø Scala:2.10.4Ø ...转载 2018-02-08 16:33:00 · 475 阅读 · 0 评论 -
如何在yarn上运行Hello World(一)
1.YARN是什么YARN (Yet Another Resource Negotiator,另一种资源协调者) 是hadoop上的一种资源调度器,它是一个通用资源管理系统,可以为上层应用提供统一的资源管理和调度. 2.yarn的结构 YARN的结构是一个典型的主从结构(MASTER/SLAVER)其中的ResourceManager(简称为RM),是一个全局的资源调度器,负责整个系统的资源管...原创 2018-03-12 15:57:31 · 1119 阅读 · 0 评论 -
如何在yarn上运行Hello World(二)
在之前的一篇文章我们介绍了如何编写在yarn集群提交运行应用的AM的yarnClient端,现在我们来继续介绍如何编写在yarn集群控制应用app运行的核心模块 ApplicationMaster. 首先,介绍下我们要在yarn集群上运行的应用程序 HelloWorld. 这个应用很简单,就是一个主函数,启动的时候打印一句话表明应用已经启动,结束的时候打印一句话表明应用运行结束. 现在我们要用AM...原创 2018-03-12 16:00:18 · 1003 阅读 · 1 评论 -
hadoop Yarn 编程API
客户端编程库:所在jar包: org.apache.hadoop.yarn.client.YarnClient使用方法:1 定义一个YarnClient实例: private YarnClient client;2 构造一个Yarn客户端句柄并初始化 this.client = YarnClient.createYarnClient(); client.ini(conf...原创 2018-03-12 18:09:27 · 5009 阅读 · 0 评论 -
SparkSQL编程指导
1. OverviewSpark SQL是spark提供的一个结构化数据处理模块。Spark提供的SparkSQL接口主要是针对数据的结构化及其计算,并针对这些方面做了大量的优化处理。SparkSQL提供了两种方式来让我们操作结构化数据:SQL和Dataset API。2. SQLSparkSQL可以直接执行sql查询,Spark SQL也可以从已经存在的hive中读取数据(关于这部分的配置在...转载 2018-04-09 18:09:27 · 222 阅读 · 0 评论 -
spark RDD中foreachPartition和foreach说明
主题:RDD的foreachPartition/foreach的操作说明:这两个action主要用于对每个partition中的iterator时行迭代的处理.通过用户传入的function对iterator进行内容的处理.一、foreach的操作:foreach中,传入一个function,这个函数的传入参数就是每个partition中,每次的foreach得到的一个rdd的kv实例,也就是具体...转载 2018-04-19 10:08:52 · 4634 阅读 · 1 评论 -
Spark性能优化指南——基础篇
前言在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操作,应用范围与前景非常广泛。在美团•大众点评,已经有很多同学在各种项目中尝试使用Spark。大多数同学(包括笔者在内),最初开始尝试使用Spark的原因很简单,主要就是为了让大数据计算作业的执行速度更快、...转载 2018-04-19 10:09:28 · 160 阅读 · 0 评论 -
Spark JDBC For example Mysql
mysql jdbc driver下载地址https://dev.mysql.com/downloads/connector/j/在spark中使用jdbc1.在 spark-env.sh 文件中加入:export SPARK_CLASSPATH=/path/mysql-connector-java-5.1.42.jar2.任务提交时加入:--jars /path/mysql-connector-...转载 2018-05-07 15:22:09 · 606 阅读 · 0 评论 -
Spark运行架构(Good)
转自与https://note.youdao.com/share/?id=7fc41e362e86a863a84e787573433a76&type=note#/1、 Spark运行架构1.1 术语定义lApplication:Spark Application的概念和Hadoop MapReduce中的类似,指的是用户编写的Spark应用程序,包含了一个Driver 功能的代码和分布在集...转载 2018-07-06 14:23:04 · 391 阅读 · 0 评论 -
SparkSQL(上)--SparkSQL简介
1、SparkSQL的发展历程1.1 Hive and SharkSparkSQL的前身是Shark,给熟悉RDBMS但又不理解MapReduce的技术人员提供快速上手的工具,Hive应运而生,它是当时唯一运行在Hadoop上的SQL-on-Hadoop工具。但是MapReduce计算过程中大量的中间磁盘落地过程消耗了大量的I/O,降低的运行效率,为了提高SQL-on-Hadoop的效率,大量的S...转载 2018-02-08 16:30:25 · 303 阅读 · 0 评论 -
Spark机器学习库(MLlib)官方指南手册中文版
Spark机器学习库(MLlib)指南 MLlib是Spark里的机器学习库。它的目标是使实用的机器学习算法可扩展并容易使用。它提供如下工具: 1.机器学习算法:常规机器学习算法包括分类、回归、聚类和协同过滤。 2.特征工程:特征提取、特征转换、特征选择以及降维。 3.管道:构造、评估和调整的管道的工具。 4.存储:保存和加载算法、模型及...转载 2018-02-08 12:27:46 · 283 阅读 · 0 评论 -
spark开发环境搭建(基于idea 和maven)
使用idea构建maven 管理的spark项目 ,默认已经装好了idea 和Scala那么使用idea 新建maven 管理的spark 项目有以下几步:scala插件的安装全局JDK和Library的设置配置全局的Scala SDK新建maven项目属于你的”Hello World!”导入spark依赖编写sprak代码打包在spark上运行1.scala插件的原创 2018-02-03 16:40:47 · 367 阅读 · 0 评论 -
Spark笔记:RDD基本操作(上)
本文主要是讲解spark里RDD的基础操作。RDD是spark特有的数据模型,谈到RDD就会提到什么弹性分布式数据集,什么有向无环图,本文暂时不去展开这些高深概念,在阅读本文时候,大家可以就把RDD当作一个数组,这样的理解对我们学习RDD的API是非常有帮助的。本文所有示例代码都是使用scala语言编写的。 Spark里的计算都是操作RDD进行,那么学习RDD的第一个问题就是如何构建RD原创 2018-02-05 13:02:12 · 261 阅读 · 0 评论 -
Spark笔记:RDD基本操作(下)
上一篇里我提到可以把RDD当作一个数组,这样我们在学习spark的API时候很多问题就能很好理解了。上篇文章里的API也都是基于RDD是数组的数据模型而进行操作的。 Spark是一个计算框架,是对mapreduce计算框架的改进,mapreduce计算框架是基于键值对也就是map的形式,之所以使用键值对是人们发现世界上大部分计算都可以使用map这样的简单计算模型进行计算。但是Spark里原创 2018-02-05 13:03:22 · 234 阅读 · 0 评论 -
Spark笔记:复杂RDD的API的理解(上)
本篇接着讲解RDD的API,讲解那些不是很容易理解的API,同时本篇文章还将展示如何将外部的函数引入到RDD的API里使用,最后通过对RDD的API深入学习,我们还讲讲一些和RDD开发相关的scala语法。1) aggregate(zeroValue)(seqOp,combOp) 该函数的功能和reduce函数一样,也是对数据进行聚合操作,不过aggregate可以返回和原R原创 2018-02-05 13:09:44 · 239 阅读 · 0 评论 -
Spark笔记:复杂RDD的API的理解(下)
本篇接着谈谈那些稍微复杂的API。1) flatMapValues:针对Pair RDD中的每个值应用一个返回迭代器的函数,然后对返回的每个元素都生成一个对应原键的键值对记录 这个方法我最开始接触时候,总是感觉很诧异,不是太理解,现在回想起来主要原因是我接触的第一个flatMapValues的例子是这样的,代码如下:123原创 2018-02-05 13:10:51 · 273 阅读 · 0 评论 -
Spark RDD API 参考示例(一)
本文参考Zhen He1、aggregate原型 def aggregate[U: ClassTag](zeroValue: U)(seqOp: (U, T) => U, combOp: (U, U) => U): U含义 aggregate是一个聚合函数,一个RDD分区后,产生多个Partition,在aggregate中需要指定两个处理函数,第一个函数用于对每个转载 2018-02-05 13:16:11 · 343 阅读 · 0 评论 -
Spark RDD API 参考示例(二)
16、dependencies原型 final def dependencies: Seq[Dependency[_]]含义 dependencies 返回RDD的依赖,简单来说,就是这个RDD是怎么一步步生成的。通过这种方式可以很快的重新构建这个RDD示例val b = sc.parallelize(List(1,2,3,4,5,6,7,8,2,4,2,1,1转载 2018-02-05 13:17:47 · 223 阅读 · 0 评论 -
Spark RDD API 参考示例(三)
本文参考Zhen He28、getCheckpointFile原型 def getCheckpointFile: Option[String]含义 getCheckpointFile 返回RDD的checkpoint 文件的路径,主要用于对大型计算中恢复到指定的节点示例//设置CheckPoint的路径,前提是路径一定要存在sc.setCheckpoi转载 2018-02-05 13:18:59 · 340 阅读 · 0 评论 -
Spark RDD API 参考示例(五)
本文参考Zhen He57、sample原型 def sample(withReplacement: Boolean, fraction: Double, seed: Int): RDD[T]含义 sample 随机挑选RDD中的一部分产生新的RDD,withReplacement表示是否允许重复挑选,fraction表示挑选比例,seed表示随机初始化种子转载 2018-02-05 13:23:48 · 218 阅读 · 0 评论 -
Spark RDD API 参考示例(六)
本文参考Zhen He69、take原型 def take(num: Int): Array[T]含义 take 提取RDD中元素的前几个,这几个是没有排序的,不需要排序,但是这个底部代码实现起来非常困难,因为他们分布在不同的分区示例val a = sc.parallelize(1 to 10,2)a.take(2)res1: Array[Int]转载 2018-02-05 13:24:37 · 189 阅读 · 0 评论 -
Spark RDD API 参考示例(四)
本文参考Zhen He42、map原型 def map[U: ClassTag](f: T => U): RDD[U]含义 map 对RDD中的每一个item 应用一个函数,并且返回一个新的RDD示例val a = sc.parallelize(List("dog", "salmon", "salmon", "rat", "elephant"), 3)转载 2018-02-05 13:25:47 · 265 阅读 · 0 评论 -
高性能Spark作业基础:你必须知道的调优原则及建议
在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操作,应用范围与前景非常广泛。然而,通过Spark开发出高性能的大数据计算作业,并不是那么简单的。如果没有对Spark作业进行合理的调优,Spark作业的执行速度可能会很慢,这样就完全体现不出Spark作...转载 2018-08-31 11:58:08 · 618 阅读 · 0 评论