Spark
文章平均质量分 87
Spark 入门到精通。
和风与影
大数据程序员
展开
-
【Spark】Spark 高频面试题英语版(1)
spark原创 2022-07-04 15:37:59 · 683 阅读 · 0 评论 -
【调优】一个 Spark 任务某天突然变慢怎么解决
Spark web ui原创 2022-06-19 16:51:30 · 1596 阅读 · 0 评论 -
【Spark】Spark Web UI - SQL
Spark Web UI - SQL原创 2022-06-13 22:31:49 · 1394 阅读 · 0 评论 -
【Spark】Spark Web UI - Stages
Spark Web UI - Stage原创 2022-06-12 16:06:02 · 1532 阅读 · 0 评论 -
【Spark】Spark Web UI - Jobs
Spark Web UI 的用法原创 2022-06-11 22:07:13 · 779 阅读 · 0 评论 -
【Spark】Spark SQL 执行全过程概述
目前还是在封闭中,只能继续在家学习工作。今天学习 Spark SQL 执行全过程概述,包括内部的一些基本概念和数据结构。1.SQL 到 RDD使用 Spark SQL 进行数据分析的一般步骤如下:// 第一步 初始化 SparkSessionval spark = SparkSession.builder() .appName("example") .master("local") .getOrCreate()// 第二步 创建数据表并读取spark.r原创 2022-05-29 23:13:20 · 2268 阅读 · 0 评论 -
【Spark】Spark 内存管理 - 执行内存
今天继续学习 Spark 的内存管理。昨天学习的是储存内存的管理,没看过的可以学习昨天的文章。【Spark】Spark 内存管理 - 存储内存今天学习执行内存的管理。执行内存主要用来存储任务在执行 Shuffle 时占用的内存,Shuffle 是按照一定规则对 RDD 数据重新分区的过程,下面分析 Shuffle 的 Write 和 Read 两阶段对执行内存的使用。1.Shuffle Write根据 map 端选择的排序方式不同,内存管理也不相同:若在 map 端选择普通的排序方式,会采原创 2022-05-22 00:22:10 · 467 阅读 · 0 评论 -
【Spark】Spark 内存管理 - 存储内存
前两天的文章学习了堆内内存、堆外内存以及内存空间的分配,没看过的可以看前面的文章。【Spark】Spark 的堆内内存和堆外内存【Spark】Spark 内存分配今天学习 Spark 的内存管理。内存管理分为存储内存和执行内存。今天先学习存储内存。1.RDD 的持久化机制弹性分布式数据集(RDD)作为 Spark 最根本的数据抽象,其特点如下:是只读的分区记录(Partition)的集合,只能基于在稳定物理存储中的数据集上创建,或者在其他已有的 RDD 上执行转换(Transformati原创 2022-05-21 23:07:22 · 1166 阅读 · 0 评论 -
【Spark】Spark 内存分配
昨天学习了 Spark 堆外内存和堆内内存的概念。没看过的可以看前面的文章。【Spark】Spark 的堆内内存和堆外内存今天学习内存空间分配。1.静态内存管理早期采用静态管理,存储内存、执行内存和其他内存的大小在 Spark 应用程序运行期间均为固定的,但用户可以应用程序启动前进行配置。问题:如果用户不熟悉 Spark 的存储机制,或没有根据具体的数据规模和计算任务或做相应的配置,很容易造成存储内存和执行内存中的一方剩余大量的空间,而另一方却早早被占满,不得不淘汰或移出旧的内容以存储新的内容原创 2022-05-20 21:42:43 · 390 阅读 · 0 评论 -
【Spark】Spark 的堆内内存和堆外内存
今天是 520,祝大家 520 快乐。目前还是在封闭中,只能继续在家学习工作。今天学习 Spark 内存管理。欢迎关注公众号。作为一个 JVM 进程,Executor 的内存管理建立在 JVM 的内存管理之上,Spark 对内存的管理主要分为堆内和堆外:JVM 的堆内(On-heap)空间进行了更为详细的分配,以充分利用内存;Spark 引入了堆外(Off-heap)内存,使之可以直接在工作节点的系统内存中开辟空间,进一步优化了内存的使用;堆内内存受到 JVM 统一管理,堆外内存是直接向操作原创 2022-05-20 09:21:15 · 1737 阅读 · 1 评论 -
【Spark SQL】DataFrame 和 Dataset
从今天开始学习 Spark SQL。首先了解一下 Spark SQL。官网的描述如下:Spark SQL is Apache Spark’s module for working with structured data.翻译一下就是:Spark SQL是Spark用于结构化数据(structured data)处理的Spark模块。今天我们先学习一下 DataFrame 和 Dataset。学习之前可以点击下面链接回顾一下之前的文章,了解一下 RDD。Spark 的三大数据结构关注公众号原创 2022-05-18 20:11:33 · 570 阅读 · 0 评论 -
【Spark】Spark Shuffle 原理
今天学习 Spark Shuffle。昨天文章提到了 Spark 划分 stage 时,分为了 ShuffleMapStage 和 ResultStage。没看过的可以看昨天的文章。【Spark】Spark 任务调度在划分 stage 时:前面的所有 stage 被称为 ShuffleMapStage。ShuffleMapStage 的结束伴随着 shuffle 文件的写磁盘。最后一个 stage 称为 finalStage,它本质上是一个 ResultStage 对象,ResultStag原创 2022-05-08 17:40:22 · 1082 阅读 · 0 评论 -
【Spark】Spark 任务调度
干了一周的活,感想就是 SQL 能力要提高,原理要搞清楚。SQL 熟练才能快速写出业务代码。原理搞清楚才能调优。运行一次程序需要一两个小时,调优后可以大大缩短任务运行时间。所以基础很重要。今天继续学习 Spark 的基础——Spark 任务调度机制。 在生产环境下,Spark 集群的部署方式一般为 YARN-Cluster 模式,之后的内核分析内容就 基于 YARN-Cluster 模式。YARN-Cluster 模式以及任务提交流程可以看之前的文章。【Spark】Spark 的运行环境、运行架构原创 2022-05-08 12:04:04 · 2334 阅读 · 0 评论 -
【Spark】Spark 的三大数据结构
今天学习一下 Spark 的数据结构,分别是:RDD:弹性分布式数据集;累加器:分布式共享只写变量;广播变量:分布式共享只读变量。它们分别用于不同的场景解决不同的问题。1.RDDRDD(Resilient Distributed Dataset) 弹性分布式数据集,是 Spark 最基本的数据处理模型,它是代码中的抽象类。对弹性分布式数据集的解释如下:弹性:存储的弹性:内存与磁盘自动切换;容错的弹性:数据丢失可以自动恢复;计算的弹性:计算出错重试;分片的弹性:根据需要重新分原创 2022-05-04 11:14:41 · 1753 阅读 · 0 评论 -
【Spark】Spark 的运行环境、运行架构、提交流程
前几天大概了解了 Spark 是什么,没看过的可以点击下面的链接。今天开始正式学习 Spark。1.Spark 运行环境1.1 Local 模式本地执行 Spark 代码的环境。用于调试、练习。1.2 Standalone 模式独立部署模式。Spark 自身提供计算资源。Spark 是计算框架,但自身资源调度不是它的强项。整体是 master-slave 架构。1.3 Yarn 模式使用 Yarn 作为资源调度框架,工作中使用最多。可以先点击下面的链接阅读之前的文章了解什么是 Yarn。原创 2022-05-03 11:31:02 · 1518 阅读 · 0 评论 -
【组件】大数据开发常考题之介绍一下 Spark
Spark 是大数据开发的必会技能。面试中经常被问到的问题就是 Spark 是什么,或者请介绍一下 Spark,今天的文章主要对这个问题做出讲解。很多人的回答都不够准确,这个问题最为准确的描述可以在官网寻找。1.整体介绍打开官网可以看到一行醒目的表与:Unified engine for large-scale data analytics翻译一下就是:用于大规模数据分析的统一引擎。继续往下看:What is Apache Spark™?Apache Spark™ is a multi原创 2022-04-22 16:54:57 · 1391 阅读 · 0 评论 -
【面经】字节大数据开发面经2
答案写在公众号里面了,欢迎关注。点击获取答案。使用方法:先自己做再去公众号获取答案。1.MySQL 引擎是什么,常用的是哪个,知道原理吗2.MySQL 优化3.怎么建索引?4.B Tree 和 B+ Tree5.手写 SQL# user_id login_date# 1 20200325# 查询出用户连续三天登录的用户6.手写 SQL# 表A 字段a 值包括 1 2 3 4# 表B 字段b 值包括 1 1 2 3 5# 问 a join b 输出的结果# 问 a le转载 2022-04-21 00:03:55 · 139 阅读 · 0 评论 -
【数仓】Hadoop、Hive 和 Spark 中数据倾斜的处理
数据倾斜几乎是大数据开发的必考题。今天通过一篇文章来学习数据倾斜及其处理方法。1.什么是数据倾斜 对于分布式系统,大量的数据集中到一台或几台服务器上,称为数据倾斜。数据倾斜现象有两种,一是数据频率倾斜,某一区域的数据量远远大于其他区域;二是数据大小倾斜,部分记录的大小远远大于平均值。 开发中的常见情况是出现了热点 key(重复的 key 大量出现)。默认情况下,Map 阶段同一个 key 的数据发给同一个 Reduce 处理,导致某一个 Reduce 程序消耗的资源和运行时间远大于其他 Red原创 2022-04-19 21:40:58 · 586 阅读 · 0 评论 -
VMware虚拟机的CentOS7系统中将spark默认的python2改为python3
VMware虚拟机的CentOS7系统中将spark默认的python2改为python3下载python3用ftp串入虚拟机,不要下3.8,不支持,安装完会报错:https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tar.xz安装依赖包:yum -y groupinstall "Development tools"yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel原创 2020-06-10 21:30:11 · 465 阅读 · 0 评论 -
VMware虚拟机CentOS7系统上安装spark
VMware虚拟机CentOS7系统上安装spark新建一个文件夹安装软件:sudo mkdir /opt/software解压spark:sudo tar -zxvf spark-2.4.5-bin-hadoop2.7.tgz -C /opt/software/重命名一下:sudo mv spark-2.4.5-bin-hadoop2.7/ spark-2.4.5配置环境变量:sudo vim /etc/profile.d/env.sh添加内容:export JAVA_HOME原创 2020-06-10 14:06:16 · 985 阅读 · 0 评论 -
CentOS7下安装scala
CentOS7下安装scala首先安装jdk1.8+:CentOS7下安装jdk1.8下载安装包用xftp传入解压:sudo tar -zxvf scala-2.11.12.tgz -C /opt/moudle/配置环境变量:sudo vim /etc/profile增加内容:使其生效:source /etc/profile检验:...原创 2020-06-10 12:07:28 · 166 阅读 · 0 评论 -
CentOS7卸载和安装java1.8
CentOS7卸载和安装java8先卸载:查看安装情况:rpm -qa | grep java卸载输入:刚刚看到有什么版本就卸载什么sudo yum -y remove java-1.8.0-openjdk-headless-1.8.0.242.b08-1.el7.x86_64sudo yum -y remove java-1.7.0-openjdk-headless-1.7.0.251-2.6.21.1.el7.x86_64卸载完成查看一下:rpm -qa|grep java原创 2020-06-10 11:52:46 · 537 阅读 · 0 评论 -
VMvare15克隆CentOS7快速建立Linux集群
VMvare15克隆CentOS7建立Linux集群修改ip:修改内容:删除一个文件:重启网络并测试:修改主机名:修改hosts:增加内容:测试集群:修改用户名:注销登录:换root登录:修改配置:将全部zxy1修改为zxy3:%s/旧文本/新文本/g可以替换同理,修改:vi /etc/shadowvi /etc/group修改文件夹:mv /home/zxy1 /home/zxy3...原创 2020-06-10 09:37:53 · 185 阅读 · 0 评论 -
VMware虚拟机安装CentOS7后的用户、网络、ssh、xshell等的初始化配置
VMware虚拟机安装CentOS7后的用户、网络、ssh、xshell等的初始化配置网络配置:设定固定ip切换root:查看ip:编辑配置文件:显示行号:增加修改内容:重启network:用xshell登录方便操作:创建自定义用户和组:查看新建的组:按G跳到最后:查看已有用户是哪个组:更改用户所属的组:更改用户权限:增加内容:权限改回来:更改密码:查看主机名:修改主机名:继续修改主机名:增加内容:重新连接xshell看到主原创 2020-06-09 22:22:24 · 348 阅读 · 0 评论