随笔分类 -  BigData-Kafka

摘要:在Spark中一个appliation可能包含多个job,每个job都是由SparkContext#runJob(。。。)触发的,一个Job下包含1个或多个Stage,Job的最后一个stage为ResultStage,其余的stage都为ShuffleMapStage。ResultStage会生成 阅读全文
posted @ 2019-09-02 21:17 cctext 阅读(1003) 评论(0) 推荐(0) 编辑
摘要:之前对Broadcast有分析,但是不够深入《Spark2.3(四十三):Spark Broadcast总结》,本章对其实现过程以及原理进行分析。 带着以下几个问题去写本篇文章: 1)driver端如何实现broadcast的装备,是否会把broadcast数据发送给executor端? 2)exe 阅读全文
posted @ 2019-08-31 18:07 cctext 阅读(5068) 评论(0) 推荐(1) 编辑
摘要:本章主要讨论,在Spark2.4 Structured Streaming读取kafka数据源时,kafka的topic数据是如何被执行的过程进行分析。 以下边例子展开分析: 上边例子业务,使用structured streaming读取kafka的topic,并做agg,然后sink到kafka的 阅读全文
posted @ 2019-08-27 23:02 cctext 阅读(1082) 评论(0) 推荐(0) 编辑
摘要:本章节根据源代码分析Spark Structured Streaming(Spark2.4)在进行DataSourceProvider查找的流程,首先,我们看下读取流数据源kafka的代码: sparkSession.readStream()返回的对象是DataSourceReader DataSo 阅读全文
posted @ 2019-08-27 22:31 cctext 阅读(1616) 评论(0) 推荐(0) 编辑
摘要:问题: 最近现场反馈采用yarn-cluster方式提交spark application后,在提交节点机上依然会存在一个yarn的client进程不关闭,又由于spark application都是spark structured streaming程序(application常年累月的执行),最 阅读全文
posted @ 2019-08-05 14:40 cctext 阅读(2024) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2019-08-01 22:12 cctext 阅读(12) 评论(0) 推荐(0) 编辑
摘要:背景: 目前服务器资源是43个节点,每个节点配置信息如下:24VCores 64G yarn配置情况: 已经成功启动任务:34个app(每个app driver内存7g,executor个数1,executor内存20g) 另外成功启动分发程序:1个app(driver内存6g,executor个数 阅读全文
posted @ 2019-07-31 11:15 cctext 阅读(1724) 评论(0) 推荐(0) 编辑
摘要:背景: 按照业务需求将数据拆分为60份,启动60个application分别运行对每一份数据,application的提交脚本如下: 运行集群包含的运行节点43个节点,每个节点配置信息如下:24VCores 64G yarn配置情况: 问题: 执行上边脚本启动了60个任务,但是经过测试发现最多只能提 阅读全文
posted @ 2019-07-30 22:14 cctext 阅读(3708) 评论(0) 推荐(0) 编辑
摘要:场景: 在spark structured streaming读取kafka上的topic,然后将统计结果写入到hdfs,hdfs保存目录按照month,day,hour进行分区: 1)程序放到spark上使用yarn开始运行(yarn-client或yarn-cluster),可以正常sink结果 阅读全文
posted @ 2019-07-26 00:13 cctext 阅读(2010) 评论(3) 推荐(0) 编辑
摘要:业务需求,有一部分动态字段,需要在程序中动态加载并解析表达式: 实现方案1):在MapFunction、MapPartitionFunction中使用FelEngine进行解析: 实现方案2):采用selectExpr()函数 此时动态列dynamicExprLength为10,可以正常输出。 ds 阅读全文
posted @ 2019-07-18 14:22 cctext 阅读(1189) 评论(0) 推荐(0) 编辑
摘要:基本用法主要掌握一点就行: master slave模式运用:driver 就是master,executor就是slave。 如果executor要想和driver交互必须拿到driver的EndpointRef,通过driver的EndpointRef来调接口访问。 driver启动时,会在dr 阅读全文
posted @ 2019-06-28 17:47 cctext 阅读(986) 评论(0) 推荐(0) 编辑
摘要:导入 从一个Job运行过程中来看DAGScheduler是运行在Driver端的,其工作流程如下图: 图中涉及到的词汇概念: 1. RDD——Resillient Distributed Dataset 弹性分布式数据集。 2. Operation——作用于RDD的各种操作分为transformat 阅读全文
posted @ 2019-06-26 23:50 cctext 阅读(3113) 评论(2) 推荐(1) 编辑
摘要:上篇《Spark(四十九):Spark On YARN启动流程源码分析(一)》我们讲到启动SparkContext初始化,ApplicationMaster启动资源中,讲解的内容明显不完整。 本章将针对yarn-cluster(--master yarn –deploy-mode cluster)模 阅读全文
posted @ 2019-06-25 22:45 cctext 阅读(4055) 评论(0) 推荐(2) 编辑
摘要:引导 Windows环境下JvisulaVM一般存在于安装了JDK的目录${JAVA_HOME}/bin/JvisualVM.exe,它支持(本地和远程)jstatd和JMX两种方式连接远程JVM。 jstatd (Java Virtual Machine jstat Daemon)——监听远程服务 阅读全文
posted @ 2019-06-01 18:52 cctext 阅读(2112) 评论(0) 推荐(0) 编辑
摘要:引导: 该篇章主要讲解执行spark-submit.sh提交到将任务提交给Yarn阶段代码分析。 spark-submit的入口函数 一般提交一个spark作业的方式采用spark-submit来提交 这个是提交到standalone集群的方式,其中spark-submit内容如下: https:/ 阅读全文
posted @ 2019-05-27 22:55 cctext 阅读(4931) 评论(0) 推荐(1) 编辑
摘要:MetricsSystem信息收集过程 参考: 《Apache Spark源码走读之21 -- WEB UI和Metrics初始化及数据更新过程分析》 《Spark Metrics配置详解》 《Spark Structrued Streaming源码分析--(四)ProgressReporter每个 阅读全文
posted @ 2019-05-23 00:18 cctext 阅读(849) 评论(0) 推荐(0) 编辑
摘要:导入: 1)Spark Web UI主要依赖于流行的Servlet容器Jetty实现; 2)Spark Web UI(Spark2.3之前)是展示运行状况、资源状态和监控指标的前端,而这些数据都是由度量系统(MetricsSystem)收集来的; 3)Spark Web UI(spark2.3之后) 阅读全文
posted @ 2019-05-10 23:27 cctext 阅读(10395) 评论(6) 推荐(2) 编辑
摘要:存储级别简介 Spark中RDD提供了多种存储级别,除去使用内存,磁盘等,还有一种是OFF_HEAP,称之为 使用JVM堆外内存 https://github.com/apache/spark/blob/branch-2.4/core/src/main/scala/org/apache/spark/ 阅读全文
posted @ 2019-05-05 20:45 cctext 阅读(2377) 评论(1) 推荐(1) 编辑
摘要:很多时候在流数据处理时,我们会将avro格式的数据写入到kafka的topic,但是avro写入到kafka的时候,数据有可能会与版本升级,也就是schema发生变化,此时如果消费端,不知道哪些数据的schema是使用升级前的,哪些数据schema使用升级后,此次消费端一旦就经常会跑出异常,为了避免 阅读全文
posted @ 2019-04-23 16:27 cctext 阅读(2012) 评论(0) 推荐(0) 编辑
摘要:之前也介绍过使用yarn api来submit spark任务,通过提交接口返回applicationId的用法,具体参考《Spark2.3(四十):如何使用java通过yarn api调度spark app,并根据appId监控任务,关闭任务,获取任务日志》; 但是我更喜欢使用该篇文章中介绍的使用 阅读全文
posted @ 2019-04-02 14:22 cctext 阅读(7920) 评论(0) 推荐(1) 编辑