when30 发表于 2016-1-27 22:14 是日志的运行机理造成的, 写在 lines.flatMap(new FlatMapFunction<String, String>() { public Iterable<String> call(String x) 这方法之外的是直接输出到了控制台上 业务处理的方法之内的输出是输出到了var/log/spark文件夹下的log之中。而var/log/spark的没写入权限,就造成了误认为是没有输出的表象 |
为啥呢? 发表于 2016-1-27 22:04 找到了就好,这个恐怕只有楼主自己能解决了。 原先说日志输出一次,是什么原因?还是说看错了 |
wscl1213 发表于 2016-1-26 22:15 找到问题了,第一个问题先暂时没管 第二个问题是日志有输出,但是输出的不在控制台,输出到了spark相关的log路径下 第三个问题详见第二个的答案 但是为什么没找到log呢,不是路径不对,也不是没找,是因为对应文件夹spark账户没有写入权限。。。。。。 |
wscl1213 发表于 2016-1-26 22:15 控制台是看不到,看spark路径下的log没任何东西,查看控制台输出中有这样一句;: EventLoggingListener: Logging events to hdfs://YK2TDW013:8020/user/spark/applicationHistory/app-20160115091405-0001 查看这个文件,也没有print这些我需要输出的东西 |
为啥呢? 发表于 2016-1-26 22:00 开始输出是控制台吧,print不是任何地方都认得。 确定写到日志里了? 日志有文件和控制台之分 |
arsenduan 发表于 2016-1-26 21:02 我也是很是怀疑,就启动的时候输出了我要print的东西,job再执行的时候就没有任何print了,详情可以看看我一楼的帖子 |
w123aw 发表于 2016-1-26 20:53 恩,我也怀疑是进入了死胡同,可是不知道该如何出来,所以过来发帖子了 |
只输出一次,说明日志已经成功了。 那么为什么会输出一次? 难道是第二次没有执行??不可能的,楼主建议详细描述下,或则自己看看是不是程序只执行了一次 |
本帖最后由 w123aw 于 2016-1-26 20:56 编辑 为啥呢? 发表于 2016-1-26 19:21 可能并不是不行,而是楼主进入死胡同。 只要你能读取topic,那么你可以输出。 建议先从简单的测试,在进行复杂的。 |