my question is that. I use spark-streaming read data from kafka with directSteam Api,process rdd then update zookeeper offset manually. data from kafka will read and insert into hive table. now I meet a question. sometime the hive-meta store process exit for some reason.(now the hive-metastore is single) some batch job will fail for that reason and the spark streaming job won't exit just log some warning. then when I restart the hive metastore process, the program go on and the new batch job will succeed. but I find that the failed batch read data from kafka is missing. I see the meta data from the job detail. image that one batch job read 20 offset from kafka. the batch1 job read offset 1 20, the batch2 job read offset 21 40 if batch1 job fail ,the batch2 succeed, the failed1 job 's data will missied. how can I do this? how can I rerun the failed batch job?