Spark Streaming的checkpoint(更新中)

参考博文: https://blog.csdn.net/klordy_123/article/details/84109501

1. Spark Streaming的checkpoint机制

1.1 Spark Streaming 的checkpoint示例
import org.apache.log4j.{
   Level, Logger}
import org.apache.spark.rdd.RDD
import org.apache.spark.sql.types._
import org.apache.spark.sql._
import org.apache.spark.streaming.dstream.DStream
import org.apache.spark.{
   SparkConf, SparkContext}
import org.apache.spark.streaming.{
   Seconds, StreamingContext}
import org.apache.spark.streaming.kafka.KafkaUtils

object SaveDataToMysql {
   
  def main(args: Array[String]): Unit = {
   

    // 屏蔽不必要的日志 ,在终端上显示需要的日志
    Logger.getLogger("org.apache.spark").setLevel(Level.OFF)
    Logger.getLogger("org.eclipse.jetty.server").setLevel(Level.OFF)
    Logger.getLogger("org.apache.kafka.clients.consumer").setLevel(Level.OFF)

   //初始化sparkStreaming
    val conf = new SparkConf().setAppName("SaveDataToMysql").setMaster("local[*]")
    val sc = new SparkContext(conf)
    val ssc = new StreamingContext(sc, Seconds(10))

    //连接s3需要的key和密码
    ssc.sparkContext.hadoopConfiguration.set("fs.s3a.access.key","aws的key")
    ssc.sparkContext.hadoopConfiguration.set("fs.s3a.secret.key","aws的密码")
    ssc.sparkContext.hadoopConfiguration.set("fs.s3a.endpoint", "s3.cn-north-1.amazonaws.com.cn")
    

    //设置连接Kafka的配置信息
    val zkQuorum  = "192.168.1.112:2181"    //zookeeper集群的IP:port,IP:port,IP:port
    val group = "testgroup"                //在consumer.properties配置group.id
    val topics = "myTopic1 myTopic2"               //选择要连接的producer,它是以topic来区分每个producer的。例如:我这里的创建的topic是huiliyang
    val numThreads = 2                    //线程
    val topicpMap = topics.split("\n").map((_,numThreads.toInt)).toMap   //这个是有可能有好几个topic同时提供数据,那么我们要把它用空格分割开,然后映射成(topic,2),再转换成map集合

    ssc.checkpoint("hdfs://10.47.85.158:9000/checkpointDir/")

    val lines: DStream[String] = KafkaUtils.createStream(ssc,zkQuorum
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值