1

当我执行具有以下功能的 Scala 应用程序时引发异常myRDD.saveToEs(我还尝试了数据帧中的 saveToEs)。我的 ES 版本是2.3.5. 我正在使用 Spark 1.5.0,所以也许有一种SparkContext我不知道的方法来配置它。

堆栈跟踪如下 -

Exception in thread "main" org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 2.0 failed 1 times, most recent failure: Lost task 0.0 in stage 2.0 (TID 2, localhost): org.apache.spark.util.TaskCompletionListenerException: Found unrecoverable error [127.0.0.1:9200] returned Bad Request(400) - failed to parse [foo_eff_dt];Invalid format: ""; Bailing out..
at org.apache.spark.TaskContextImpl.markTaskCompleted(TaskContextImpl.scala:87)
    at org.apache.spark.scheduler.Task.run(Task.scala:90)
    at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:214)
    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)

命名的字段foo_eff_dt确实有值,在某些情况下没有(即)。我不确定这是否导致异常。

我的 scala 代码片段如下所示:

fooRDD.saveToEs("foo/bar")

请帮助/指导我解决这个问题。

TIA。

4

1 回答 1

0

我认为您正在尝试将 Date 插入 Elastic 并且在 Elastic Date 中可以为空。

{
"format": "strict_date_optional_time||epoch_millis",
"type": "date"
 }

如果您对日期字段没有严格的需求,那么您可以通过将其更改为字符串来轻松解决此问题。

于 2017-05-15T12:38:44.393 回答