Spark(scala)将数据从Elastic search写入mongodb时出错

时间:2019-09-02 03:31:25

标签: dataframe apache-spark elasticsearch

我从Elastic Search到Spark获取数据,然后将数据写入Mongodb但出错!

    [Stage 11:>                                                         (0 + 5) / 5]19/09/01 00:55:59 ERROR NetworkClient: Node [192.168.0.11:9131] failed (java.net.SocketTimeoutException: Read timed out); selected next node [192.168.0.14:9133]
19/09/01 00:55:59 ERROR NetworkClient: Node [192.168.0.11:9131] failed (java.net.SocketTimeoutException: Read timed out); selected next node [192.168.0.14:9133]
19/09/01 00:55:59 ERROR NetworkClient: Node [192.168.0.11:9131] failed (java.net.SocketTimeoutException: Read timed out); selected next node [192.168.0.14:9133]
[Stage 11:===========>                                              (1 + 4) / 5]19/09/01 00:56:59 ERROR NetworkClient: Node [192.168.0.14:9133] failed (java.net.SocketTimeoutException: Read timed out); no other nodes left - aborting...
19/09/01 00:56:59 ERROR NetworkClient: Node [192.168.0.14:9133] failed (java.net.SocketTimeoutException: Read timed out); no other nodes left - aborting...
19/09/01 00:56:59 ERROR NetworkClient: Node [192.168.0.14:9133] failed (java.net.SocketTimeoutException: Read timed out); no other nodes left - aborting...
[Stage 11:===========>                                              (1 + 4) / 5]19/09/01 00:57:59 ERROR NetworkClient: Node [192.168.0.14:9133] failed (java.net.SocketTimeoutException: Read timed out); no other nodes left - aborting...
19/09/01 00:57:59 ERROR NetworkClient: Node [192.168.0.14:9133] failed (java.net.SocketTimeoutException: Read timed out); no other nodes left - aborting...
19/09/01 00:57:59 ERROR TaskContextImpl: Error in TaskCompletionListener
org.elasticsearch.hadoop.rest.EsHadoopNoNodesLeftException: Connection error (check network and/or proxy settings)- all nodes failed; tried [[192.168.0.11:9131, 192.168.0.14:9133]]

这是我的代码:

import org.elasticsearch.spark._
import com.mongodb.spark.{MongoConnector, MongoSpark}
import com.mongodb.spark.config.{ReadConfig, WriteConfig}

val writeConf = WriteConfig(Map("uri" -> "mongodb://192.168.0.9/product-repository.detail_new")
val myQuery="{"query": {"match": {"ProductVersion": "637001900745326835"}}}"
val df = spark.read.format("org.elasticsearch.spark.sql").option("es.read.metadata", "true").option("es.nodes", "192.168.0.14:9133").option("query", myQuery).option("pushdown", "true").load("product-repository.detail")
val result = df.select("_metadata._id","AggregateRating.ratingCount", "Url","CategoryUrl","DetailUrl","ProductVersion","SavedDateTime")
MongoSpark.save(result,writeConf )

救救我!

0 个答案:

没有答案