![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spark
文章平均质量分 58
Spark相关内容
龙大.
初心未改,方得始终!
展开
-
Spark写Hbase如何提高Bulkload的速度
很多时候我们在写HFile的时候都会进行repartition使用的是repartitionAndSortWithinPartitions,其中Spark也提供几种repartition的实现如HashPartitioner、RangePartitioner,但当数据量大的时候就会出现性能问题,就会变慢。在load的时候,是会按照Hbase的分区,把数据放到对应分区里面,这里面就会有两个问题,1.如果一个HFile文件对应多分区数据,在load的时候就会进行文件拆分(具体看代码扩展Partitioner。原创 2024-05-12 00:30:46 · 691 阅读 · 1 评论 -
Spark读取Hive数据或文件如何提升速度的优化思路
通过上面的方式,基本控制每个Task在18MB左右,每个task3~6分钟左右,整体也就7分钟左右完成,之前基本需要30分钟左右。原创 2024-05-11 23:50:03 · 469 阅读 · 1 评论 -
LoadIncrementalHFiles 流程和原理
是用于HBase的Bulk Load工具,允许用户高效地将大量数据直接加载到HBase表中,而不是使用传统的行级别插入。它通过直接将HFiles(HBase的存储文件格式)移动到HBase数据目录,避免了写入WAL(Write-Ahead Log)和进行RPC调用,从而提高了数据加载速度。原创 2024-05-11 13:07:43 · 693 阅读 · 1 评论 -
Apache Spark 文件拆分机制
Spark 的文件拆分机制高度依赖于底层存储系统和 Hadoop 的输入格式。通过处理记录边界、允许分片重叠、任务重试、事务性写入和检查点等机制,Spark 能够在并行处理大规模数据集时保证数据的完整性。原创 2024-04-18 12:48:56 · 1019 阅读 · 1 评论 -
Apache Hadoop 输入格式示例
和是 Hadoop 中常见的两种输入格式,分别适用于处理文本数据和二进制数据。它们都能够处理大文件的分片,并且保证数据的完整性。在 MapReduce 编程模型中,选择合适的输入格式对于作业的性能和可靠性至关重要。原创 2024-04-18 12:47:26 · 394 阅读 · 0 评论 -
Spark 之ExecutorLostFailure in Apache Spark
Executor丢失:ExecutorLostFailure是一个在Apache Spark集群运行时可能遇到的错误。它表明一个执行器(Executor)已经丢失,通常是由于底层资源管理器的决策或错误导致原创 2024-03-14 12:41:39 · 549 阅读 · 0 评论 -
Spark部署模式
Apache Spark支持多种部署模式,这些模式决定了如何在集群上启动和运行你的Spark应用程序。以下是Spark支持的主要部署模式:原创 2024-02-03 15:34:52 · 1135 阅读 · 0 评论 -
SparkException: A master URL必须在配置中设置
当你遇到错误时,这意味着你的Spark应用程序尝试启动时没有找到有效的master URL配置。Master URL是指定Spark集群的主节点地址,它对于初始化SparkContext是必需的。原创 2024-02-03 15:28:25 · 1454 阅读 · 0 评论 -
Spark 的Driver程序中定义的外部变量或连接为什么不能在各种算在中直接用,如果要要如何做?
在Driver程序中定义的外部变量或连接不能在算子中直接使用,因为它们不会被序列化并发送到各个Executor。如果需要在算子使用外部资源,应该在算子内部初始化这些资源。原创 2024-02-03 15:20:01 · 448 阅读 · 0 评论 -
Spark 的宽依赖和窄依赖
Apache Spark 中的依赖关系指的是转换操作(transformations)之间的依赖类型。这些依赖关系决定了任务是如何在集群上分布执行的。依赖关系分为两类:宽依赖(Wide Dependency)和窄依赖(Narrow Dependency)。窄依赖指的是每个父分区最多被一个子分区使用,这意味着子分区的计算只依赖于父RDD的一个分区。因此,在窄依赖中,每个父RDD的分区只需要发送到一个子RDD的分区。原创 2024-01-24 13:00:23 · 955 阅读 · 0 评论 -
Spark 读取ElasticSearch
查询语句只要满足ES规范就行,这里使用的是下面的包。原创 2024-01-20 12:58:01 · 443 阅读 · 0 评论 -
Spark读取Hbase内容
上面代码要读取Hbase数据、先初始化Hbase相关信息,主要的还是Scan信息,制定了要读取什么数据,当然这里只是罗列了常用的还有其他的条件可以加入。然后再是初始化Spark上下文。最后就行调用Spark获取数据。原创 2024-01-20 12:36:48 · 651 阅读 · 0 评论 -
Spark 读取ES采坑系列
Elasticsearch-hadoop 的6.x~8.x 的Spark版本都是2.11的,所以如果你的Spark的jar包用的是2.12得改成2.11 并且scala的版本也得保持在2.11版本,比如spark-core_2.12 得改成spark-core_2.11。还得注意一点:如果你的代码不是本地打包的话,还得注意一下打包环境的Spark版本版本,也得是3.0以下才行,不然还是会有问题。原因:7.14.0版本以及以上要求ES集群的版本是6.X。Spark和Scala个版本对应关系。原创 2023-11-09 13:11:38 · 798 阅读 · 0 评论 -
spark 一个stage里面多个RDD之间的算子(比如说map、flatmap、filter等等)是如果串联起来计算的呐?
我们都知道一个spark任务,可能由多个job组成,一个job有一到多个stage,一个stage有一到多个RDD,一个RDD有多个partition,一个stage有多少个task,最终由这个stage的最后一个RDD的partition决定,那么一个stage里面多个RDD之间的算子(比如说map、flatmap、filter等等)是如果串联起来计算的呐?接下来我们来探讨一下那我们就从ResultTask开始,func(context, rdd.iterator(partition, ...原创 2020-12-05 22:53:48 · 419 阅读 · 0 评论