Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.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
将JavaPairDStream写入单个HDFS位置_Java_Hadoop_Apache Spark_Spark Streaming - Fatal编程技术网

将JavaPairDStream写入单个HDFS位置

将JavaPairDStream写入单个HDFS位置,java,hadoop,apache-spark,spark-streaming,Java,Hadoop,Apache Spark,Spark Streaming,我正在探索使用Java的Spark流媒体 我下载了Cloudera quick start VM(CDH 5.5),并为Spark streaming编写了Java代码 我已经编写了一个返回JavaPairDStream的程序。当我尝试将输出写入HDFS时,它可以工作,但它正在创建多个文件夹(基于时间戳)。文档中说这就是它的工作原理,但是有没有办法将输出写入HDFS中的同一文件夹/文件?我尝试使用重新分区(1),但没有成功 请参阅下面的代码: if (args.length <

我正在探索使用Java的Spark流媒体

我下载了Cloudera quick start VM(CDH 5.5),并为Spark streaming编写了Java代码

我已经编写了一个返回JavaPairDStream的程序。当我尝试将输出写入HDFS时,它可以工作,但它正在创建多个文件夹(基于时间戳)。文档中说这就是它的工作原理,但是有没有办法将输出写入HDFS中的同一文件夹/文件?我尝试使用重新分区(1),但没有成功

请参阅下面的代码:

      if (args.length < 3) {
      System.err.println("Invalid arguments");
      System.exit(1);
      }

  SparkConf sparkConf = new SparkConf().setMaster("local").setAppName("Product Reco Spark Streaming");
  JavaStreamingContext javaStreamContext = new JavaStreamingContext(sparkConf, new Duration(10000));
  String inputFile = args[0];
  String outputPath = args[1];
  String outputFile = args[2];
  JavaDStream<String> dStream = javaStreamContext.textFileStream(inputFile);
  JavaPairDStream<String, String> finalDStream = fetchProductRecommendation(dStream); // Does some logic to get the final DStream
  finalDStream.print();
  finalDStream.repartition(1).saveAsNewAPIHadoopFiles(outputPath, outputFile, String.class, String.class, TextOutputFormat.class);
  javaStreamContext.start();
  javaStreamContext.awaitTermination();
如果您需要更多信息,请告诉我,因为这是我第一次编写spark流代码

spark-submit --master local /home/cloudera/Spark/JarLib_ProductRecoSparkStream.jar /user/ProductRecomendations/SparkInput/ /user/ProductRecomendations/SparkOutput/ productRecoOutput