spark
yjh314
这个作者很懒,什么都没留下…
展开
-
为什么groupbykey是宽依赖
RDD的依赖:1.窄依赖是指每个父RDD的Partition最多被子RDD的一个Partition所使用,例如map、filter2.宽依赖是指一个父RDD的Partition会被多个子RDD的Partition所使用,例如groupByKey、reduceByKey等操作总结:如果父RDD的一个Partition被一个子RDD的Partition所使用就是窄依赖,否则的话就是宽依赖。特别转载 2016-07-25 14:31:20 · 1570 阅读 · 0 评论 -
Stage细解
Spark Application在遇到action算子时,SparkContext会生成Job,并将构成DAG图将给DAG Scheduler解析成Stage。Stage有两种:ShuffleMapStage 这种Stage是以Shuffle为输出边界其输入边界可以是从外部获取数据,也可以是另一个ShuffleMapStage的输出其输出可以是另一转载 2016-09-18 11:38:34 · 318 阅读 · 0 评论 -
Spark Shuffle初探
之前一直疑惑Shuffle过程中的读和写究竟是在哪里实现的,一直误解读和写都是在RDD的转换过程中实现的,但是追踪代码reduceByKey,却只找到了生成ShuffledRDD的过程,然后在ShuffledRDD中的compute函数中有读取过程,那么写入过程究竟在哪里呢??[java] view plain copy转载 2016-09-18 12:31:16 · 350 阅读 · 0 评论 -
Spark源码系列(六)Shuffle的过程解析 - 岑玉海
Spark大会上,所有的演讲嘉宾都认为shuffle是最影响性能的地方,但是又无可奈何。之前去百度面试hadoop的时候,也被问到了这个问题,直接回答了不知道。这是我去美国之前的最后一篇,我捞到了最后一张船票。接下来的时间,我要好好准备出国的事情了,练习口语。这篇文章主要是沿着下面几个问题来开展:1、shuffle过程的划分?2、shuffle的中间结果如何存储?转载 2016-09-18 15:34:03 · 1513 阅读 · 0 评论 -
详细探究Spark的shuffle实现
Background在MapReduce框架中,shuffle是连接Map和Reduce之间的桥梁,Map的输出要用到Reduce中必须经过shuffle这个环节,shuffle的性能高低直接影响了整个程序的性能和吞吐量。Spark作为MapReduce框架的一种实现,自然也实现了shuffle的逻辑,本文就深入研究Spark的shuffle是如何实现的,有什么优缺点,与Hadoop Ma转载 2016-09-18 16:30:41 · 352 阅读 · 0 评论 -
Spark优化一则 - 减少Shuffle
看了Spark Summit 2014的A Deeper Understanding of Spark Internals,视频(要科学上网)详细讲解了Spark的工作原理,Slides的45页给原始算法和优化算法。破砂锅用自己3节点的Spark集群试验了这个优化算法,并进一步找到更快的算法。测试数据是Sogou实验室的日志文件前10000000条数据。目标是对日志第2列数据,按照第一个字转载 2016-09-18 16:32:28 · 847 阅读 · 0 评论 -
CDH5 新手详细安装教程
环境:操作系统:CentOS 6.5hadoop: cloudera hadoop 5.1.0主机:192.168.1.100 master 内存4G 硬盘25G, 192.168.1.101 slave1 内存2G 硬盘25G一、Linux 环境设置以下操作是在master主机上进行1.网卡设置[Shell] 纯文本查看 复制代码转载 2016-09-21 10:59:15 · 2004 阅读 · 1 评论 -
Spark算子总结及案例
spark算子大致上可分三大类算子: 1、Value数据类型的Transformation算子,这种变换不触发提交作业,针对处理的数据项是Value型的数据。 2、Key-Value数据类型的Transformation算子,这种变换不触发提交作业,针对处理的数据项是Key-Value型的数据。 3、Action算子,这类算子会触发SparkContext提交作业。转载 2016-11-03 20:09:30 · 480 阅读 · 0 评论 -
Spark Streaming性能优化: 如何在生成环境下应对流数据峰值巨变
1、为什么引入Backpressure默认情况下,Spark Streaming通过Receiver以生产者生产数据的速率接收数据,计算过程中会出现batch processing time > batch interval的情况,其中batch processing time 为实际计算一个批次花费时间, batch interval为Streaming应用设置的批处理间隔。这意味着Spar转载 2016-10-25 08:47:23 · 3159 阅读 · 0 评论 -
Spark集群启动后进程的简单介绍
刚开始学习Spark,首先看一下Spark集群启动之后都会产生哪些进程,方便查看集群是否启动正常。首先介绍下我的Spark集群是以Hadoop的HDFS作为分布式文件存储系统,资源管理系统既可以使用Hadoop的Yarn,也可以使用Spark自带的Standalone模式,当然也可以使用其他的资源管理系统,例如Mesos、EC2等。我的测试集群是一个master节点和4个worker节点转载 2016-11-10 19:49:52 · 1209 阅读 · 0 评论 -
Spark内核介绍
相信大数据工程师都非常了解Hadoop MapReduce一个最大的问题是在很多应用场景中速度非常慢,只适合离线的计算任务。这是由于MapReduce需要将任务划分成map和 reduce两个阶段,map阶段产生的中间结果要写回磁盘,而在这两个阶段之间需要进行shuffle操作。Shuffle操作需要从网络中的各个节点 进行数据拷贝,使其往往成为最为耗时的步骤,这也是Hadoop MapReduc转载 2016-12-05 11:41:27 · 361 阅读 · 0 评论 -
Spark on Yarn集群搭建详细过程
由于最近学习大数据开发,spark作为分布式内存计算框架,当前十分火热,因此作为首选学习技术之一。Spark官方提供了三种集群部署方案:Standalone, Mesos, Yarn。其中Standalone 为spark本身提供的集群模式,搭建过程可以参考官网,本文介绍Spark on Yarn集群部署过程。使用3台普通机器搭建Spark集群,软件环境:Ubuntu 16.0转载 2016-12-14 11:42:07 · 742 阅读 · 0 评论 -
SPark单词统计
package com.org.spark.test;import com.google.common.collect.Lists;import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaPairRDD;import org.apache.spark.api.java.JavaRDD;import原创 2016-12-21 19:55:19 · 625 阅读 · 0 评论 -
spark基本概念
我们知道Spark总是以集群的方式运行的,Standalone的部署方式是集群方式中最为精简的一种(另外的是Mesos和Yarn)。Standalone模式中,资源调度是自己实现的,是MS架构的集群模式,故存在单点故障问题。下面提出几个问题并解决:1、Standalone部署方式下包含哪些节点?由不同级别的三个节点组成,分别是Master主控节点、Worker工作节点、客户转载 2016-09-18 11:22:24 · 279 阅读 · 0 评论 -
spark读取redis数据(交互式,scala单机版,java单机版)
交互式第一步:向redis中添加数据 第二步:将jedis jar包放入~/lib目录下,开启Spark服务 第三步:通过spark-shell读取redis数据,并做相应处理 scala单机版package com.testimport org.apache.spark.SparkConfimport org.apache.spark.Spark转载 2016-07-29 18:19:54 · 2195 阅读 · 0 评论 -
Spark1.6.0 on Hadoop-2.6.3 安装配置
Spark1.6.0 on Hadoop-2.6.3 安装配置1. 配置hadoopn 下载hadoopmkdir /usr/local/bigdata/hadoopcd /usr/local/bigdata/hadoopwget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.6.3/hado原创 2016-07-26 16:34:02 · 1690 阅读 · 0 评论 -
Spark排错与优化
一. 运维1. Master挂掉,standby重启也失效Master默认使用512M内存,当集群中运行的任务特别多时,就会挂掉,原因是master会读取每个task的event log日志去生成Spark ui,内存不足自然会OOM,可以在master的运行日志中看到,通过HA启动的master自然也会因为这个原因失败。解决增加Master的内存占用,在M转载 2016-07-28 10:30:25 · 1835 阅读 · 1 评论 -
关于serialVersionUID的说明
1、为什么要使用serialVersionUID(1)对于实现了Serializable接口的类,可以将其序列化输出至磁盘文件中,同时会将其serialVersionUID输出到文件中。(2)然后有需要使用时,再从磁盘将对象内容及serialVersionUID读入内容中的某个对象。(3)将磁盘内容读入对象时,需要进行强制类型转换,如Person person = (Per转载 2016-07-28 10:47:09 · 373 阅读 · 0 评论 -
Intellij IDEA 自动生成 serialVersionUID
Setting->Inspections->Serialization issues->Serializable class without ’serialVersionUID’ 选上以后,在你的class中:Alt+Enter就会提示自动创建serialVersionUID了。原创 2016-07-28 11:06:27 · 250 阅读 · 0 评论 -
从Hadoop到Spark的架构实践
当下,Spark已经在国内得到了广泛的认可和支持:2014年,Spark Summit China在北京召开,场面火爆;同年,Spark Meetup在北京、上海、深圳和杭州四个城市举办,其中仅北京就成功举办了5次,内容更涵盖Spark Core、Spark Streaming、Spark MLlib、Spark SQL等众多领域。而作为较早关注和引入Spark的移动互联网大数据综合服务公司,Ta转载 2016-07-28 11:47:03 · 810 阅读 · 0 评论 -
Spark 1.5.0 远程调试
Spark 1.5.0 远程调试作者:摇摆少年梦 微信号:zhouzhihubeyond先决条件已安装好Spark集群,本例子中使用的是spark-1.5.0. 安装方法参见:http://blog.csdn.net/lovehuangjiaju/article/details/48494737已经安装好Intellij IDEA,本例中使用的是Intellij IDE转载 2016-07-28 16:12:25 · 374 阅读 · 0 评论 -
Spark Streaming 自定义接收器
Spark Streaming可以从任意数据源接受流数据,而不仅仅是那些内置支持的数据源(如Flume、kafka等)。这就要求开发人员实现一个接收器(recevier),用于接收来自有关数据源的数据。本篇手册以一个自定义的接收器(recevier)实现和其在spark streaming中的应为为主线进行讲解。需要注意的是,自定义接收器可以用Scala或者Java实现。实现自转载 2016-07-28 17:15:17 · 500 阅读 · 0 评论 -
Spark基础实例
spark 操作的几个步骤1 数据关联 textFile 和 parallelize2 转换操作(JavaRDD和JavaPairRDD他们可以通过mapToPair and flatMapToPair转换) 3 action操作,获取数据结果 一、wordcount的例子 Java代码 //单词统计 p转载 2016-07-28 17:33:28 · 726 阅读 · 0 评论 -
Spark Streaming小结
概述Spark Streaming类似于Apache Storm,用于流式数据的处理。根据其官方文档介绍,Spark Streaming有高吞吐量和容错能力强这两个特点。Spark Streaming支持的数据输入源很多,例如:Kafka、Flume、Twitter、ZeroMQ和简单的TCP套接字等等。数据输入后可以用Spark的高度抽象原语如:map、reduce、join、windo转载 2016-07-28 17:34:33 · 274 阅读 · 0 评论 -
Spark 配置指南
目录 [−]Spark属性动态加载Spark属性查看Spark属性可用的属性应用属性运行时环境Runtime EnvironmentShuffle BehaviorSpark UICompression and SerializationExecution BehaviorNetworkingSchedulingSecuritySpark Streaming集群管理器Clust转载 2016-07-28 20:18:08 · 1952 阅读 · 0 评论 -
Spark开发指南
简介总的来说,每一个Spark应用程序,都是由一个驱动程序组成,它运行用户的main函数,并且在一个集群上执行各种各样的并行操作。Spark提供的主要的抽象(概念)是一个弹性分布式数据集,它是一个元素集合,划分到集群的不同节点上,可以被并行操作。RDDs的创建可以从Hadoop文件系统(或者任何支持Hadoop的文件系统)上的一个文件开始,或者通过转换这个驱动程序中已存在的Scala集合而来。转载 2016-07-28 20:45:02 · 303 阅读 · 0 评论 -
spark pi 详解
import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaRDD;import org.apache.spark.api.java.JavaSparkContext;import org.apache.spark.api.java.function.Function;import org.apache.sp转载 2016-07-28 21:41:11 · 488 阅读 · 0 评论 -
Spark 属性使用说明
Spark 日志路径和缓存数据路径:export SPARK_LOG_DIR=/home/spark-1.6/logsexport SPARK_LOCAL_DIRS=/home/spark-1.6/tmp原创 2017-01-12 17:27:33 · 387 阅读 · 0 评论