いくつかのデータを含む 1 つの Apache アクセス ログ ファイルがあり、それは継続的に増加しています。Apache Spark Streaming API を使用してそのデータを分析したいと考えています。
そして、Spark は私にとって新しいものであり、 jssc.textFileStream(directory)
関数を使用してログ データを取得する 1 つのプログラムを作成しました。しかし、私の要件では機能しません。
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();
このコードは、既存のファイルからデータを返しません。これは、新しいファイルを作成するときにのみ機能しますが、その新しいファイルを更新すると、プログラムは更新されたデータを返しません。