
Spark使用
文章平均质量分 93
午后的红茶meton
这个作者很懒,什么都没留下…
展开
-
Spark On YARN启动流程源码分析
1、spark-submit入口介绍一般的spark作业都是通过命令行spark-submit相关的指令来进行提交,使用--master yarn来指定提交到对应的yarn集群上,如下:./bin/spark-submit --class org.apache.spark.examples.SparkPi \ --master yarn \ --deploy-mode cluster \ --driver-memory 4g \ --executor-memory原创 2021-04-04 00:56:53 · 1411 阅读 · 0 评论 -
SparkStreaming源码剖析2-JobGenerator任务的生成与执行流程
在上一节中的StreamingContext.start()方法中,其主要就是调用scheduler.start()来启动对应的JobScheduler,在scheduler.start()方法中,其会创建并启动两个最重要的组件为:ReceiverTracker和JobGenerator。上文中分析了ReceiverTracker流式数据产生与接收的基本工作及原理,接下来分析JobGenerator的基本工作与原理。JobGenerator:主要用来生成对应的Batch Job,并提交生...原创 2020-09-02 10:22:39 · 462 阅读 · 0 评论 -
SparkStreaming源码剖析1-Receiver数据接收流程
根据上文所展示的Spark Streaming的socketTextStream应用示例,来从源码的角度来看下其是怎么工作运行的。1、初始化StreamingContextStreamingContext是SparkStreaming程序的主要入口,其构造函数如下:class StreamingContext private[streaming] ( _sc: SparkContext, _cp: Checkpoint, _batchDur: Duration ).原创 2020-09-02 00:31:28 · 348 阅读 · 1 评论 -
Spark Streaming运行流程及基本使用
Spark Streaming介绍 Spark Streaming是Spark核心API的一个扩展,可以实现高吞吐量的、具备容错机制的实时流数据的处理。支持从多种数据源获取数据,包括Kafk、Flume、Twitter、ZeroMQ、Kinesis以及TCP sockets,从数据源获取数据之后,可以使用诸如map、reduce、join和window等高级函数进行复杂算法的处理。最后还可以将处理结果存储到文件系统,数据库和现场仪表盘。在“One Stack rule them all”的基...原创 2020-08-31 21:25:55 · 2816 阅读 · 0 评论 -
Kafka+Spark Streaming保证exactly once语义
在Kafka、Storm、Flink、Spark Streaming等分布式流处理系统中(没错,Kafka本质上是流处理系统,不是单纯的“消息队列”),存在三种消息传递语义(message delivery semantics),分别是:at least once:每条消息会被收到1次或多次。例如发送方S在超时时间内没有收到接收方R的通知(如ack),或者收到了R的报错,就会不断重发消息直至R传回ack。 at most once:每条消息会被收到0次或1次。也就是说S只负责向R发送消息,...原创 2020-08-31 09:29:14 · 332 阅读 · 0 评论 -
Spark Scheduler内部原理剖析
Spark的核心是根据RDD来实现的,Spark Scheduler则为Spark核心实现的重要一环,其作用就是任务调度。Spark的任务调度就是如何组织任务去处理RDD中每个分区的数据,根据RDD的依赖关系构建DAG,基于DAG划分Stage,将每个Stage中的任务发到指定节点运行。基于Spark的任务调度原理,可以合理规划资源利用,做到尽可能用最少的资源高效地完成任务计算。分布式运行框架 Spark可以部署在多种资源管理平台,例如Yarn、Mesos等,Spark本...转载 2020-08-31 08:50:35 · 307 阅读 · 0 评论 -
Spark内部执行机制
基本概念应用程序:用户构建的Spark应用程序,包含驱动程序(一个Driver功能的代码)和在集群的多个工作结点上运行的Executor代码。 驱动程序:包含main入口函数并在main函数内实例化SparkContext对象的应用程序称为驱动应用程序。不说了,直接上代码如下: Var logFile="YOUR_SPARK_HOME/README.md"//本地文件目录 val conf=new SparkConf().setAppName("Simple A...转载 2020-08-31 00:54:56 · 331 阅读 · 0 评论 -
Apache Spark统一内存管理模型详解
本文将对Spark的内存管理模型进行分析,下面的分析全部是基于ApacheSpark2.x进行的。文章仅对统一内存管理模块(UnifiedMemoryManager)进行分析,如对之前的静态内存管理感兴趣,请参阅网上其他文章。我们都知道Spark能够有效的利用内存并进行分布式计算,其内存管理模块在整个系统中扮演着非常重要的角色。为了更好地利用Spark,深入地理解其内存管理模型具有非常重要的意义,这有助于我们对Spark进行更好的调优;在出现各种内存问题时,能够摸清头脑,找到哪块内存区域出现...转载 2020-08-30 17:55:13 · 369 阅读 · 0 评论 -
hive on spark通过YARN-client提交任务不成功
在Hive on spark中 设置spark.master 为 yarn-client ,提交HiveQL任务到yarn上执行,发现任务无法执行 输出一下错误:可以看到 Hive on Spark 可以submit查询,但是任务无法执行。因为我们设置的yarn-client 模式提交,所以在hive执行的输出log日志中查找到相应语句输出的log信息:发现yar原创 2017-09-11 19:03:48 · 3667 阅读 · 0 评论 -
Spark-Sql启动报错:Error creating transactional connection factory
1、SparkSQL配置 将$HIVE_HOME/conf/hive-site.xml配置文件拷贝到$SPARK_HOME/conf目录下。 将$HADOOP_HOME/etc/hadoop/hdfs-site.xml配置文件拷贝到$SPARK_HOME/conf目录下。2、运行SparkQL 在 cd /usr/local/spark,下运行 ./bin/spar转载 2017-08-28 19:47:28 · 11184 阅读 · 0 评论