sparkstreaming读取kafka 偏移量提交 如何在spark-streaming中获取通过kafka传递的flume信息header
如何在spark-streaming中获取通过kafka传递的flume信息header
spark streaming从1.2开始提供了数据的零丢失,想享受这个特性,需要满足如下条件: 1.数据输入需要可靠的sources和可靠的receivers 2.应用metadata必须通过应用driver checkpoint 3.WAL(write ahead log)
Spark Streaming场景应用用什么获取数据读取方式
Receiver-based的Kafka读取方式是基于Kafka高阶(high-level) api来实现对Kafka数据的消费。在提交Spark Streaming任务后,Spark集群会划出指定的Receivers来专门、持续不断、异步读取Kafka的数据,读取时间间隔以及每次读取offsets范围可以由参数来配置。读取的数据保存在Receiver中,具体StorageLevel方式由用户指定,诸如MEMORY_ONLY等。当driver 触发batch任务的时候,Receivers中的数据会转移到剩余的Executors中去执行。在执行完之后,Receivers会相应更新ZooKeeper的offsets。
org.apache.spark.streaming.kafka.kafkacluster jar 怎么导入
曾经试过了用 spark streaming 读取 logstash 启动的 TCP Server 的数据。不过如果你有多台 logstash 的时候,这种方式就比较难办了 —— 即使你给 logstash 集群申请一个 VIP,也很难确定说转发完全符合。所以一般来说,更多的选择是采用 kafka 等队列方式由 spark streaming 去作为订阅者获取数据。