我有一个sparkDataset,它流式传输csv文件的目录。所以我有这些问题:
如何缓存流数据集。
如何在YARN中提交我的spark流媒体作业,我的流媒体作业应该永远运行,直到用户手动中断。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
您可以使用缓存或持久功能缓存流数据,如下所示
dstream.persist()
仅在您多次使用流时才执行此操作。对于reducebywindow和reducebyKeyandWindow操作,这是自动完成的。
在流工作中,为了保持工作正常运行,您需要启动spark流上下文并启动此上下文
val ssc = new StreamingContext(sc, Seconds(1))
// your logic goes here
ssc.start()
如果您的工作在运行几个小时后被杀死(并且您的群集已经过kerborized),那么请检查kerberos门票是否即将到期。这可能导致长时间运行的作业失败。
编辑:注意:如果您正在专门讨论结构化流媒体。不支持缓存流数据集。