![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spark
Yannick_J
Yes-亚历山大的陀螺
展开
-
浅析HiBench之SparkBench(单节点)配置
一 前言:1. 语术:Hadoop 版本: Version 2.7.1HiBench 版本:Version 6.0Spark 版本:Version 2.1.02. 本篇讲个啥子?以pagerank为例子,讲述哪些参数跟performance相关,后续可以深入去看相关的代码。同样的硬件配置和Hadoop软件配置,hadoop VS spark 的 pagerank 测试结果如下:...原创 2018-06-11 09:53:02 · 2448 阅读 · 0 评论 -
Spark Core 子模块 Shuffle 分析
一、前言1.相关版本:Spark Master branch(2018.10, compiled-version spark-2.5.0, 相关的测试设置了spark.shuffle.sort.bypassMergeThreshold 1 和YARN-client 模式) ,HiBench-6.0 and Hadoop-2.7.12.建议先了解Spark 的 RDD、DAG、M...原创 2019-03-26 15:04:24 · 159 阅读 · 0 评论 -
Spark Shuffle Read 阶段里的 fetch block 源码分析
一、前言目的是分析Spark Shuffle Read 阶段里的 fetch block 流程,看是否有优化的空间或者优化的配置参数1.相关版本:Spark Master branch(2018.10, compiled-version spark-2.5.0, 相关的测试设置了spark.shuffle.sort.bypassMergeThreshold 1 和YARN-...原创 2019-04-02 21:55:22 · 1437 阅读 · 0 评论 -
入手 Hive 需要知道的一些概念
一、前言Hive 是什么? 与 HBase有什么不同 ? 为什么安装Hive 需要 安装MySQL?二、 需要 解决的问题如下1. Hive 是什么?Hive是一个基于Hadoop的数据仓库平台, Hive可以看成是从SQL到Map-Reduce的 映射器 。 它的框架图如下: 来张更清晰的图: 2. 与 HBase有什么不同HBase是数据库(处理实时...原创 2019-01-04 13:43:32 · 235 阅读 · 0 评论 -
浅析HiBench 的 3个 SQL测试用例 (Hive)及升级HiBench的Hive版本
一、前言分析HiBench 的 Hive测试用例 sql (包括scan/join/aggregation),版本 HiBench6.0Hadoop版本:v2.7.1Spark版本:v2.1二、需要解决的问题1. 跑 HiBench 的测试用例 sql 需要 手动安装Hive吗?不需要,HiBench 会自动下载 pom.xml文件里的Hive版本。2. HiBen...原创 2019-03-26 15:03:50 · 1985 阅读 · 1 评论 -
Resource Localization in YARN: Deep Dive
Resource Localization in YARN: Deep Diveby:Vinod Kumar VavilapalliThis post is authored by Omkar Vinit Joshi with Vinod Kumar Vavilapalli and is the ninth post in the multi-part blog series onApa...转载 2019-04-08 16:36:38 · 454 阅读 · 0 评论 -
Spark 子模块 SparkSQL 的缓存管理分析
一、前言1.相关版本:Spark Master branch(2018.11, compiled-version spark-2.4.1)2. SparkSQL 的CacheManager 独立于SparkCore 的 CacheManager(SparkCore的缓存管理机制详见:https://blog.csdn.net/don_chiang709/article/details/84...原创 2019-03-26 15:01:47 · 936 阅读 · 0 评论 -
开启HDFS的 dfs.client.read.shortcircuit 配置
1。在 hadoop的配置文件 hdfs-site.xml 添加如下配置:<property> <name>dfs.client.read.shortcircuit</name> <value>true</value></property><property> ...原创 2019-03-26 15:03:00 · 2689 阅读 · 0 评论 -
[spark] 数据本地化及延迟调度
前言Spark数据本地化即移动计算而不是移动数据,而现实又是残酷的,不是想要在数据块的地方计算就有足够的资源提供,为了让task能尽可能的以最优本地化级别(Locality Levels)来启动,Spark的延迟调度应运而生,资源不够可在该Locality Levels对应的限制时间内重试,超过限制时间后还无法启动则降低Locality Levels再尝试启动……本地化级别(Localit...转载 2019-01-14 14:16:39 · 501 阅读 · 0 评论 -
分析 在 YARN 模式下的 Spark 里 BlockManager 的 LOCAL_DIRS
一、前言1. 版本:Hadoop 源码版本:Version 2.7.1Spark源码版本:Version 2.4.1二、分析1. Spark 里 BlockManager 的 LOCAL_DIRS在 DiskBlockManager里的成员变量 localDirs 代表了BlockManager 写磁盘的本地目录列表,该成员变量的 DiskBlockManager...原创 2019-04-02 21:55:43 · 1727 阅读 · 0 评论 -
HDFS读数据分析(三):怎么样单独打开HDFS几个模块的TRACE开关?
一、前言1. 版本:Hadoop 源码版本:Version 2.7.1二、内容由于HDFS属于Hadoop应用程序管理,可以修改Hadoop/etc/hadoop/log4j.properties。如果你使用Spark做引擎,这个不影响Spark/conf/log4j.properties配置。1)单独打开HDFS几个读模块的TRACE log,在Hadoop/etc/hado...原创 2019-03-26 15:02:19 · 406 阅读 · 0 评论 -
HDFS读数据分析(四):用Spark做计算引擎时,是否会根据HDFS数据本地性来分配Task到特定的Datanode
一、前言1. 版本:Hadoop 源码版本: Version 2.7.1二、内容Spark的DAGScheduler是否会根据RDD的Partition包含的数据本地性,来分配Task到特定的Datanode来处理?代码在哪里?代码在TaskSetManager.computeValidLocalityLevels函数里,它会赋值TaskSetManager.myLocality...原创 2019-01-30 10:24:16 · 352 阅读 · 0 评论 -
Spark 子模块 Spark Streaming(几张图看懂Spark Streaming框架)
一、前言1.相关版本:Spark Master branch(2018.11, compiled-version spark-2.4.1)2. Spark Streaming VS Structured Streaming 请参考https://blog.csdn.net/don_chiang709/article/details/84660351二、Spark Streaming...原创 2019-04-06 09:32:52 · 305 阅读 · 0 评论 -
Spark 的driver端内存OOM 案例学习
一、前言0. 该案例转载:https://www.cnblogs.com/bethunebtj/p/9103547.html,分析思路清晰,借来学习。1. 相关版本:Apache Spark 2.32. 通过该案例的分析,学会如何分析Apache Spark 的OOM二、Spark OOM 故事的开始1. 背景长话短说,我们部门一个同事找到我,说他的spark 2.3 st...转载 2019-02-20 10:57:33 · 5958 阅读 · 1 评论 -
在Spark结构化流readStream、writeStream 输入输出,及过程ETL
https://databricks.com/blog/2017/04/04/real-time-end-to-end-integration-with-apache-kafka-in-apache-sparks-structured-streaming.html本文翻译自DataBricks官方博客,主要描述了Apache Spark 2.0中推出的新功能Structured Streami...转载 2019-05-06 14:36:05 · 5028 阅读 · 0 评论 -
Win10下直接下载Eclipse(scala IDE)看Spark源代码--简单版
1. 可以从下面链接获取Window10 版本的Eclipse,当然如果你有Ubuntu环境建议使用Intel IDEA.http://scala-ide.org/download/sdk.html这个压缩包包含了下面内容:ContentEclipse 4.7.1 (Oxygen) Scala IDE 4.7.0 Scala 2.12.3 with Scala 2.11.11 ...原创 2019-05-15 15:11:05 · 285 阅读 · 0 评论 -
Spark HistoryServer
一、前言1.相关版本:Spark Master branch(2018.11, compiled-version spark-2.4.1)二、网页登录 Spark HistoryServer1. 有人问 DAG Visualization 图里的那个绿点是什么?你可以点 InMemoryTableScan 击展开,原来是表示这个RDD被cache过了:待续。。。...原创 2019-01-03 17:32:27 · 304 阅读 · 0 评论 -
Databricks Cache Boosts Apache Spark Performance-Why NVMe SSDs improve caching performance by 10x
转发一篇砖厂的文章 : https://databricks.com/blog/2018/01/09/databricks-cache-boosts-apache-spark-performance.html博客园也有一篇该文的翻译,供参考: https://www.cnblogs.com/shishanyuan/p/8414582.htmlDatabricks Cache Boosts ...转载 2018-12-24 13:41:22 · 519 阅读 · 0 评论 -
Spark Network 模块分析 (BlockTransferService及新的RPC框架等)
作者:Alex90链接:https://www.jianshu.com/p/d712fc336f9d來源:简书简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。Spark Network 模块分析为什么用Netty通信框架代替Akka一直以来,基于Akka实现的RPC通信框架是Spark引以为豪的主要特性,也是与Hadoop等分布式计算框架对比过程中一大亮点,但...转载 2018-12-28 10:54:01 · 963 阅读 · 0 评论 -
开始着手趟Spark的代码(kick off)
Computer Language Benchmarks Game:Speed test java/scala 1.71/2.25Memory test java/scala 66.55/80.81So, this benchmarks say that java is 24% faster and scala uses 21% more memory.All-in-all it's no big...原创 2018-06-15 14:03:15 · 283 阅读 · 0 评论 -
浅析 Spark (V2.x ) on YARN
1. --deploy-mode: yarn-client 和 --deploy-mode: yarn-cluster 都是--master yarn 模式配置下的,不同deploy而已。它们的deploy区别如下:yarn-client:yarn-cluster:2. 只需要启动的进程:start-dfs.sh, start-yarn.sh 和 start-history-server.s...原创 2018-06-25 17:57:09 · 174 阅读 · 0 评论 -
浅析HiBench之SparkBench(集群)配置
一 、前言:1. 语术:Hadoop 版本: Version 2.7.1HiBench 版本:Version 6.0Spark 版本:Version 2.1.0Scala 版本: scala-2.11.12java: jdk8集群节点:1master + 3 slaves二、搭建Spark on yarn 集群基于单节点Spark 配置 https://blog.csd...原创 2018-08-29 10:35:35 · 1558 阅读 · 1 评论 -
Hive 工作流程源码分析
1. 简介主要介绍Hive的parse enginer(包括HQL->TaskTree)Hive版本:1.2.1HiBench 版本: v6Hadoop 版本: 2.7.12. Hive 与 传统RDBMS的区别 3. Hive架构 4. Hive 源码中3个关键的部分 (version Hive-1.2.1): Hive核心三大组件 ...原创 2019-01-04 13:48:10 · 4512 阅读 · 2 评论 -
Intellij-idea 设置断点跟踪调试Spark 代码(+JProfiler 性能调优)
简介:Spark 的调试方法 按类型可以分为三类:调试Client 端、调试SparkDriver 和 调试 Spark Executor。画图工具(dia 0.97+git,http://live.gnome.org/Dia)一、内容介绍1.调试Client如下:./bin/spark-class 里添加命令:export JAVA_OPTS="${JAVA_OPTS} ...原创 2019-04-06 09:33:34 · 3709 阅读 · 0 评论 -
Spark 的 Shuffle 浅析
前言:Spark: version 2.3.2 (mater branch)HiBench: version 6Hadoop: version 2.7.1一、内容:1. Terasort测试用例registerShuffle 里的 dependency默认会用 Kryo serializer。因为它是根据 SerializerManager.scala 里的 getS...原创 2019-04-16 09:27:54 · 202 阅读 · 0 评论 -
Spark Core 子模块 storage分析
一、前言1. 相关版本:Spark Master branch(2018.10, compiled-version spark-2.5.0, 设置了spark.shuffle.sort.bypassMergeThreshold 1 和 YARN-client 模式) ,HiBench-6.0 and Hadoop-2.7.12. 建议先了解Spark 的 RDD、DAG、Memory...原创 2019-01-14 10:23:02 · 617 阅读 · 1 评论 -
Spark Core 子模块 MemoryManager 分析
一、前言1.相关版本:Spark Master branch(2018.10, compiled-version spark-2.5.0) ,HiBench-6.0 and Hadoop-2.7.12.建议先了解Spark 的 RDD、DAG、Storage(BlockManager) 和 Shuffle基本概念。3.重点介绍Spark 的Memory 子模块的组成部分,关键流程...原创 2019-04-04 21:27:43 · 184 阅读 · 0 评论 -
Spark 子模块 StructuredStreaming分析(及SparkSQL的演变)
一、前言1.相关版本:Spark Master branch(2018.11, compiled-version spark-3.0.0)2.画图工具(dia 0.97+git,http://live.gnome.org/Dia)二、SparkSQL 的发展历史依照https://mp.weixin.qq.com/s/AQ_kjnRBr0nob6WjbNwggg画了个图来总结...原创 2019-04-09 16:19:39 · 546 阅读 · 0 评论 -
如何成为大数据Spark高手
--------------------- --------------------- --------------------- --------------------- --------------------- 作者:Spark高级玩法 来源:CSDN 原文:https://blog.csdn.net/rlnLo2pNEfx9c/article/details/78778959 版...转载 2018-11-23 10:11:18 · 155 阅读 · 0 评论 -
几张图 彻底 搞懂 窄依赖 和 宽依赖
几张图搞懂 RDD(Resilient Distributed Datasets) 窄依赖 和 宽依赖:Dependency.scala 源码里类图关系如下:OneToOneDependency[T] 和 RangeDependency[T] 对应的RDD 依赖关系如下:其中RangeDependency[T] 只是在 UnionRDD里被使用《Spark设计与实现》...原创 2018-11-30 13:26:37 · 1575 阅读 · 1 评论 -
Spark 配置调优小结(基于32GB Terasort测试用例)
1. 每个core配置2~3个任务(每个任务对应一个partition),比如 46 core 的机器,配置 hibench.default.shuffle.parallelism 92hibench.default.map.parallelism 92 //这个配置值是否生效取决于文件个数及大小和创建RDD时的参数2. 每个executor配置4~6个 core,executor数= 总...原创 2019-04-06 09:31:48 · 1521 阅读 · 0 评论 -
Spark Streaming 对比 Structured Streaming(及其内部的两种模式 MicroBatch Streaming VS Continous Streaming)
一 前言最近在看 Structured Streaming,先出个简单对比图,Spark Streaming VS Structured Streaming 以及 Structured Streaming内部的两种模式 MicroBatch Streaming VS Continous Streaming。后期深入再做总结和补充。参考:《图解Spark核心技术与案例实战》二 Spa...原创 2018-12-21 17:57:37 · 1908 阅读 · 0 评论 -
了解和安装Kafka/Zookeeper
一、前言:zookeeper版本: zookeeper-3.4.12kafka版本: kafka_2.11-2.0.0发布订阅系统:主题,经纪人,生产者和消费者等主要术语在上图中,主题配置为三个分区。 分区1具有两个偏移因子0和1.分区2具有四个偏移因子0,1,2和3.分区3具有一个偏移因子0.副本的id与承载它的服务器的id相同。 二、安装后启动1.启动命...原创 2018-12-06 16:28:35 · 217 阅读 · 0 评论 -
是时候放弃 Spark Streaming, 转向 Structured Streaming 了
转载:是时候放弃 Spark Streaming, 转向 Structured Streaming 了正如在之前的那篇文章中 Spark Streaming 设计原理 中说到 Spark 团队之后对 Spark Streaming 的维护可能越来越少,Spark 2.4 版本的 Release Note 里面果然一个 Spark Streaming 相关的 ticket 都没有。相比之下,St...转载 2019-05-22 16:08:09 · 821 阅读 · 0 评论