自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张不帅

年轻人应该勇于玩转风口浪尖的一切技术

  • 博客(15)
  • 资源 (1)
  • 收藏
  • 关注

原创 spark大数据分析:spark Struct Strreaming(30)程序优化

文章目录程序优化尽可能减少和避免shuffle使用Kryo 作为序列化方案数据优化资源优化程序优化尽可能减少和避免shuffle(1) map task中,将内存中的数据以文件形式写到磁盘中(2) reduce task 中,通过网络I/O读取map task中溢写的文件,进行聚合,由于join操作前后分区策略不一致造成shuffle,数据量较少(一般低于3G)可以使用广播变量机制在同一个stage中完成join操作未优化前 val rddData1 = sc.parallelize(Arr

2020-09-21 23:44:19 389

原创 spark大数据分析:spark Struct Strreaming(29)checkPoint与连续处理模式

文章目录checkPoint连续处理 Continuous ProcessingcheckPoint val query = result.writeStream .outputMode("update") .trigger(Trigger.ProcessingTime(0)) .format("console") .option("checkpointLocation","指定路径") .start()在流式计算中,一旦设置了ch

2020-09-21 23:21:57 420

原创 spark大数据分析:spark Struct Strreaming(28)管理与监控工作流

文章目录管理工作流监控工作流管理工作流 val query = joinResult.writeStream .outputMode("append") .trigger(Trigger.ProcessingTime(0)) .format("console") .start()query.id获取当前查询的唯一idquery.runId获取本次查询运行的唯一Id,每次启动或重启重新生成query.name获取.queryNa

2020-09-17 23:07:40 365

原创 spark大数据分析:spark Struct Strreaming(27)Trigger触发器的分类

文章目录持续批处理一次性批处理连续处理持续批处理实现方式Trigger.ProcessingTime(时间间隔)适用场景:流式数据的批处理作业,如果不设置,默认适用该类型,间隔为0,表示尽可能处理每一个批次的数据,即Trigger.ProcessingTime(0),如果无数据,处于阻塞状态,等待数据流入一次性批处理实现方式Trigger.Once()场景非实时数据分析,执行完毕后程序退出,一般需要配合定时调度框架周期性启动程序,处理之前数据连续处理实现方式Trigger.Conti

2020-09-17 22:38:08 1234

原创 spark大数据分析:spark Struct Strreaming(26)数据输出结果分析

文章目录输出模式使用场景Append模式Complete输出模式Update模式基于File Sink基于Kafka Sink 以Streaming方式输出数据基于Kafka Sink 以Batch方式输出数据基于Console sink输出数据基于Memory SinkForeach SinkForeachBatch Sink输出模式使用场景Append模式默认输出模式,采用这种输出模式,保证数据每行只输出一次,查询过程中如果没有设置Watermark,不能使用聚合操作,使用了只能根据事件时间聚合操

2020-09-15 23:41:39 750

原创 spark大数据分析:spark Struct Strreaming(25)数据分组,手动维护分组状态

文章目录通过mapGroupsWithState 实现数据分组,手动维护分组状态提供了两种自定义分组的聚合函数,mapGroupsWithState,flatMapGroupsWithState,允许开发者基于事件时间或处理时间进行有状态的流计算通过mapGroupsWithState 实现数据分组,手动维护分组状态根据输入单词,按照事件时间聚合相同分钟数,相同单词出现的次数,并在此过程中通过mapGroupsWithState实现数据分组,手动维护分组状态...

2020-09-14 23:04:50 638

原创 spark大数据分析:spark Struct Strreaming(24)Stream-Static/Stream模式下的innerjoin操作

文章目录流与静态数据的joinStream-Stream的join流与静态数据的join对于流式数据与静态数据的join操作,直接DataFrame之间的join即可 val spark = SparkSession .builder .master("local[*]") .appName("Chapter9_8_1") .getOrCreate() import spark.implicits._ spark.sparkConte

2020-09-09 23:53:34 716

原创 spark大数据分析:spark Struct Strreaming(23)去除重复数据

文章目录 val spark = SparkSession .builder .master("local[*]") .appName("test") .getOrCreate() import spark.implicits._ spark.sparkContext.setLogLevel("WARN") val lines = spark.readStream .format("socket")

2020-09-09 23:43:23 1290

原创 spark大数据分析:spark Struct Strreaming(22)基于Watermark处理延迟数据

文章目录作用基于update模式,实现wordCount,结合waterMark处理延迟数据基于Append模式 ,实现wordCount,结合waterMark处理延迟数据底层工作原理Watermark机制与输出模式作用在数据分析系统中,Struct Strreaming可以持续按照事件时间聚合数据,在此过程中并不能保证数据按照事件时间大小依次达到,在某一个时刻接受到数据远远落后之前批次已经处理过的事件时间,发生这种情况时,需要结合业务需要对延迟数据进行过滤默认情况下,无论数据延迟多久,数据根据事件

2020-09-08 00:10:16 1166

原创 spark大数据分析:spark Struct Strreaming(22)基于事件流处理

文章目录基于事件时间的窗口操作事件时间窗口方式事件时间窗口生成规则基于事件时间的窗口操作在 Struct Strreaming中,可以按照事件真实发生时间对附近范围内的数据进行聚合操作,即基于事件时间窗口进行操作,在这种机制下,不必考虑事件到达顺序与事件发生顺序一致,大大减少了开发者工作量一条数据可以被称为一个事件,在生成数据时携带的时间可以称为事件时间案例package structimport java.text.SimpleDateFormatimport org.apache.sp

2020-09-06 23:55:22 396

原创 spark大数据分析:spark Struct Strreaming(21) 数据流处理

文章目录根据文件生成工作流根据kafka生成工作流以kafka为数据源,通过Batch模式生成工作流根据指定速率生成工作流根据文件生成工作流当文件夹命名为"key=value"形式时,Struct Strreaming会自动遍历当前文件夹下的子文件,根据文件名实现自动分区package structimport org.apache.spark.sql.SparkSessionimport org.apache.spark.sql.streaming.Triggerimport org.apa

2020-09-06 23:23:12 449

原创 spark大数据分析:spark Struct Strreaming(20)结构化流认知

文章目录优点案例编程模型输出模式优点struct Streaming构建在spark SQL之上,将数据以增量的方式连续的读物到DataFrame,DataSet中,并可以像使用静态的DataFrame.DataSet分析数据,同时支持基于事件时间的窗口操作聚合数据,通过CheckPoint以及WALs(预写日志.)机制实现消费数据"有且只有一次"Struct Strreaming也是将数据按时间间隔整理多个批次处理,并且可以将时间处理间隔降低到100ms,精确去除重复数据案例import org

2020-09-05 14:16:06 553

原创 spark大数据分析:sparkStrreaming(21)程序关闭

文章目录关闭程序方法有4种1.kill杀死,可能数据丢失2,通过钩子(hook)关闭,需要写shell脚本,麻烦3.在程序中建立http服务,接受外部消息在程序中关闭,代码较多4.用hdfs中目录做标记,定期检查hdfs目录是否存在,存在关闭程序,简单方便依赖 <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop

2020-09-02 00:19:03 391

原创 spark大数据分析:sparkStrreaming(20)广播变量与累加器

文章目录对于广播变量与累加器在程序中断后无法从CheckPoint中恢复数据,程序中断会导致数据丢失自定义累加器实现全实时wordCountpackage streamimport org.apache.spark.SparkContextimport org.apache.spark.util.AccumulatorV2import scala.collection.mutable/** * 实现单例用于恢复累加器 * 线程安全的单例模式对累加器进行初始化 */object W

2020-09-02 00:09:18 353

原创 spark大数据分析:sparkStrreaming(19)缓存与checkPoint

文章目录元数据检查点数据检查点为了保证程序7x24小时工作,需要进行checkPoint对程序异常进行数据恢复元数据检查点主要包含在SparkConf信息,DStream的相关操作,例如转换与输出操作,队列中等待处理的job,因此元数据检查点主要用于Driver进程中恢复程序数据检查点DStream的检查点其实就是RDD的检查点,在有状态转换操作(依赖多个批次中的数据)需要设置checkPoint,因为随着时间推移,数据重算会耗费大量时间/...

2020-09-01 23:35:37 297

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除