我有一个 Apache 访问日志文件,其中包含一些数据并且还在不断增加。我想使用 Apache Spark Streaming API 分析这些数据。
Spark 对我来说是新的,我创建了一个程序,在其中我使用 jssc.textFileStream(directory)
函数来获取日志数据。但它不符合我的要求。
请向我建议一些使用 spark 分析该日志文件的方法。
这是我的代码。
SparkConf conf = new SparkConf()
.setMaster("spark://192.168.1.9:7077")
.setAppName("log streaming")
.setSparkHome("/usr/local/spark")
.setJars(new String[] { "target/sparkstreamingdemo-0.0.1.jar" });
StreamingContext ssc = new StreamingContext(conf, new Duration(5000));
DStream<String> filerdd = ssc.textFileStream("/home/user/logs");
filerdd.print();
ssc.start();
ssc.awaitTermination();
此代码不会从现有文件返回任何数据。这仅在我创建新文件时有效,但是当我更新该新文件时,程序再次不会返回更新的数据。