批处理层:Spark如何从主数据中读取和处理新数据?

时间:2016-12-20 10:40:15

标签: apache-spark lambda-architecture

我正在构建一个lambda架构,我编写了流层,现在我正在进行批处理层。为此,我使用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();

但是,使用此代码,不会读取runnig Spark之后插入HDFS的新数据。我想知道我怎么可能这样做?

是否只有结构化流媒体(http://spark.apache.org/docs/latest/structured-streaming-programming-guide.html)的解决方案,还是有其他解决方案?

1 个答案:

答案 0 :(得分:1)

是的,在我看来,Spark 2.x Structure Streaming可以实现它。

我建议您在2017年Spark峰会上观看此演示文稿:https://www.youtube.com/watch?list=PLTPXxbhUt-YVEyOqTmZ_X_tpzOlJLiU2k&v=IJmFTXvUZgY