spark

Spark shuffle详细过程

旧街凉风 提交于 2020-01-28 13:41:01
有许多场景下,我们需要进行跨服务器的数据整合,比如两个表之间,通过Id进行join操作,你必须确保所有具有相同id的数据整合到相同的块文件中。那么我们先说一下mapreduce的shuffle过程。 Mapreduce的shuffle的计算过程是在executor中划分mapper与reducer。Spark的Shuffling中有两个重要的压缩参数。 spark.shuffle.compress true ---是否 将会将shuffle中outputs的过程进行压缩 。将 spark.io.compression.codec编码器 设置为压缩数据,默认是 true .同时,通过spark.shuffle.manager 来设置shuffle时的排序算法,有 hash,sort,tungsten-sort 。(用hash会快一点,我不需要排序啊~) Hash Shuffle 使用hash散列有很多缺点,主要是因为每个Map task都会为每个reduce生成一份文件,所以最后就会 有M * R个文件数量 。那么如果在比较多的Map和Reduce的情况下就会出问题,输出缓冲区的大小,系统中打开文件的数量,创建和删除所有这些文件的速度都会受到影响。如下图: 这里有一个优化的参数 spark.shuffle.consolidateFiles ,默认为false, 当设置成true时

spark高可用,yarn

对着背影说爱祢 提交于 2020-01-28 08:35:20
1.配置spark-env.sh # 配置大哥;在二哥上面,MASTER_PORT=指的是自己 SPARK_MASTER_HOST=hadoop102 # 设置zookeepr,不能换行 SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=hadoop101:2181,hadoop102:2181,hadoop103:2181 -Dspark.deploy.zookeeper.dir=/spark" # 告诉Spark,hadoop放到哪里面了,前题是每一个Spark,的服务器上都装有hadoop HADOOP_CONF_DIR=/data/hadoop/hadoop-3.2.1/etc/hadoop/ 配置二哥MASTER_PORT=指的是自己 SPARK_MASTER_HOST=hadoop101 2.配置slaves #配置的小弟 hadoop103 hadoop104 3.启动 启动zookeeper bin/zkServer.sh 启动hadoop sbin/start-all.sh 启动spark sbin/start-all.sh 停止spark sbin/stop-all.sh 注意查看spark的web端的时候

Spark Core——day1

一笑奈何 提交于 2020-01-28 08:14:18
spark特点 分布式(分开存储) 主要基于内存(少数情况基于磁盘)(存储位置) 迭代式计算(可以分为多个阶段,而MapReduce只有map和reduce两个阶段,所有计算操作是针对多个节点上的数据进行并行操作的) RDD RDD,即弹性分布式数据集,是Spark提供的核心抽象。 是一种元素集合。被分为多个分区,每个分区分布在集群中的不同节点上,从而RDD中数据可以被并行操作。 通常通过HDFS或Hive表进行创建,也可用程序中的集合进行创建。 最重要特性:容错性,可以自动从节点失败中恢复。即若某节点上的RDD partition(分区)因为节点故障导致数据丢失,则RDD会通过自己的数据重新计算该partition。该过程对使用者透明。 数据默认放在内存中,当内存不足则写入磁盘 Spark 开发 核心开发:离线批处理/延迟性的交互式数据处理 数据 计算 循环 保存 SQL查询(底层是RDD和计算) 实时计算(底层是RDD和计算) wordcount程序 java 配置maven环境 pom.xml 中添加依赖和插件 如何本地测试 public class WordCountLocal{ public static void main(String[] args){ // 第一步,创建SparkConf对象,设置Spark应用的配置信息 // 使用setMaster(

Spark基础 DAG

淺唱寂寞╮ 提交于 2020-01-28 07:04:10
为什么使用spark的原因是早期的编程模式MapReduce缺乏对数据共享的高效元语,会造成磁盘I/O 以及序列号等开销,spark提出了统一的编程抽象---弹性分布式数据集(RDD),该模型可以令并行计算阶段间高效地进行数据共享。spark处理数据时,会将计算转化为一个有向无环图(DAG)的任务集,RDD能够有效的恢复DAG中故障和慢节点执行的任务,并且RDD提供一种基于粗粒度变换的接口,记录创建数据集的“血统”,能够实现高效的容错性。 spark的作业和任务调度系统是其核心,它能够有效的进行调度的根本原因是因为对任务划分DAG和容错。 DAG,有向无环图,Directed Acyclic Graph的缩写,常用于建模。Spark中使用DAG对RDD的关系进行建模,描述了RDD的依赖关系,这种关系也被称之为lineage,RDD的依赖关系使用Dependency维护,参考Spark RDD之Dependency,DAG在Spark中的对应的实现为DAGScheduler。 基础概念 介绍DAGScheduler中的一些概念,有助于理解后续流程。 作业(Job) 调用RDD的一个action,如count,即触发一个Job,spark中对应实现为ActiveJob,DAGScheduler中使用集合activeJobs和jobIdToActiveJob维护Job 调度阶段

Apache Spark : RDD

佐手、 提交于 2020-01-28 03:45:37
Resilient Distributed Datasets Resilient Distributed Datasets ( RDD ) is a fundamental data structure of Spark. It is an immutable distributed collection of objects. Each dataset in RDD is divided into logical partitions, which may be computed on different nodes of the cluster. RDDs can contain any type of Python, Java, or Scala objects, including user-defined classes. Formally, an RDD is a read-only, partitioned collection of records. RDDs can be created through deterministic operations on either data on stable storage or other RDDs. RDD is a fault-tolerant collection of elements that can be

运行spark程序,抛出异常:ERROR Shell: Failed to locate the winutils binary in the hadoop binary path

一曲冷凌霜 提交于 2020-01-27 22:23:47
windows运行spark程序,抛出异常:ERROR Shell: Failed to locate the winutils binary in the hadoop binary path 问题原因:在windows环境下没有配置hadoop环境的原因 解决方法: 1.下载winutils的windows版本 GitHub上,有人提供了winutils的windows的版本,项目地址是:https://github.com/srccodes/hadoop-common-2.2.0-bin,直接下载此项目的zip包,下载后是文件名是hadoop-common-2.2.0-bin-master.zip,随便解压到一个目录。 2.配置环境变量 增加用户变量HADOOP_HOME,值是下载的zip包解压的目录,然后在系统变量path里增加$HADOOP_HOME\bin 3.添加文件 将\bin下的hadoop.dll文件和winutils.exe文件拷贝到C:\Windows\System32下,若有重复,不需要复制替换 4.重启电脑 使环境变量生效 来源: CSDN 作者: 后青春的晴诗 链接: https://blog.csdn.net/qq_43530269/article/details/104094922

Spark Streaming官方文档翻译基本概念之累加器、广播变量和检查点

风流意气都作罢 提交于 2020-01-27 06:38:18
Spark Streaming官方文档翻译Spark Streaming总览 Spark Streaming官方文档翻译基本概念之初始化与Dstream Spark Streaming官方文档翻译基本概念之输入数据流和接收器 Spark Streaming官方文档翻译基本概念之转换操作 Spark Streaming官方文档翻译基本概念之输出操作 Spark Streaming官方文档翻译基本概念之sql与Mllib Spark Streaming官方文档基本概念之缓存与检查点 Spark Streaming官方文档翻译基本概念之累加器、广播变量和检查点 Spark Streaming官方文档翻译Spark Streaming应用之部署,升级,监控 Spark Streaming官方文档翻译Spark Streaming性能调优 Spark Streaming官方文档翻译Spark Streaming容错 Spark Streaming官方文档翻译Spark Streaming +Kafka 集成指南 Spark Streaming官方文档翻译Spark Streaming自定义接收器 基本概念 累加器、广播变量和检查点(Accumulators, Broadcast Variables, and Checkpoints) 无法从Spark

Spark Streaming官方文档翻译Spark Streaming总览

狂风中的少年 提交于 2020-01-27 06:35:44
Spark Streaming官方文档翻译Spark Streaming总览 Spark Streaming官方文档翻译基本概念之初始化与Dstream Spark Streaming官方文档翻译基本概念之输入数据流和接收器 Spark Streaming官方文档翻译基本概念之转换操作 Spark Streaming官方文档翻译基本概念之输出操作 Spark Streaming官方文档翻译基本概念之sql与Mllib Spark Streaming官方文档基本概念之缓存与检查点 Spark Streaming官方文档翻译基本概念之累加器、广播变量和检查点 Spark Streaming官方文档翻译Spark Streaming应用之部署,升级,监控 Spark Streaming官方文档翻译Spark Streaming性能调优 Spark Streaming官方文档翻译Spark Streaming容错 Spark Streaming官方文档翻译Spark Streaming +Kafka 集成指南 Spark Streaming官方文档翻译Spark Streaming自定义接收器 总览 Spark Streaming 是Spark core API的扩展,支持可伸缩、高吞吐量、容错的实时数据流处理。数据可以从许多来源获取,如Kafka、Flume、Kinesis或TCP

Scala版SpringBoot + Impala

こ雲淡風輕ζ 提交于 2020-01-27 04:03:13
工作需要做查询并导出数据的接口,考虑了SpringBoot + Spark 和 Impala,Spark只测试了本地模式,时间有限暂时没有测试yarn模式,但是Spark更适合做数据分析,查询Impala 是比较高效的,选择了以 Impala 做查询引擎。这里整合下 Impala 做个记录。不过因为项目有其他处理模块,所以只把Impala部分拆分出来,是完整的独立模块。 目录 @SpringBootApplication @Controller @Service Impala查询模块 @configuration Result请求结果类 Constants常量类 con.properties application.properties pom.xml 层级关系 @SpringBootApplication package com.sm import org.springframework.boot.SpringApplication import org.springframework.boot.autoconfigure.{EnableAutoConfiguration, SpringBootApplication} import org.springframework.context.annotation.ComponentScan /** * SpringBoot 入口 *

【Spark】Spark集群搭建

…衆ロ難τιáo~ 提交于 2020-01-27 02:16:39
文章目录 一、下载 spark官网下载 从微软的镜像站下载 从清华的镜像站下载 二、安装基础 三、Spark安装 1、上传并解压缩 2、修改配置文件 3、添加连接接点 4、添加运行环境 5、配置jdk 6、拷贝到从节点 7、启动 spark 四、验证 一、下载 spark官网下载 http://spark.apache.org/downloads.html 从微软的镜像站下载 http://mirrors.hust.edu.cn/apache/ 从清华的镜像站下载 https://mirrors.tuna.tsinghua.edu.cn/apache/ 二、安装基础 1、jdk 安装成功 jdk安装教程 2、hadoop 安装成功 hadoop 安装搭建详解 3、Scala安装成功 scala 安装详解 三、Spark安装 1、上传并解压缩 cd /opt/soft tar -zxvf spark-2.3.4-bin-hadoop2.6.tgz mv spark-2.3.4-bin-hadoop2.6 /opt/soft/spark234 2、修改配置文件 cd /spark234/conf [ root@hw1 conf ] # cp spark-env.sh.template spark-env.sh [ root@hw1 conf ] # cp slaves.template