Spark
CesarChoy
知识创造未来~~
展开
-
基于Spark的实时项目架构、心得及相关配置
前文: 一套完整的项目思路及Spark+Redis+Mysql等连接配置框架。一、项目架构1.1实时项目思路1.1.1通过Maxwell解析Mysql的binlog数据,将维度数据同步到Redis,同时将业务数据进行实时关联清洗,发送回Kafka;1.1.2前端埋点日志+后台系统回填的日志 ,发送到另外一个程序,也是通过查询redis进行实时关联清洗,发送回Kafka;1.1.3最后一个程序把控数据落地Mysql(含部分业务进行二次清洗关联查询)1.2数...原创 2020-08-10 15:03:07 · 863 阅读 · 0 评论 -
基于监听hdfs文件实现Sparkstreaming优雅关闭
前提: Yarn的Kill和发送信号,Oozie,不是优雅关闭,CDH的关闭是优雅关闭,现在打算弃用CDH,所以基于代码实现监听外部文件系统实现优雅关闭。一、1.实现代码 val hdfsStopPath :String = args(1) var stopFlag = false while (!stopFlag) { //每分钟检测一次 //println("当前检测时间" + new Date()) ssc...原创 2020-06-15 20:20:07 · 197 阅读 · 1 评论 -
基于累加器实现定时消费Kafka后自动关闭的SparkStreaming
前文: 实时Sparkstreaming将至少占用2个core,当我们对数据实时性要求不高时,可采取定时消费Kafka数据,这里就要思考如何将消费完Kafka的实时程序关闭。一、1、原始实时代码 ssc.start() ssc.awaitTermination()注:这种方式将一直占用core数,对于实时性不高的程序将会造成极大资源浪费...原创 2020-04-26 14:16:17 · 465 阅读 · 0 评论 -
Spark程序启动资源策略
一、前文 当我们开发完一个Spark项目之后,我们需要多少资源合适?合理的资源参数将帮我们更好地利用集群。二、实验1、代码逻辑//第一次拉取数据val df: DataFrame = spark.read.format("jdbc")//拉取后shuffle.repartition(numPartitions)//第一次全局统计val max_r...原创 2020-04-16 13:03:37 · 188 阅读 · 0 评论 -
区分Spark标准开发模板的driver端和excutor端
前文: 理解driver端和excutor端的代码块划分有利于优化代码。import com.cmsz.utils.MySQLUtilsimport org.apache.kafka.clients.consumer.ConsumerRecordimport org.apache.spark.SparkConfimport org.apache.spark....原创 2019-11-21 19:27:18 · 327 阅读 · 1 评论 -
SparkStreaming的案例
前文: SparkStreaming流处理基于SparkSql一、完整流程1、数据获取监听2、批次处理3、历史统计4、滑动统计原创 2019-07-01 15:17:19 · 141 阅读 · 0 评论 -
Spark_RDD
前文: 基于RDD算子的Spark核心为SparkSql一、基本操作(懒算子)启动:sh spark-shell --master=local1、不同输入集合2、创建、分区3、读取文件4、取值排序5、Transformation(核心)6、分组计算(核心)7、交并集操作8、乘积二、Actions(执...原创 2019-07-01 10:29:21 · 84 阅读 · 0 评论