![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spark
文章平均质量分 80
大数据spark
腹黑客
骑最贵的单车,你就是gai上最靓的仔
展开
-
Bucket join 用户指南
Bucket join 用户指南什么时候我们需要一个bucket table?如果表满足以下条件,则考虑将其构建为桶表:table很大,例如,table size 超过500GB对于小表来说,只有当它用来与一个巨大的桶表连接时,才会出现这种情况。Sort Merge Join慢的原因是因为shuffle,而不是数据倾斜如何选择桶字段?如果你真的需要构建一个bucket table,在大多数情况下,你不需要。选择正确的keys ,with high cardinality可以均匀分布原创 2021-08-20 17:45:39 · 837 阅读 · 0 评论 -
Spark 共享变量
什么是闭包?闭包就是一个封闭的作用域, 也是一个对象 Spark 算子所接受的函数, 本质上是一个闭包, 因为其需要封闭作用域, 并且序列化自身和依赖, 分发到不同的节点中运行累加器全局累加器Accumulators(累加器) 是一个只支持added(添加) 的分布式变量, 可以在分布式环境下保持一致性, 并且能够做到高效的并发.原生 Spark 支持数值型的累加器, 可以用于实现计数或者求和, 开发者也可以使用自定义累加器以实现更高级的需求.val counter =...原创 2021-01-19 19:48:10 · 224 阅读 · 0 评论 -
Spark - 缓存使用
Spark缓存使用缓存解决的问题减少对重复RDD的多次操作 容错适用场景:在一个 RDD 需要重复多次利用, 并且还不是特别大的情况下使用, 例如迭代计算等场景.Spark缓存相关的APIval conf = new SparkConf().setMaster("local[6]").setAppName("debug_string")val sc = new SparkContext(conf)val interimRDD = sc.textFile("dataset/acce原创 2021-01-13 14:39:18 · 414 阅读 · 0 评论 -
Spark RDD 的 shuffle 和 分区
Spark RDD 的 shuffle 和 分区分区的作用RDD 使用分区来分布式并行处理数据, 并且要做到尽量少的在不同的 Executor 之间使用网络交换数据, 所以当使用 RDD 读取数据的时候, 会尽量的在物理上靠近数据源, 比如说在读取 Cassandra 或者 HDFS 中数据的时候, 会尽量的保持 RDD 的分区和数据源的分区数, 分区模式等一 一对应。分区和 Shuffle 的关系分区的主要作用是用来实现并行计算, 本质上和 Shuffle 没什么关系, 但是往往在进行数据处理的原创 2021-01-05 15:43:44 · 690 阅读 · 2 评论 -
Spark RDD深入理解
RDD 深入理解当由大批量数据需计算时,则需放入集群中进行并行处理解决并行计算的四个要点要解决的问题必须可以分解为多个可以并发计算的部分每个部分要可以在不同处理器上被同时执行需要一个共享内存的机制需要一个总体上的协作机制来进行调度任务分解hdfs中,分为不同block进行计算的时候,可按照block来划分,每一个block对应一个不同的计算单元RDD 并没有真实的存放数据, 数据是从 HDFS 中读取的, 在计算的过程中读取即可RDD 分片的意义在于表示对源数据集每个原创 2020-12-24 23:59:44 · 121 阅读 · 0 评论 -
初识 RDD 弹性分布式数据集(Resilient Distributed Datasets)
RDD是什么RDD, 全称为弹性分布式数据集(Resilient Distributed Datasets), 是一个容错的, 并行的数据结构, 可以让用户显式地将数据存储到磁盘和内存中, 并能控制数据的分区.同时, RDD 还提供了一组丰富的操作来操作这些数据. 在这些操作中, 诸如 map, flatMap, filter 等转换操作实现了 Monad 模式, 很好地契合了 Scala 的集合操作. 除此之外, RDD 还提供了诸如 join, groupBy, reduceByKey 等更为方便的原创 2020-12-09 22:34:50 · 663 阅读 · 0 评论 -
Spark Java API开发案例 + 打Jar包上传服务器环境运行
Spark Java API开发案例创建Maven项目,修改pom.xml文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.or原创 2020-12-08 23:24:49 · 279 阅读 · 0 评论 -
初识 Spark
SparkSpark 是什么Apache Spark 是一个快速的, 多用途的集群计算系统, 相对于 Hadoop MapReduce 将中间结果保存在磁盘中, Spark 使用了内存保存中间结果, 能在数据尚未写入硬盘时在内存中进行运算.Spark 只是一个计算框架, 不像 Hadoop 一样包含了分布式文件系统和完备的调度系统, 如果要使用 Spark, 需要搭载其它的文件系统和更成熟的调度系统。为什么会有SparkSpark 产生之前, 已经有非常成熟的计算系统存在了, 例如 MapRedu原创 2020-12-07 23:47:41 · 125 阅读 · 0 评论