gpt4 book ai didi

java - Spark 使用 Java 流式传输一个日志文件不会生成任何输出

转载 作者:行者123 更新时间:2023-11-30 10:19:06 24 4
gpt4 key购买 nike

我想通过 java 和 spark 流式传输日志文件。我的代码很简单:

  String base = "c:/test";

SparkConf conf = new SparkConf().setAppName("First_App").setMaster("local[2]");
JavaStreamingContext ssc= new JavaStreamingContext(conf, Seconds.apply(1));

JavaDStream<String> line = ssc.textFileStream(base);
line.map(new Function<String, Integer>()
{
@Override
public Integer call(String v1) throws Exception
{
System.out.println(v1);
int l = v1.length();
return l;
}
});

line.print();

ssc.start();
ssc.awaitTermination();

c:/test 中是一个日志文件,随着日志返回生成。它的内容是:

INFO:Data=Do Save Entity
INFO:Data=Do Delete Entity

但是当我运行我的应用程序时,控制台中会打印以下结果:

18/02/18 19:55:30 INFO JobScheduler: Added jobs for time 1518971130000 ms
18/02/18 19:55:30 INFO JobScheduler: Starting job streaming job 1518971130000 ms.0 from job set of time 1518971130000 ms
18/02/18 19:55:30 INFO JobScheduler: Finished job streaming job 1518971130000 ms.0 from job set of time 1518971130000 ms
18/02/18 19:55:30 INFO JobScheduler: Total delay: 0.291 s for time 1518971130000 ms (execution: 0.002 s)
-------------------------------------------
Time: 1518971130000 ms
-------------------------------------------

18/02/18 19:55:30 INFO FileInputDStream: Cleared 0 old files that were older than 1518971070000 ms:
18/02/18 19:55:30 INFO ReceivedBlockTracker: Deleting batches:
18/02/18 19:55:30 INFO InputInfoTracker: remove old batch metadata:
18/02/18 19:55:31 INFO FileInputDStream: Finding new files took 16 ms
18/02/18 19:55:31 INFO FileInputDStream: New files at time 1518971131000 ms:

-------------------------------------------
Time: 1518971131000 ms
-------------------------------------------

并且此输出继续。我的目标很简单:流式传输日志文件,然后在控制台中打印其内容,当然,这是临时的,因为最后,我想将该文件保存在数据库中。

最佳答案

您看不到任何输出的原因是 JavaStreamingContext.textFileStream 监视新创建文件的目录 (docs),并且不对更改的文件使用react。提到了如何处理您描述的情况的一些想法here .

代码中的第二个(不相关的)问题是对 line.map 的调用返回一个新的 JavaDStream,您应该在其上调用 print 以查看转型。直接在 line 上调用 print 将显示未经转换的流内容。

关于java - Spark 使用 Java 流式传输一个日志文件不会生成任何输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48853980/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com