Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 批处理层:Spark如何从主数据读取和处理新数据?_Apache Spark_Lambda Architecture - Fatal编程技术网

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

Apache spark 批处理层:Spark如何从主数据读取和处理新数据?,apache-spark,lambda-architecture,Apache Spark,Lambda Architecture,我正在构建一个lambda架构,我对流媒体层进行了编码,现在我正在做批处理层。为此,我使用Spark 2作为批处理程序,使用HDFS作为主数据 为了从HDFS读取数据,我编写了以下代码: SparkSession spark = SparkSession .builder() .appName("JavaWordCount") .master("local")

我正在构建一个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();
SparkSession spark=SparkSession
.builder()
.appName(“JavaWordCount”)
.master(“本地”)
.config(“spark.sql.warehouse.dir”file:///c:/tmp/spark-仓库“)
.getOrCreate();
JavaRDD msg=spark.read().textFile(“HDFS://mypath/*”).JavaRDD();
但是,使用此代码,在运行Spark之后插入HDFS中的新数据不会被读取。我想知道我怎么可能做到这一点


是否只有结构化流媒体的解决方案()或有其他解决方案?

是的,在我看来,Spark 2.x Structure streaming能够做到这一点

我建议您观看2017年Spark峰会上的演示: