Я строю лямбда-архитектуру, я закодировал потоковый слой, и теперь я делаю пакетный слой. Для этой цели я использую Spark 2 в качестве пакетного процессора и HDFS в качестве основных данных.Пакетный слой: как Spark считывает и обрабатывает новые данные из основных данных?
Для чтения данных из 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();
Однако, с этим кодом, новые данные, вставленные в HDFS после Спарка запущенных не читаются. Интересно, как я могу это сделать?
Есть ли только решение с Structured streaming (http://spark.apache.org/docs/latest/structured-streaming-programming-guide.html) или есть другое решение?