object SparkApp {
def main(args: Array[String]) {
val conf=new SparkConf().setAppName("Test")
conf.set("es.nodes","127.0.0.1:9200")
// conf.set("es.nodes.discovery", "false")
conf.set("es.index.auto.create", "true")
val sc=new SparkContext(conf)
val numbers = Map("one" -> 1, "two" -> 2,"three"->3)
val airports = Map("OTP" -> "Otopeni", "SFO" -> "San Fran")
sc.makeRDD(Seq(numbers, airports)).saveToEs("spark/docs")
sc.stop()
}
}
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1967)
at org.elasticsearch.hadoop.rest.RestClient.discoverNodes(RestClient.java:109)
at org.elasticsearch.hadoop.rest.InitializationUtils.discoverNodesIfNeeded(InitializationUtils.java:58)
at org.elasticsearch.hadoop.rest.RestService.createWriter(RestService.java:371)
at org.elasticsearch.spark.rdd.EsRDDWriter.write(EsRDDWriter.scala:38)
at org.elasticsearch.spark.rdd.EsSpark$$anonfun$saveToEs$1.apply(EsSpark.scala:68)
at org.elasticsearch.spark.rdd.EsSpark$$anonfun$saveToEs$1.apply(EsSpark.scala:68)
at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:61)
at org.apache.spark.scheduler.Task.run(Task.scala:64)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:203)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/75828.html
標籤:Spark
