王知无(import_bigdata)
微信搜:import_bigdata
GitHub搜:https://github.com/wangzhiwubigdata/God-Of-BigData
展开
-
[大数据之Spark]——快速入门
本篇文档是介绍如何快速使用spark,首先将会介绍下spark在shell中的交互api,然后展示下如何使用java,scala,python等语言编写应用。可以查看编程指南了解更多的内容。为了良好的阅读下面的文档,最好是结合实际的练习。首先需要下载spark,然后安装hdfs,可以下载任意版本的hdfs。Spark Shell 交互基本操作Spark Shell提供给用户一...原创 2019-03-25 23:41:52 · 838 阅读 · 0 评论 -
Spark学习之路 (一)Spark初识
《2021年最新版大数据面试题全面开启更新》欢迎关注github《大数据成神之路》一、官网介绍1、什么是Spark官网地址:http://spark.apache.org/Apache Spark™是用于大规模数据处理的统一分析引擎。从右侧最后一条新闻看,Spark也用于AI人工智能spark是一个实现快速通用的集群计算平台。它是由加州大学伯克利分校AMP实验室 开发的通用内存并行计算框架,用来构建大型的、低延迟的数据分析应用程序。它扩展了广泛使用的MapReduce计算原创 2021-02-12 20:16:41 · 632 阅读 · 0 评论 -
Spark学习之路 (二)Spark2.3 HA集群的分布式安装
《2021年最新版大数据面试题全面开启更新》欢迎关注github《大数据成神之路》目录一、下载Spark安装包1、从官网下载2、从微软的镜像站下载3、从清华的镜像站下载二、安装基础三、Spark安装过程1、上传并解压缩2、为安装包创建一个软连接3、进入spark/conf修改配置文件4、配置环境变量四、启动1、先启动zookeeper集群2、在启动HDFS集群3、在启动Spark集群4、查看进程5、问题6、执行之后再次查看进程五、验证1、查看Web界面Mas.原创 2021-02-12 20:23:36 · 476 阅读 · 0 评论 -
Spark学习之路 (三)Spark之RDD
《2021年最新版大数据面试题全面开启更新》欢迎关注github《大数据成神之路》目录一、RDD的概述1.1 什么是RDD?1.2 RDD的属性1.3 WordCount粗图解RDD二、RDD的创建方式2.1 通过读取文件生成的2.2 通过并行化的方式创建RDD2.3 其他方式三、RDD编程API3.1 Transformation3.2 Action3.3 Spark WordCount代码编写3.4 WordCount执行过程图四、RDD的宽依赖和窄依赖4.1 R原创 2021-02-12 20:29:53 · 636 阅读 · 0 评论 -
Spark学习之路 (四)Spark的广播变量和累加器
《2021年最新版大数据面试题全面开启更新》欢迎关注github《大数据成神之路》目录一、概述二、广播变量broadcast variable2.1 为什么要将变量定义成广播变量?2.2 广播变量图解2.3 如何定义一个广播变量?2.4 如何还原一个广播变量?2.5 定义广播变量需要的注意点?2.6 注意事项三、累加器3.1 为什么要将一个变量定义为一个累加器?3.2 图解累加器3.3 如何定义一个累加器?3.4 如何还原一个累加器?3.5 注意事项一、概述..原创 2021-02-12 20:33:01 · 457 阅读 · 0 评论 -
Spark学习之路 (五)Spark伪分布式安装
《2021年最新版大数据面试题全面开启更新》欢迎关注github《大数据成神之路》目录一、JDK的安装1.1 上传安装包并解压1.2 配置环境变量1.3 验证Java版本二、配置配置ssh localhost2.1 检测2.2 生成私钥和公钥秘钥对2.3 将公钥添加到authorized_keys2.4 赋予authorized_keys文件600的权限2.5 修改Linux映射文件(root用户)2.6 验证三、安装Hadoop-2.7.53.1 上传解压缩3.2 .原创 2021-02-12 20:39:48 · 492 阅读 · 0 评论 -
Spark学习之路 (六)Spark Transformation和Action
《2021年最新版大数据面试题全面开启更新》欢迎关注github《大数据成神之路》目录Transformation算子基本的初始化一、map、flatMap、mapParations、mapPartitionsWithIndex1.1 map1.2 flatMap1.3 mapPartitions1.4 mapPartitionsWithIndex二、reduce、reduceByKey2.1 reduce2.2 reduceByKey三、union,join和groupBy原创 2021-02-12 20:42:11 · 431 阅读 · 0 评论 -
Spark学习之路 (七)Spark 运行流程
《2021年最新版大数据面试题全面开启更新》欢迎关注github《大数据成神之路》目录一、Spark中的基本概念二、Spark的运行流程2.1 Spark的基本运行流程三、Spark在不同集群中的运行架构3.1 Spark on Standalone运行过程3.2 Spark on YARN运行过程正文一、Spark中的基本概念(1)Application:表示你的应用程序(2)Driver:表示main()函数,创建SparkContext。由SparkCo..原创 2021-02-12 20:44:23 · 641 阅读 · 1 评论 -
Spark学习之路 (八)SparkCore的调优之开发调优
《2021年最新版大数据面试题全面开启更新》欢迎关注github《大数据成神之路》前言在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操作,应用范围与前景非常广泛。在美团•大众点评,已经有很多同学在各种项目中尝试使用Spark。大多数同学(包括笔者在内),最初开始尝试使用Spark的原因很简单,主要就是为了让大数据计算作业的执行速度更快、性能更高。然而原创 2021-02-12 20:47:58 · 491 阅读 · 0 评论 -
Spark学习之路 (九)SparkCore的调优之数据倾斜调优
《2021年最新版大数据面试题全面开启更新》欢迎关注github《大数据成神之路》目录调优概述数据倾斜发生时的现象数据倾斜发生的原理如何定位导致数据倾斜的代码某个task执行特别慢的情况某个task莫名其妙内存溢出的情况查看导致数据倾斜的key的数据分布情况数据倾斜的解决方案解决方案一:使用Hive ETL预处理数据解决方案二:过滤少数导致倾斜的key解决方案三:提高shuffle操作的并行度解决方案四:两阶段聚合(局部聚合+全局聚合)解决方案五:将reduce join原创 2021-02-12 20:49:48 · 442 阅读 · 0 评论 -
Spark学习之路 (十)SparkCore的调优之Shuffle调优
《2021年最新版大数据面试题全面开启更新》欢迎关注github《大数据成神之路》目录一、概述二、shuffle的定义三、ShuffleManager发展概述四、HashShuffleManager的运行原理4.1 未经优化的HashShuffleManager4.2 优化后的HashShuffleManager五、SortShuffleManager运行原理5.1 普通运行机制5.2 bypass运行机制六、shuffle相关参数调优spark.shuffle.file.b原创 2021-02-12 20:51:59 · 432 阅读 · 0 评论 -
Spark学习之路 (十一)SparkCore的调优之Spark内存模型
《2021年最新版大数据面试题全面开启更新》欢迎关注github《大数据成神之路》目录一、概述二、堆内和堆外内存规划2.1 堆内内存2.2 堆外内存2.3 内存管理接口三、内存空间分配3.1 静态内存管理3.2 统一内存管理四、存储内存管理4.1 RDD 的持久化机制4.2 RDD 缓存的过程4.3 淘汰和落盘五、 执行内存管理5.1 多任务间内存分配5.2 Shuffle 的内存占用正文一、概述Spark 作为一个基于内存的分布式计算引擎,其内存管理模块原创 2021-02-12 20:53:24 · 418 阅读 · 0 评论 -
Spark学习之路 (十二)SparkCore的调优之资源调优
《2021年最新版大数据面试题全面开启更新》欢迎关注github《大数据成神之路》目录一、概述二、Spark作业基本运行原理三、资源参数调优3.1 num-executors3.2 executor-memory3.3 executor-cores3.4 driver-memory3.5 spark.default.parallelism3.6 spark.storage.memoryFraction3.7 spark.shuffle.memoryFraction一、概述原创 2021-02-12 20:54:21 · 386 阅读 · 0 评论 -
Spark学习之路 (十三)SparkCore的调优之资源调优JVM的基本架构
《2021年最新版大数据面试题全面开启更新》欢迎关注github《大数据成神之路》目录一、JVM的结构图1.1 Java内存结构1.2 如何通过参数来控制各区域的内存大小1.3 控制参数1.4 JVM和系统调用之间的关系二、JVM各区域的作用2.1 Java堆(Heap)2.2 方法区(Method Area)2.3 程序计数器(Program Counter Register)2.4 JVM栈(JVM Stacks)2.5 本地方法栈(Native Method St.原创 2021-02-12 20:55:20 · 426 阅读 · 0 评论 -
Spark学习之路 (十四)SparkCore的调优之资源调优JVM的GC垃圾收集器
《2021年最新版大数据面试题全面开启更新》欢迎关注github《大数据成神之路》目录一、概述二、垃圾收集器(garbage collector (GC)) 是什么?三、为什么需要GC?四、为什么需要多种GC?五、对象存活的判断六、垃圾回收算法6.1 标记 -清除算法6.2 复制算法6.3 标记-整理算法6.4 分代收集算法七、垃圾收集器7.1 Serial收集器7.2 ParNew收集器7.3 Parallel收集器7.4 CMS收集器7.5 G1收集器八、常用原创 2021-02-12 20:57:30 · 468 阅读 · 0 评论 -
Spark学习之路 (十五)SparkCore的源码解读(一)启动脚本
《2021年最新版大数据面试题全面开启更新》欢迎关注github《大数据成神之路》目录一、启动脚本分析1.1 start-all.sh1.2 start-master.sh1.3 spark-config.sh(1.2的第5步)1.4 load-spark-env.sh(1.2的第6步)1.5 spark-env.sh1.6 spark-daemon.sh1.7 spark-class1.8 start-slaves.sh1.9 转向start-slave.sh二、其他脚本.原创 2021-02-12 20:59:23 · 456 阅读 · 1 评论 -
Spark学习之路 (十六)SparkCore的源码解读(二)spark-submit提交脚本
《2021年最新版大数据面试题全面开启更新》欢迎关注github《大数据成神之路》目录一、概述二、源码解读2.2 find-spark-home2.3 spark-class2.4 SparkSubmit正文一、概述上一篇主要是介绍了spark启动的一些脚本,这篇主要分析一下Spark源码中提交任务脚本的处理逻辑,从spark-submit一步步深入进去看看任务提交的整体流程,首先看一下整体的流程概要图:二、源码解读2.1 spark-submit#...原创 2021-02-12 21:15:25 · 446 阅读 · 0 评论 -
Spark学习之路 (十七)Spark分区
《2021年最新版大数据面试题全面开启更新》欢迎关注github《大数据成神之路》目录一、分区的概念二、为什么要进行分区三、Spark分区原则及方法3.1 本地模式3.2 YARN模式四、分区器正文一、分区的概念 分区是RDD内部并行计算的一个计算单元,RDD的数据集在逻辑上被划分为多个分片,每一个分片称为分区,分区的格式决定了并行计算的粒度,而每个分区的数值计算都是在一个任务中进行的,因此任务的个数,也是由RDD(准确来说是作业最后一个RDD)的分区数决定。.原创 2021-02-12 21:16:36 · 471 阅读 · 0 评论 -
Spark学习之路 (十八)SparkSQL简单使用
《2021年最新版大数据面试题全面开启更新》欢迎关注github《大数据成神之路》目录一、SparkSQL的进化之路二、认识SparkSQL2.1 什么是SparkSQL?2.2 SparkSQL的作用2.3 运行原理2.4 特点2.5 SparkSession2.7 DataFrames三、RDD转换成为DataFrame3.1 方式一:通过case class创建DataFrames(反射)3.2 方式二:通过structType创建DataFrames...原创 2021-02-12 21:42:43 · 692 阅读 · 0 评论 -
Spark学习之路 (十九)SparkSQL的自定义函数UDF
《2021年最新版大数据面试题全面开启更新》欢迎关注github《大数据成神之路》在Spark中,也支持Hive中的自定义函数。自定义函数大致可以分为三种:UDF(User-Defined-Function),即最基本的自定义函数,类似to_char,to_date等 UDAF(User- Defined Aggregation Funcation),用户自定义聚合函数,类似在group by之后使用的sum,avg等 UDTF(User-Defined Table-Generatin.原创 2021-02-12 22:11:57 · 545 阅读 · 0 评论 -
Spark学习之路 (二十)SparkSQL的元数据
《2021年最新版大数据面试题全面开启更新》欢迎关注github《大数据成神之路》目录一、概述二、Spark-SQL脚本正文一、概述SparkSQL 的元数据的状态有两种:1、in_memory,用完了元数据也就丢了2、hive , 通过hive去保存的,也就是说,hive的元数据存在哪儿,它的元数据也就存在哪儿。 换句话说,SparkSQL的数据仓库在建立在Hive之上实现的。我们要用SparkSQL去构建数据仓库的时候,必须依赖于Hive。二、Sp..原创 2021-02-12 22:14:02 · 1010 阅读 · 0 评论 -
Spark学习之路 (二十一)SparkSQL的开窗函数
《2021年最新版大数据面试题全面开启更新》欢迎关注github《大数据成神之路》1.概述介绍聚合函数和开窗函数开窗函数分类2. 准备工作3. 聚合开窗函数4. 排序开窗函数4.1 ROW_NUMBER顺序排序4.2 RANK跳跃排序4.3 DENSE_RANK连续排序4.4 NTILE分组排名[了解]结语1.概述 介绍 相信用过MySQL的朋友都知道,MySQL中也有开窗函数的存在。开窗函数的引入是为了既显示聚集前的数据,又显示聚集后的数据。...原创 2021-02-12 22:19:31 · 395 阅读 · 0 评论 -
Spark学习之路 (二十三)SparkStreaming入门
《2021年最新版大数据面试题全面开启更新》欢迎关注github《大数据成神之路》1、Spark Streaming简介1.1概述Spark Streaming是Spark核心API的一个扩展,可以实现高吞吐量的、具备容错机制的实时流数据的处理。支持从多种数据源获取数据,包括Kafk、Flume、Twitter、ZeroMQ、Kinesis以及TCP sockets,从数据源获取数据之后,可以使用诸如map、reduce、join和window等高级函数进行复杂算法的处理。最后还可以将...原创 2021-02-12 22:25:31 · 433 阅读 · 0 评论 -
Spark学习之路 (二十四)SparkStreaming的转换操作Java代码案例
《2021年最新版大数据面试题全面开启更新》欢迎关注github《大数据成神之路》Streaming的转换操作分为两种 无状态转换操作(stateless) 再无状态转换操作中,每个批次的处理数据不依赖于之前批次的数据 有状态转换操作(stateful) 有状态转换操作就是需要依赖于之前批次或者中间结果来计算当前批次的数据 有状态的操作包括基于滑动窗口的转换操作和追踪状态变化的转换操作 详细介绍一波无状态转换操作:无状态转换操作就是转化Dstr.原创 2021-02-12 22:27:21 · 428 阅读 · 0 评论 -
Spark学习之路 (二十五)SparkStreaming的官方文档
《2021年最新版大数据面试题全面开启更新》欢迎关注github《大数据成神之路》目录一、SparkCore、SparkSQL和SparkStreaming的类似之处二、SparkStreaming的运行流程2.1 图解说明2.2 文字解说三、SparkStreaming的3个组成部分四、 离散流(DStream)五、小栗子5.1 简单的单词计数5.2 监控HDFS上的一个目录5.3 第二次运行的时候更新原先的结果5.4 DriverHA一、SparkCore、Spa原创 2021-02-12 22:29:11 · 326 阅读 · 0 评论 -
Spark学习之路 (二十六)SparkStreaming的官方文档
《2021年最新版大数据面试题全面开启更新》欢迎关注github《大数据成神之路》什么是输出操作:?输出操作是针对流数据经过转化操作后得到数据要执行的操作 输出操作和RDD的惰性求值是一样的道理,如果Dstream没有被执行输出操作 ,那么Dstream就都不会被求值 我们之前使用的print()就是一种调试性输出 Dstream有spark类似的save()的操作saveAsHadoopFiles()函数的使用 代码案例 比如我现在需要存到Sequence{h.原创 2021-02-12 22:32:54 · 310 阅读 · 0 评论 -
Spark源码分析之Spark Shell(上)
终于开始看Spark源码了,先从最常用的spark-shell脚本开始吧。不要觉得一个启动脚本有什么东东,其实里面还是有很多知识点的。另外,从启动脚本入手,是寻找代码入口最简单的方法,很多开源框架,其实都可以通过这种方式来寻找源码入口。先来介绍一下Spark-shell是什么?S...原创 2019-03-25 23:48:11 · 384 阅读 · 0 评论 -
Spark源码分析之Spark Shell(下)
继上次的Spark-shell脚本源码分析,还剩下后面半段。由于上次涉及了不少shell的基本内容,因此就把trap和stty放在这篇来讲述。上篇回顾:Spark源码分析之Spark Shell(上)function main() { if $cygwin; then # Workaround for issue in...原创 2019-03-25 23:46:30 · 363 阅读 · 0 评论 -
【Spark重点难点】你从未深入理解的RDD和关键角色
OK了,桑不啦pipo,today我们start更新Spark的重点难点系列了。前言之前我们成功完成了Flink重点难点部分的学习了。很多同学可能还没有意识到,你已经把Flink这个框架中...原创 2021-12-01 19:00:00 · 1220 阅读 · 0 评论 -
在所有Spark模块中,我愿称SparkSQL为最强!
我们之前已经学习过了《我们在学习Spark的时候,到底在学习什么?》,这其中有一个关于SQL的重要模块:SparkSQL。在实际的开发过程中,SQL化已经是数据领域的共识,大家疯狂的将大数据框架的易用性做到了最高,即使一个刚刚毕业的同学,只要有SQL基础就可以看懂甚至上手开发了。那么我们有必要对SparkSQL这个模块进行一个全面的解析。我之前也写过一篇《Spark SQL重点知识总结》SparkSQL的前世今生Spark SQL的前身是Shark,它发布时Hive可以说是SQL on Hadoop原创 2021-07-22 00:46:28 · 675 阅读 · 0 评论