![](https://img-blog.csdnimg.cn/089e0313155f4505b175bd838f7ad44e.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spark
文章平均质量分 67
Spark
奇迹虎虎
他很忙,忘了填
展开
-
Hive和Spark到底是什么?两者又有什么区别?
Hive和Spark到底是什么?spark是一个计算引擎,而hive是一个存储框架。原创 2022-02-13 17:02:21 · 8487 阅读 · 2 评论 -
SparkSQL中纵向迭代计算的3种方式,枚举、python的for循环、pandas_UDF函数(附案例)
SparkSQL中关于纵向迭代计算的3种方式:枚举、python的for循环、pandas_UDF函数原创 2022-02-28 12:51:09 · 1836 阅读 · 1 评论 -
SparkSQL中横向迭代计算的4种方式,以及子查询、临时视图、永久视图、缓存表之间的区别?(附案例)
永久视图 view:永久保存一段查询语句的逻辑;临时视图 temporary view:只在当前会话生效;缓存表cache table:只在当前会话有效,将一段查询结果集缓存到内存;table:永久有效,保存数据结构和数据本身到磁盘;with as:当子查询的嵌套层数太多时,可以用with as 增加可读性。原创 2022-02-28 01:10:02 · 1242 阅读 · 0 评论 -
SparkSQL的执行流程(附常量折叠、谓词下推、列裁剪案例)
和 RDD 不同, SparkSQL 的 Dataset 和 SQL 并不是直接生成计划交给集群执行, 而是经过了一个叫做 Catalyst 的优化器, 这个优化器能够自动帮助开发者优化代码。Catalyst 的两大优化:RBO:基于规则的优化,比如谓词下推,列裁剪,常量折叠;CBO:基于代价的优化,多种物理计划基于cost model,选取最优的执行耗时最少的那个物理计划。原创 2022-02-27 12:16:07 · 2216 阅读 · 0 评论 -
Spark中ThriftServer、HiveServer2、MetaStore、Beeline之间的关系
在实际大数据分析项目中,使用 SparkSQL 时,往往启动一个 SparkThriftserver 服务,分配较多资源(Executor数目和内存、CPU),不同的用户启动客户端比如 beeline 连接它,编写SQL语句分析数据,方便集中管理。原创 2022-02-26 23:52:26 · 3136 阅读 · 0 评论 -
SparkSQL中的自定义函数UDF、UDAF、UDTF(附UDF实现案例)
UDF 函数(User-Defined-Function)一对一的关系,UDAF 聚合函数(User-Defined Aggregation Function)多对一的关系,UDTF 函数(User-Defined Table-Generating Functions)一对多的关系。原创 2022-02-26 18:27:38 · 1311 阅读 · 0 评论 -
在Linux的Spark中集成Hive,以及在Pycharm中集成Hive(附案例)
为什么要集成Hive?因为在Linux中的Spark安装包,默认是不能直接读取hive的表的,需要集成hive才能读取hive的库和表;在Linux的Spark中集成Hive;在Pycharm中集成Hive。原创 2022-02-26 12:52:14 · 1576 阅读 · 0 评论 -
SparkSQL中读取数据和写出数据(附案例)
Spark 读取数据的统一入口,Spark 写出数据的统一出口,Spark 写出数据有 4 种方式:append、overwrite、ignore、errorifexists。SparkSQL读取数据的综合案例,SparkSQL写出数据的综合案例。原创 2022-02-25 13:30:22 · 4031 阅读 · 0 评论 -
Spark中SQL与DSL编程风格的使用(附花式查询与单词记数案例)
Spark中SQL与DSL编程风格的使用(附花式查询与单词记数案例),SQL风格先把DataFrame注册成一个临时视图,DSL风格其实就是DataFrame对象调用API的过程。原创 2022-02-23 20:28:57 · 2898 阅读 · 0 评论 -
Spark中的DataFrame是什么?以及如何构建DataFrame?(附案例)
在 Spark 中,DataFrame 是一种以 RDD 为基础的分布式数据集,是一种特殊的RDD,是一个分布式的表,类似于传统数据库中的二维表格。DataFrame 与 RDD 的主要区别在于,前者带有 schema 元信息,即 DataFrame 所表示的二维表数据集的每一列都带有名称和类型。原创 2022-02-23 01:12:05 · 9700 阅读 · 1 评论 -
Saprk的并行度设置(附案例)
Saprk的并行度,资源的并行度、数据的并行度、设置task数量、设置Application的并行度原创 2022-02-21 20:20:07 · 461 阅读 · 0 评论 -
Spark的Shuffle调优
主要是调整缓冲的大小,拉取次数重试重试次数与等待时间,内存比例分配,是否进行排序操作等等原创 2022-02-21 20:05:28 · 1303 阅读 · 0 评论 -
Spark的Shuffle算子分类
Spark Shuffle 类中的各分类算子,去重、聚合、排序、重分区、集合或者表操作原创 2022-02-21 19:57:58 · 150 阅读 · 0 评论 -
Spark的Shuffle过程,HashShuffle、SortShuffle
Spark 在DAG调度阶段会将一个 Job 划分为多个 Stage,上游 Stage 做 map 工作,下游 Stage 做 reduce 工作,其本质上还是 MapReduce 计算框架。Shuffle 是连接 map 和 reduce 之间的桥梁,它将 map 的输出对应到 reduce 输入中,涉及到序列化反序列化、跨节点网络IO以及磁盘读写IO等。原创 2022-02-21 19:47:00 · 1290 阅读 · 0 评论 -
Spark广播变量和累加器(附案例)
如果使用了广播变量技术,则 Driver 端将共享数据只会发送到每个 Executor 一份。Executor 中的所有 Task 都复用这个对象。Spark提供的 Accumulator,主要用于多个节点对一个变量进行共享性的操作。Accumulator 只提供了累加的功能,即确提供了多个 task 对一个变量并行操作的功能。原创 2022-02-21 16:01:18 · 871 阅读 · 0 评论 -
Spark中的RDD Checkpoint 检查点机制(附案例)
Checkpoint 的持久化是存储在HDFS上的,因为具备高可用,所以非常可靠,但会切断执行 checkpoint RDD的依赖关系。Checkpoint 常用于RDD数据备份,以便从HDFS中恢复。原创 2022-02-20 23:58:51 · 550 阅读 · 0 评论 -
Spark中的RDD持久化缓存 cache()、persist()(附案例)
我们可以使用缓存函数:cache()、persist() 来持久化存储某个RDDn的数据集到内存或磁盘中,方便后期复用该RDD时无需从头计算。原创 2022-02-20 22:33:57 · 2594 阅读 · 0 评论 -
Spark算子中groupByKey和reduceByKey的区别
Spark算子中groupByKey和reduceByKey的区别,groupByKey 的 shuffle 的数据量大,容易造成子RDD的分区的内存溢出。如果做 wordcount 词频统计,那么需要继续手动 mapValues 才能得到结果。reduceByKey 有 2 阶段的聚合,性能快。在父RDD分区内做了预聚合,在子RDD的分区内再次聚合。原创 2022-02-20 18:46:06 · 220 阅读 · 0 评论 -
提交Spark应用程序的三种方式
提交Spark应用程序的三种方式,standalone HA 下的 client 本地模式,standalone HA 下的 cluster 集群模式,saprk on yarn 下的 cluster 集群模式原创 2022-02-19 16:45:56 · 899 阅读 · 0 评论