spark 终止 运行_如何在数据源运行ou时停止spark流

我有一个spark流作业,它每5秒从Kafka读取一次,对传入的数据进行一些转换,然后写入文件系统。

这不一定是一个流媒体工作,实际上,我只想每天运行一次,将消息排放到文件系统中。不过,我不知道如何停止这项工作。

如果我将超时传递给streamingContext.awaittemination,它不会停止进程,它所做的一切都会导致进程在迭代流时产生错误(请参阅下面的错误)

我想做的最好的方法是什么

这是针对Python上的Spark 1.6的

编辑:

多亏了@marios,解决方案是:ssc.start()

ssc.awaitTermination(10)

ssc.stop()

在停止之前运行脚本10秒。

简化代码:conf = SparkConf().setAppName("Vehicle Data Consolidator").set('spark.files.overwrite','true')

sc = SparkContext(conf=conf)

ssc = StreamingContext(sc, 5)

stream = KafkaUtils.createStream(

ssc,

kafkaParams["zookeeper.connect"],

"vehicle-data-importer",

topicPartitions,

kafkaParams)

stream.saveAsTextFiles('stream-output/ka

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值