私はラムダ アーキテクチャを構築しています。ストリーミング レイヤーをコーディングし、現在はバッチ レイヤーを実行しています。そのために、Spark 2 をバッチ プロセッサとして使用し、HDFS をマスター データとして使用しています。
HDFS からデータを読み取るために、次のコードを書きました。
SparkSession spark = SparkSession
.builder()
.appName("JavaWordCount")
.master("local")
.config("spark.sql.warehouse.dir", "file:///c:/tmp/spark-warehouse")
.getOrCreate();
JavaRDD<String> msg = spark.read().textFile("HDFS://mypath/*").javaRDD();
ただし、このコードでは、Spark を実行した後に HDFS に挿入された新しいデータは読み取られません。どうすればそれができるのだろうか?
構造化ストリーミング ( http://spark.apache.org/docs/latest/structured-streaming-programming-guide.html )を使用したソリューションしかありませんか、それとも別のソリューションがありますか?