Spark
Tiger-Li
大家好
展开
-
Spark入门实战系列--7.Spark Streaming(上)--实时流计算Spark Streaming原理介绍
Spark入门实战系列--7.Spark Streaming--实时流计算Spark Streaming原理介绍【注】该系列文章以及使用到安装包/测试数据 可以在《倾情大奉送--Spark入门实战系列》获取1、Spark Streaming简介1.1 概述Spark Streaming 是Spark核心API的一个扩展,可以实现高吞吐量的、具备容错机制的实时流数据的处理。支转载 2017-11-01 21:54:11 · 850 阅读 · 0 评论 -
Scala方法定义,方法和函数的区别,将方法转换成函数
1. 定义方法和函数1.1. 定义方法 方法的返回值类型可以不写,编译器可以自动推断出来,但是对于递归函数,必须指定返回类型1.2. 定义函数1.3.方法和函数的区别在函数式编程语言中,函数是“头等公民”,它可以像任何其他数据类型一样被传递和操作 案例:首先定义一个方法,再定义一个函数,然后将函数传递到方法里面 package cn.toto.scala/** * Created by t...转载 2018-02-16 20:56:25 · 466 阅读 · 0 评论 -
Scala中的下划线到底有多少种应用场景?
1、作为“通配符”,类似Java中的*。如import scala.math._2、:_*作为一个整体,告诉编译器你希望将某个参数当作参数序列处理!例如val s = sum(1 to 5:_*)就是将1 to 5当作参数序列处理。3、指代一个集合中的每个元素。例如我们要在一个Array a中筛出偶数,并乘以2,可以用以下办法:a.filter(_%2==0).map(2*_)。又如要对缓冲数组A...转载 2018-02-16 23:04:27 · 199 阅读 · 0 评论 -
scala private[x]困惑
private[包名],private[this] 可以放在字段,方法和类上,用来限制访问权限;1private[包名]包名可以是父包名或当前包名,如果是父包名,则父包和子包都可以访问2private[this]修饰的方法或字段只能在本类访问,如果是字段编译成java的时候就没有get或set方法。3如果有两个名称相同的子包,比如package x.y.z.x.v有两个x,当private[x]的...转载 2018-02-16 22:13:09 · 436 阅读 · 0 评论 -
Scala定义函数的5种方式
大数据spark的源码是用Scala来开发的,因此学习Scala来开发spark会更加便捷。scala中第一函数的集中方式如下:1.规范化写法,scala 函数的返回值是最后一行代码;def addInt(a:Int,b:Int) : Int = {var total : Int = a + breturn total}//Unit,是Scala语言中数据类型的一种,表示无值,用作不返回任何结果的...转载 2018-02-16 20:48:10 · 2188 阅读 · 0 评论 -
scala方法的定义方式
初次 接触到scala发现scala定义方法的方式和java有很大的区别1.下面是我写的一个测试scala方法定义的demo.[java] view plain copypackage com.scala.demo object FunctionDemo { //定义方法1 def function1() { println("function1 run!"...转载 2018-02-16 20:43:42 · 341 阅读 · 0 评论 -
为什么选择scala而不用java开发spark
你可能会认为我根本无法对前面一小节那个畸形的函数给出个合理的解释。我开始学习函数式编程时就是这么认为的。不过我是错了。有很好的理由使用这种风格,当然其中一些属主观因素。例如,函数式程序被认为更容易阅读。因为连街上乱跑的娃娃都知道,是否容易理解是个见仁见智的判断,所以我将略去这些主观方面的理由。幸运的是,还有很多的客观理由。单元测试因为函数式编程的每一个符号都是 final 的,没有函数产生过副作用...转载 2018-02-16 20:01:17 · 5712 阅读 · 0 评论 -
scala中 object 和 class的区别
object在scala中没有静态方法和静态字段,所以在scala中可以用object来实现这些功能,直接用对象名调用的方法都是采用这种实现方式,例如Array.toString。对象的构造器在第一次使用的时候会被调用,如果一个对象从未被使用,那么他的构造器也不会被执行;对象本质上拥有类(scala中)的所有特性,除此之外,object还可以一扩展类以及一个或者多个特质:例如,abstract c...转载 2018-02-16 19:38:11 · 1054 阅读 · 0 评论 -
Java 异常处理
Java 异常处理异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error;如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出 java.lang.ArithmeticException 的异常。异常发生的原因有很多,通常包含以下几大类:用户输...转载 2018-02-16 18:36:37 · 519 阅读 · 0 评论 -
SBT 基础学习
项目构建工具是项目开发中非常重要的一个部分,充分利用好它能够极大的提高项目开发的效率。在学习SCALA的过程中,我遇到了SBT(Simple Build Tool), SBT是SCALA 平台上标准的项目构建工具,当然你要用它来构建其他语言的项目也是可以的。SBT 没有Maven那么多概念和条条框框,但又比IVY要更加灵活,可以认为是一个精简版的Maven吧。这里对这阵子对SBT的...转载 2018-02-25 11:23:36 · 394 阅读 · 0 评论 -
GC调优在Spark应用中的实践
摘要:Spark立足内存计算,常常需要在内存中存放大量数据,因此也更依赖JVM的垃圾回收机制。与此同时,它也兼容批处理和流式处理,对于程序吞吐量和延迟都有较高要求,因此GC参数的调优在Spark应用实践中显得尤为重要。Spark是时下非常热门的大数据计算框架,以其卓越的性能优势、独特的架构、易用的用户接口和丰富的分析计算库,正在工业界获得越来越广泛的应用。与Hadoop、HBase生态圈的众多项目...转载 2018-03-28 15:18:59 · 298 阅读 · 0 评论 -
如何从官网下载jdk的历史版本?
作者:小玉声明:本文比较适合初学者观看,大神勿喷,本文是我的第一篇博客,如果有写的不好的地方,还请多多包含~~~有很多朋友刚刚接触Java,最先要学习的就怎样去是安装配置jdk,但是在安装之前,有一个最关键的问题,就是如何下载jdk,接下来我要跟大家分享的就是如何在oracle官网下载jdk以及jdk的历史版本。首先,我们进入到Oracle的官方网站:https://www.oracl...转载 2018-11-10 21:02:09 · 378 阅读 · 0 评论 -
记个maven无法识别JAVA_HOME的问题 Error: JAVA_HOME is not defined correctly.
Error: JAVA_HOME is not defined correctly.We cannot execute /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java安装的是maven3,本地安装了两个java,1.7和1.8,但我项目中使用的都是1.8所以把1.7的删除了,执行maven...转载 2018-11-10 20:32:04 · 825 阅读 · 0 评论 -
Ubuntu 16.04下Spark安装与开发环境搭建
https://blog.csdn.net/lengconglin/article/details/77847623 一、Spark运行环境 Spark是Scala写的,运行在JVM上,所以运行环境Java7+,如果使用Python API,需要安装Python 2.6+或者Python3.4+,安装之前确认已经安装了Java,可参见本人博客:http://blog.csdn...转载 2018-11-10 17:38:50 · 685 阅读 · 0 评论 -
ubuntu16.04安装chrome
方法1:到 https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb 下载最新的安装文件。然后使用cd命令切换进安装文件所在目录,执行如下命令sudo apt-get install libappindicator1 libindicator7 #安装google-chrome-stable...转载 2018-11-10 14:47:03 · 379 阅读 · 0 评论 -
Ubuntu16.04安装搜狗拼音输入法(中文输入法)
虽然网上有很多教程,但是我觉得我的很适合那些真正的小白。。。1、下载文件由于我要给多台电脑安装搜狗输入法,所以用的是文件夹安装,不是命令行安装。打开官网http://pinyin.sogou.com/linux,点击自己对应的系统位数安装包,然后下载。2、打开安装目录,调出终端。sudo dpkg -i sogoupinyin_2.1.0.00826_amd64.deb(后...转载 2018-11-10 14:44:59 · 510 阅读 · 0 评论 -
Ubuntu16.04 "System program problem detected"
不知在系统中装了什么出现的问题。1.查找问题使用命令:ls /var/crash/可看到我电脑此目录下有文件为:openjdk-9-jdk.0.crash2.问题原因Apport is a system which:intercepts crashes right when they happen the first time,gathers potentiall...转载 2018-11-10 11:00:45 · 285 阅读 · 0 评论 -
【虚拟机】关于VMware 提示“无法获得VMCI驱动程序的版本:句柄无效”的解决方案
一、问题的出现 在VMware进行完虚拟机安装向导之后,刚要开启虚拟机进行操作系统的安装时,会出现“无法获得VMCI驱动程序的版本:句柄无效”的错误提示,如图1 所示。(本人运行环境为Windows 10,VMware 12) 图1 报错窗口二、解决方案 1、打开虚拟机主界面,选择未能成功安装的虚拟机,在界面下方找到“...转载 2018-11-10 10:28:19 · 1637 阅读 · 0 评论 -
Scala:Array(集合、序列)
Scala:Array(集合、序列)原创 2015年12月01日 17:37:19标签:scala22271Scala开篇(目录) 数组是一种可变的、可索引的数据集合。在Scala中用Array[T]的形式来表示Java中的数组形式 T[]。val numbers = Array(1, 2, 3, 4) //声明一个数组对象val first = numbers(0) // 读取第一个元素nu...转载 2018-02-16 18:31:40 · 362 阅读 · 0 评论 -
Scala数组操作
Scala数组操作:1.定长数组长度不变的数组的声明:[java] view plain copy//长度为10的整数数组,所有元素初始化为0 val numArr = new Array[Int](10) //长度为10的字符串数组,所有元素初始化为null val numArr = new Array[String](10) //长度为2的数组,数据类型自动推断出来,已经提供...转载 2018-02-16 18:29:51 · 986 阅读 · 0 评论 -
Spark里几个重要的概念及术语
Spark里几个重要的概念及术语原创 2014年04月16日 17:27:54标签:spark /scala /jvm11888学习Spark,有几个重要的术语需要弄清楚。1. Application用户在spark上构建的程序,包含了driver程序以及集群上的executors.2. Driver Program运行main函数并且创建SparkContext的程序。客户端的应用程序,Driv...转载 2018-02-11 17:22:19 · 322 阅读 · 0 评论 -
Spark的几个基本概念:Driver和Job,Stage
Spark的几个基本概念:Driver和Job,Stage标签: spark2016-12-18 17:10 1468人阅读 评论(0) 收藏 举报 分类:spark(8) Driver Program, Job和Stage是Spark中的几个基本概念。Spark官方文档中对于这几个概念的解释比较简单,对于初学者很难正确理解他们的涵义。官方解释如下(http://spark.apache.org...转载 2018-02-11 17:19:36 · 302 阅读 · 0 评论 -
Spark Executor Driver资源调度小结
Spark Executor Driver资源调度小结原创 2014年08月23日 01:08:12标签:spark /负载均衡 /集群 /executor /调度16618 一、引子 在Worker Actor中,每次LaunchExecutor会创建一个CoarseGrainedExecutorBackend进程,Executor和CoarseGrainedExecutorBackend是...转载 2018-02-11 11:45:08 · 185 阅读 · 0 评论 -
SparkStreaming的运行流程解析(源码)
ssc.start()启动receiverTracker.start去获取数据启动jobGenerator.start去计算数据receiverTracker.start 在这里的receiverinputStreams其实已经实例化了。在inputDStream的时候已经往ssc.graph中添加了实例(具体去看下我的Sparkstreaming中InputDStream的详解(源码)那篇博客)...转载 2018-02-26 10:55:33 · 721 阅读 · 0 评论 -
spark中Stage的划分
窄依赖和宽依赖窄依赖:指父RDD的每一个分区最多被一个子RDD的分区所用,表现为一个父RDD的分区对应于一个子RDD的分区,和两个父RDD的分区对应于一个子RDD 的分区。图中,map/filter和union属于第一类,对输入进行协同划分(co-partitioned)的join属于第二类。宽依赖:指子RDD的分区依赖于父RDD的所有分区,这是因为shuffle类操作,如图中的groupByKe...转载 2018-02-26 10:55:06 · 546 阅读 · 0 评论 -
Spark的RDD详解和自定义RDD(源码)
版权声明:本文为博主原创文章,未经博主允许不得转载。 http://blog.csdn.net/a1043498776/article/details/54891946目录(?)[+]RDD概论具体概念百度(以下总结): Spark中 RDD本身并不是数据,只是数据信息的集合。 getPartitions只运行一次; compute每次有action算子的时候都会运行,一个partition一次。...转载 2018-02-26 10:52:57 · 605 阅读 · 0 评论 -
Spark函数详解系列之RDD基本转换
摘要: RDD:弹性分布式数据集,是一种特殊集合 ‚ 支持多种来源 ‚ 有容错机制 ‚ 可以被缓存 ‚ 支持并行操作,一个RDD代表一个分区里的数据集 RDD有两种操作算子: Transformation(转换):Transformation属于延迟计算,当一个RDD转换成另一个RDD时并没有立即进行转换,仅仅是记住了数据集的逻辑操作 Ation(执行):触发S...转载 2018-02-26 10:51:55 · 274 阅读 · 0 评论 -
DHCP和IP地址冲突
DHCP和IP地址冲突 由于宿舍增加一些上网的设备,宿舍老是IP地址冲突,各种断线,各种麻烦。原因是DHCP的分配问题。然后由于本人严重的拖延症,路由的设置一直有问题,但一直没去修改路由,趁着今天有时间,修改了路由,然后断线问题不再有,顺便写了一篇说明和复习了一下计算机网络的DHCP协议。 注:如果你也出现类似的问题,而想直接寻找解决的办法,直接跳到第三点看就可以了。1.转载 2017-11-03 14:53:11 · 11707 阅读 · 0 评论 -
Spark RDD之Partition
Spark RDD之Partition原创 2016年12月13日 16:30:35标签:Partition /RDD8850概要Spark RDD主要由Dependency、Partition、Partitioner组成,Partition是其中之一。一份待处理的原始数据会被按照相应的逻辑(例如jdbc和hdfs的split逻辑)切分成n份,每份数据对应到RDD中的一个Partition,Par...转载 2018-02-12 11:28:25 · 312 阅读 · 0 评论 -
spark 入门map reduce 最好的几个例子
spark 入门map reduce 最好的几个例子2017-04-12 14:56 3725人阅读 评论(0) 收藏 举报版权声明:本文为博主原创文章,未经博主允许不得转载。 http://blog.csdn.net/u013851082/article/details/70142806目录(?)[+]安装 Scala IDE搭建 Scala 语言开发环境很容易,Scala IDE 官网 下载...转载 2018-02-12 16:37:13 · 442 阅读 · 0 评论 -
Scala的“=>”符号简介
Scala的“=>”符号简介Scala中的=>符号可以看做是创建函数实例的语法糖。例如:A => T,A,B => T表示一个函数的输入参数类型是“A”,“A,B”,返回值类型是T。请看下面这个实例:scala> val f: Int => String = myInt => "The value of myInt is: " + myInt.toStri...转载 2018-02-16 18:28:54 · 1071 阅读 · 0 评论 -
[Spark内核] 第38课:BlockManager架构原理、运行流程图和源码解密
[Spark内核] 第38课:BlockManager架构原理、运行流程图和源码解密本课主题BlockManager 运行實例BlockManager 原理流程图BlockManager 源码解析 引言BlockManager 是管理整个Spark运行时的数据读写的,当然也包含数据存储本身,在这个基础之上进行读写操作,由于 Spark 本身是分布式的,所以 BlockManager 也是分布式的,...转载 2018-02-16 16:54:38 · 284 阅读 · 0 评论 -
Spark的有向无环图DAG(代码及图解)
Spark的有向无环图DAG(代码及图解)标签: spark2017-01-03 18:21 4497人阅读 评论(0) 收藏 举报 分类:【大数据】Spark(20) 版权声明:本文为博主原创文章,出处为 http://blog.csdn.net/silentwolfyh http://blog.csdn.net/silentwolfyh/article/details/53996845目录(?...转载 2018-02-15 18:30:39 · 862 阅读 · 0 评论 -
Spark 源码解析 : DAGScheduler中的DAG划分与提交
Spark 源码解析 : DAGScheduler中的DAG划分与提交原创 2016年07月20日 09:31:17标签:spark /源码解析 /DAGScheduler /DAG /任务4099一、Spark 运行架构Spark 运行架构如下图:各个RDD之间存在着依赖关系,这些依赖关系形成有向无环图DAG,DAGScheduler对这些依赖关系形成的DAG,进行Stage划分,划分的规则很简...转载 2018-02-15 18:29:34 · 203 阅读 · 0 评论 -
Spark 源码解析 : DAGScheduler中的DAG划分与提交
Spark 源码解析 : DAGScheduler中的DAG划分与提交一、Spark 运行架构Spark 运行架构如下图:各个RDD之间存在着依赖关系,这些依赖关系形成有向无环图DAG,DAGScheduler对这些依赖关系形成的DAG,进行Stage划分,划分的规则很简单,从后往前回溯,遇到窄依赖加入本stage,遇见宽依赖进行Stage切分。完成了Stage的划分,DAGScheduler基于...转载 2018-02-15 18:28:38 · 296 阅读 · 0 评论 -
Spark核心作业调度和任务调度之DAGScheduler源码
前言:本文是我学习Spark 源码与内部原理用,同时也希望能给新手一些帮助,入道不深,如有遗漏或错误的,请在原文评论或者发送至我的邮箱 tongzhenguotongzhenguo@gmail.com摘要: 1.作业调度核心——DAGScheduler 2.DAGScheduler类说明 2.1DAGScheduler 2.2ActiveJob 2.3Stage ...转载 2018-02-15 18:26:43 · 260 阅读 · 0 评论 -
什么是SparkDAG
什么是SparkDAG原创 2016年06月23日 00:39:124049对于DAG这个概念现在很多上面都有所应用概念在spark里每一个操作生成一个RDD,RDD之间连一条边,最后这些RDD和他们之间的边组成一个有向无环图,这个就是DAG。在spark的应用Spark内核会在需要计算发生的时刻绘制一张关于计算路径的有向无环图,也就是DAG。有了计算的DAG图,Spark内核下一步的任务就是根据...转载 2018-02-15 18:16:36 · 482 阅读 · 0 评论 -
Spark中RDD DAG图的建立
Spark中RDD DAG图的建立原创 2015年11月05日 17:48:58标签:hadoop /spark /云计算 /互联网 /自动化2523 RDD是spark计算的核心,是分布式数据元素的集合,具有不可变、可分区、可被并行操作的特性,基础的RDD类包含了常用的操作,如果需要特殊操作可以继承RDD基类进行自己的扩展,基础预算包括map、filter、reduce等。 RDD包含5个...转载 2018-02-15 18:21:33 · 612 阅读 · 0 评论 -
spark源码编译成功案例, 版本,修改点
1.spark的下载打开网址spark.apache.org,点击download,选择想要下载的版本,我这里选择了最新的2.2.0版本在choose a package type 中选择source code,获取spark2.2.0的下载镜像,即可完成下载。(官网有时候版本切换会有问题,可以在download spark下方的signatures and checksums中选择想...转载 2018-11-11 11:38:59 · 733 阅读 · 0 评论