2017-09-21 3 views
0

Im essayant d'enregistrer mon stockage de blob d'azur à mon étincelle en streaming, mais obtenir ce code & erreur: -étincelle en continu l'accès blob bleu azur

Code: -

SparkConf sparkConf = new SparkConf().setAppName("JavaNetworkWordCount"); 
     JavaStreamingContext ssc = new JavaStreamingContext(sparkConf, Durations.seconds(1)); 
     ssc.textFileStream("wasb[s]://[email protected]/"); 
     ssc.start(); 
     ssc.awaitTermination(); 

Je ne sais pas ce qui devrait être dans le chemin de lien WASB

https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-hadoop-use-blob-storage#address-files-in-azure-storage

Le lien dit que je devrais donner un chemin, mais mon conteneur n'a pas de chemin. Les images sont directement stockées dans le conteneur.

Erreur: -

java.lang.IllegalArgumentException: requirement failed: No output operations registered, so nothing to execute 
    at scala.Predef$.require(Predef.scala:224) 
    at org.apache.spark.streaming.DStreamGraph.validate(DStreamGraph.scala:163) 
    at org.apache.spark.streaming.StreamingContext.validate(StreamingContext.scala:513) 
    at org.apache.spark.streaming.StreamingContext.liftedTree1$1(StreamingContext.scala:573) 
    at org.apache.spark.streaming.StreamingContext.start(StreamingContext.scala:572) 
    at org.apache.spark.streaming.api.java.JavaStreamingContext.start(JavaStreamingContext.scala:554) 
    at org.bnr.process_panos.JavaNetworkWordCount.main(JavaNetworkWordCount.java:43) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:736) 
    at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:185) 
    at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:210) 
    at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:124) 
    at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) 

Répondre

0

Vous pouvez utiliser un chemin relatif ou un chemin absolu. Par exemple, le fichier Hadoop MapReduce-examples.jar qui vient avec des grappes HDInsight peut être appelé en utilisant l'un des éléments suivants:

Example1: wasb: //[email protected] net/exemple/pots/Hadoop MapReduce-examples.jar

Example2: wasb: ///example/jars/hadoop-mapreduce-examples.jar

Example3:/exemple/pots/hadoop-mapreduce-examples.jar

Le message d'erreur suivant s'affiche sans opérateur de sortie sur DStream aucun calcul n'est appelé. Vous devrez invoquer l'une des méthodes ci-dessous dans le flux.

print()

foreachRDD (Func)

saveAsObjectFiles (préfixe [suffixe])

saveAsTextFiles (préfixe [suffixe])

saveAsHadoopFiles (pref ix, [suffixe])

Pour plus de détails, reportez-vous à "http://spark.apache.org/docs/latest/streaming-programming-guide.html#output-operations".

+0

Je ne peux utiliser que dans le cluster hdinsight ou puis-je utiliser le lien de stockage en dehors du cluster Insight? – user1050619