Spark Streaming学习与实践(3)

3. 调试

3.1. 使用ssc.textFileStream()的风险

曾经在一篇Blog上看到ssc.textFileStream()监控一个文件夹和用flume监控的效果差不多,于是抱着能少一个组件就少一个的念头,使用ssc.textFileStream()来测试程序功能,发现以下问题:
1、有时候程序能正常跑完,有时候不能
2、不能跑完的报以下错误:
16/02/24 14:23:53 ERROR scheduler.JobScheduler: Error running job streaming job 1456295030000 ms.0
org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 103.0 failed 4 times, most recent failure: Lost task 0.3 in stage 103.0 (TID 689, host-9-60): java.io.FileNotFoundException: File does not exist: dir/20160217152630.txt._COPYING
Caused by: org.apache.hadoop.ipc.RemoteException(java.io.FileNotFoundException): File does not exist: dir/20160217152630.txt._COPYING
经过询问大神,发现应该是当上传文件到/dir/中时,hadoop会生成中间文件XXX._COPYING,这时如果ssc.textFileStream()恰好发现了中间文件就会把它读进来,但是当文件上传完毕后该中间文件会被改名,于是就报错说找不到了。
重要:改用的组件还是得用啊,上flume/kafuka

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值