UpdataStateBykey updataStateBykey是特殊的reduceByKey, 相当于oldValue+reduceByKey(newValue1,newValue2),通过传入一个updateFunc来实现批次间数据累加的操作。
批处理时间<<批间隔时间:流量太小,集群闲置,浪费资源,批处理时间>>批间隔时间:流量太大,集群繁忙,数据积压导致系统崩溃#####通过设置spark.streaming.kafka.maxRatePerPartition可以静态调整每次拉取的最大流量,但是需要重启集群。
receiver方式 sparkStream启动一个单独的线程receiver定时使用kafka高阶API向kafka拉取数据,并自动地更新zk的offsets。优点:用户专注于业务,不需要关心偏移量的维护,代码简洁。
DStream是Spark Streaming的基础抽象,代表持续的数据流,它由一系列连续的RDD组成,一个批次间隔接收的数据只会存放在一个block中,因此每个批次间隔都只会产生一个RDD。
SparkSQL的时间类型?SparkSQL的所有类型都在org.apache.spark.sql.types._的包下面,这个里面我们可以引入对应的schema类型,包括事件的Date类型