Spark Streaming连接Kafka的两种方式 direct 跟receiver 方式接收数据的区别
Receiver是使用Kafka的高层次ConsumerAPI来实现的。Receiver从Kafka中获取的数据都是存储在SparkExecutor的内存中的,然后SparkStreaming启动的job会去处理那些数据。然而,在默认的配置下,这种方式可能会因为底层的失败而丢失数据。如果要启用高可靠机制,让数据零丢失,就必须启用Spark

