spark streaming杂记

checkpoint:
checkpoint都放啥子?
  1. Metadata checkpointing : 保存流计算的定义信息到容错存储系统如 HDFS 中。这用来恢复应用程序中运行 worker 的节点的故障。
    元数据包括 :
    Configuration : 创建 Spark Streaming 应用程序的配置信息。
    DStream operations : 定义 Streaming 应用程序的操作集合。
    Incomplete batches : 操作存在队列中的未完成的批。
  2. Data checkpointing : 保存生成的 RDD 到可靠的存储系统中,这在有状态 transformation(如结合跨多个批次的数据)中是必须的。在这样一个 transformation 中,生成的 RDD 依赖于之前批的 RDD,随着时间的推移,这个依赖链的长度会持续增长。在恢复的过程中,为了避免这种无限增长。有状态的 transformation 的中间 RDD 将会定时地存储到可靠存储系统中,以截断这个依赖链。
checkpoint啥子时候写
checkpoint啥子时候读?

时间:checkpoint是在action动作计算结束之后执行。

在Spark Streaming整个架构体系里面,数据接收其实最为关键的一个流程,在数据接收完之后,后面的数据处理上面就是复用Spark Core的数据处理架构

spark streaming with kafka

  1. recivers
    spark partition与kafka partition无关。
    spark 获取revicer及对应prefreLocations。
    获取可以使用的executor,makeReciveRDD,编写rdd compute方法(startReceiverFunc),submit rdd
  2. dirct
    Spark Streaming会创建与 Kafka partitions 相同数量的 paritions 的 RDD,RDD 的 partition与 Kafka 的 partition 一一对应。
    保证事务性。
spark streaming 保证事物一致性

确认能否允许少量数据不一致,不能的话,可以通过

1、可以利用事务性数据库来保证事务一致性,如mysql/redis
2、自己设置数据处理+checkpoint为原子性操作实现

你可能感兴趣的:(spark streaming杂记)