/ / एलिजाबेथ-हडॉप में जॉन्स एचडीआरडीएस का उपयोग कर इंडेक्स JSON में अनुक्रमणित करने में असमर्थ।

Elasticsearch-hadoop - json, scala, elasticsearch, apache-spark, apache-spark-sql में SchemaRDD.saveToES () का उपयोग करके JSFS से JSON को अनुक्रमणित करने में असमर्थ

स्पार्क / स्काला में यह मेरा पहला वास्तविक प्रयास है, इसलिए कोमल बनो।

मेरे पास एक फाइल है जिसे टेस्ट कहा जाता है।HDF पर json कि मैं स्पार्क का उपयोग करके पढ़ने और अनुक्रमणिका बनाने की कोशिश कर रहा हूं। मैं SQLContext.jsonFile () के माध्यम से फाइल को पढ़ने में सक्षम हूं, लेकिन जब मैं स्कीमाआरडीडी.सैवे टॉयस () का उपयोग करने का प्रयास करता हूं, तो मुझे एक अमान्य JSON टुकड़ा प्राप्त त्रुटि मिली। मैं सोच रहा हूँ कि saveToES () फंक्शन isn "t वास्तव में json में आउटपुट स्वरूपण नहीं कर रहा है और इसके बजाय सिर्फ RDD का मान फ़ील्ड भेज रहा है।

मैं क्या गलत कर रहा हूं?

स्पार्क 1.2.0

इलास्टिसर्च-हडॉप 2.1.0.BUILD-20150217

test.json:

{"key":"value"}

चिंगारी-खोल:

import org.apache.spark.SparkContext._
import org.elasticsearch.spark._

val sqlContext = new org.apache.spark.sql.SQLContext(sc)
import sqlContext._

val input = sqlContext.jsonFile("hdfs://nameservice1/user/mshirley/test.json")
input.saveToEs("mshirley_spark_test/test")

त्रुटि:

<snip>
org.elasticsearch.hadoop.rest.EsHadoopInvalidRequest: Found unrecoverable error [Bad Request(400) - Invalid JSON fragment received[["value"]][MapperParsingException[failed to parse]; nested: ElasticsearchParseException[Failed to derive xcontent from (offset=13, length=9): [123, 34, 105, 110, 100, 101, 120, 34, 58, 123, 125, 125, 10, 91, 34, 118, 97, 108, 117, 101, 34, 93, 10]]; ]]; Bailing out..
<snip>

इनपुट:

res2: org.apache.spark.sql.SchemaRDD =
SchemaRDD[6] at RDD at SchemaRDD.scala:108
== Query Plan ==
== Physical Plan ==
PhysicalRDD [key#0], MappedRDD[5] at map at JsonRDD.scala:47

input.printSchema ():

root
|-- key: string (nullable = true)

उत्तर:

जवाब के लिए 2 № 1

https://github.com/elastic/elasticsearch-hadoop/issues/382

बदला हुआ:

import org.elasticsearch.spark._

सेवा मेरे:

import org.elasticsearch.spark.sql._